/* JET home page: styles moved unchanged from the static demo (index.html). */
    :root {
      --ink: var(--jet-ink);
      --muted: var(--jet-text-muted);
      --paper: var(--jet-paper);
      --red: var(--jet-red);
      --gutter: 32px;
      --ease: cubic-bezier(.16, 1, .3, 1);
      --surface-dark-primary: var(--jet-surface-dark);
      --surface-dark-secondary: var(--jet-surface-dark-secondary);
      --surface-light-primary: var(--jet-white);
      --text-on-dark-primary: var(--jet-white);
      --text-on-dark-tertiary: var(--jet-text-on-dark-muted);
      --text-on-light-primary: var(--jet-surface-dark);
      --border-on-dark-tertiary: var(--jet-line-dark);
      --border-state-focus: var(--jet-red);
      --space-16: 16px;
      --space-24: 24px;
      --space-32: 32px;
      --space-40: 40px;
      --page-margin: 20px;
    }

    * { box-sizing: border-box; }
    html, body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); font-family: var(--jet-font-family); -webkit-font-smoothing: antialiased; }
    a { color: inherit; text-decoration: none; }
    .mobile-lock { display:none; }

    .preloader-enabled { overflow: hidden; }
    .site-preloader {
      position: fixed;
      z-index: 9999;
      inset: 0;
      display: none;
      place-items: center;
      overflow: hidden;
      background: transparent;
      color: var(--ink);
      isolation: isolate;
      will-change: opacity;
    }
    .preloader-enabled .site-preloader { display: grid; }
    .site-preloader__paper {
      position: absolute;
      z-index: 0;
      inset: 0;
      background: var(--paper);
      will-change: opacity;
    }
    .site-preloader__brand {
      position: relative;
      z-index: 1;
      display: flex;
      max-width: calc(100vw - 40px);
      align-items: baseline;
      justify-content: center;
      gap: 1.05em;
      visibility: hidden;
      opacity: 0;
      font-size: clamp(17px, 1.7vw, 25px);
      font-weight: 500;
      line-height: 1;
      letter-spacing: -.075em;
      white-space: nowrap;
      will-change: transform, opacity, color;
    }
    .site-preloader__word {
      display: inline-flex;
      align-items: baseline;
      will-change: transform;
    }
    .site-preloader__initial { display: inline-block; }
    .site-preloader__suffix {
      display: inline-block;
      width: 0;
      overflow: hidden;
      opacity: 0;
      will-change: clip-path, transform, opacity;
    }

    .hero {
      position: relative;
      height: calc(100svh / var(--jet-zoom, 1));
      min-height: 680px;
      overflow: hidden;
      background:
        linear-gradient(180deg, rgba(4, 14, 20, .28) 0%, rgba(4, 14, 20, .06) 34%, rgba(4, 14, 20, .7) 100%),
        var(--jet-bg, url("../images/optimized/home-hero-lossless.webp")) center 50%/cover no-repeat;
      color: #fff;
    }

    .planes { display: none; position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
    .plane { position: absolute; top: -15%; height: 56%; background: rgba(255,255,255,.31); transform: skewY(18deg); transform-origin: top left; box-shadow: 0 0 70px rgba(103, 151, 205, .06); }
    .plane:nth-child(1) { left: -4%; width: 14%; }
    .plane:nth-child(2) { left: 13%; width: 11%; height: 67%; background: rgba(255,255,255,.23); }
    .plane:nth-child(3) { left: 27%; width: 16%; height: 52%; background: rgba(230,229,255,.26); }
    .plane:nth-child(4) { left: 46%; width: 14%; height: 61%; background: rgba(230,235,255,.24); }
    .plane:nth-child(5) { left: 63%; width: 16%; height: 69%; background: rgba(235,248,255,.28); }
    .plane:nth-child(6) { left: 82%; width: 13%; height: 45%; background: rgba(230,248,255,.23); }
    .plane:nth-child(7) { left: 96%; width: 16%; height: 57%; background: rgba(255,255,255,.22); }

    .topbar {
      position: relative;
      z-index: 2;
      height: 96px;
      display: grid;
      grid-template-columns: 210px 1fr 210px;
      align-items: start;
      padding: 24px var(--gutter) 0;
    }
    .logo { display: block; width: 104px; height: auto; }
    .nav { display: flex; justify-content: center; gap: 38px; padding-top: 15px; }
    .nav a { position: relative; font-size: 13px; line-height: 1; }
    .nav a::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform .35s var(--ease); }
    .nav a:hover::after { transform: scaleX(1); transform-origin: left; }
    .header-cta { justify-self: end; min-width: 144px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.94); color: var(--ink); font-size: 13px; transition: background .3s var(--ease), color .3s var(--ease); }
    .header-cta:hover { background: var(--red); }
    .menu { display: none; justify-self: end; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: 13px; }

.latest {
  position: absolute;
  z-index: 2;
  right: var(--gutter);
  bottom: 52px; /* aligned with the bottom row of the hero (text and button) */
  width: 336px;
  min-height: 106px;
  display: grid;
  grid-template-columns: 106px 1fr;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 16px 46px rgba(0,0,0,.12);
  backdrop-filter: blur(18px) saturate(.82);
  -webkit-backdrop-filter: blur(18px) saturate(.82);
  transition: background .3s var(--ease), transform .35s var(--ease);
}
.latest:hover { background: #fff; transform: translateY(-3px); }
.latest__image { position: relative; overflow: hidden; min-height: 110px; background: #dce8ee; }
.latest__image::after { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 72%, rgba(255,255,255,.08)); content: ""; pointer-events: none; }
.latest__image img { position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); object-fit: cover; transition: transform .6s var(--ease); }
.latest:hover .latest__image img { transform: scale(1.035); }
.latest__body { display: flex; flex-direction: column; padding: 13px 14px 12px 15px; background:transparent; }
.latest__eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--muted); font-size: 10px; line-height: 1; letter-spacing: .085em; text-transform: uppercase; }
.latest__eyebrow span { margin-right: auto; }
.latest__arrow {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  overflow: hidden;
  color: transparent;
  font-size: 0;
  background: currentColor;
  color: #090a0a;
  -webkit-mask: var(--jet-arrow) center/contain no-repeat;
  mask: var(--jet-arrow) center/contain no-repeat;
  transition: transform .3s var(--ease);
}
.latest:hover .latest__arrow { transform: translateX(5px); }
.latest__title { max-width: 195px; margin: auto 0 0; color: var(--ink); font-size: 14px; font-weight: 400; line-height: 1.14; letter-spacing: -.028em; }

    .content {
      position: absolute;
      z-index: 1;
      right: var(--gutter);
      bottom: 0;
      left: var(--gutter);
    }
    .headline { max-width: 790px; margin: 0; color:#fff; font-size: clamp(64px, 5.65vw, 82px); font-weight: 400; line-height: .99; letter-spacing: -.062em; }
    .headline__line { display: block; overflow: hidden; padding-bottom: .2em; margin-bottom: -.2em; }
    .headline__line-inner { display: block; will-change: transform; }
    .meta {
      display: grid;
      grid-template-columns: 430px 1fr 360px;
      align-items: end;
      gap: 28px;
      margin-top: 52px;
      padding-bottom: 52px;
    }
    .support { max-width: 410px; margin: 0; color: rgba(255,255,255,.76); font-size: 14px; line-height: 1.48; }
    .discover { display: inline-flex; width: max-content; align-items: center; gap: 22px; font-size: 14px; }
    .discover .arrow { display: inline-grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; color: #fff; transition: color .24s var(--ease), transform .3s var(--ease); }
    .discover .arrow svg { width: 29px; height: 29px; overflow: visible; }
    .discover .arrow path { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: square; stroke-linejoin: miter; transition: transform .3s var(--ease); }
    .discover:hover .arrow { color: var(--red); transform: translateX(5px); }
    .discover:hover .arrow path { transform: translateX(1px); }
    .services { justify-self: end; max-width: 340px; margin: 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.55; text-align: right; }
    .services strong { display: block; margin-bottom: 4px; color: #fff; font-weight: 500; }

    .trusted { width: 100%; overflow: hidden; padding: 0; background: #fff; color: #090a0a; }
    .trusted__label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
    .trusted__marquee { --logo-row-h: clamp(20px, calc(1.1vw + 14px), 34px); position: relative; width: 100%; height: calc(var(--logo-row-h) * 1.9667 + 24px); overflow: hidden; border-bottom: 0; }
    .trusted__track { --logo-copies: 3; display: flex; align-items: center; width: max-content; height: 100%; }
    .trusted__set { display: flex; flex: none; align-items: center; height: 100%; }
    .trusted__cell { display: flex; flex: none; align-items: center; justify-content: center; width: clamp(110px, 11vw, 200px); height: 100%; padding: 0 16px; }
    .trusted__cell img { display: block; width: auto; height: calc(var(--logo-row-h) * var(--logo-h, 20) / 30); max-width: 82%; object-fit: contain; filter: grayscale(1) brightness(0); opacity: 1; transition: opacity .25s ease; }
    .trusted__cell:hover img { opacity: .7; }
    @media (prefers-reduced-motion: no-preference) { .trusted__track { animation: trusted-marquee 60s linear infinite; } }
    @keyframes trusted-marquee { to { transform: translateX(calc(-100% / var(--logo-copies))); } }

    .about-jet { display:flex; width:100%; padding:200px 40px 48px; flex-direction:column; align-items:center; justify-content:center; gap:48px; overflow:hidden; background:#fff; color:#202223; text-align:center; }
    .about-jet__top { display:flex; flex-direction:column; align-items:center; gap:24px; }
    .about-jet__eyebrow { display:inline-flex; padding:.25rem .75rem; align-items:center; justify-content:center; margin:0; opacity:0; border:1px solid #d2d6d8; border-radius:4px; background:#fff; color:#202223; font-size:.75rem; font-weight:550; font-feature-settings:"ss07" 1; line-height:1.125rem; text-transform:uppercase; white-space:nowrap; }
    .about-jet__eyebrow-viewport { display:inline-block; height:1lh; overflow:hidden; }
    .about-jet__eyebrow-track { display:flex; flex-direction:column; align-items:center; }
    .about-jet__eyebrow-word, .about-jet__eyebrow-suffix { white-space:nowrap; }
    .about-jet__eyebrow-word { color:inherit; }
    .about-jet__headline { max-width:max(750px,73vw); margin:0; opacity:0; color:#202223; font-size:max(52px,3.611vw); font-weight:400; font-feature-settings:"ss07"; line-height:1.0577; letter-spacing:-.03em; text-align:center; word-break:break-word; text-wrap:wrap; }
    .about-jet__accent { color:#9ba1a4; }
    .about-jet__line-mask { display:block; position:relative; overflow:clip; padding-bottom:.2em; margin-bottom:-.2em; padding-right:.1em; margin-right:-.1em; padding-left:.1em; margin-left:-.1em; }
    .about-jet__line { display:block; position:relative; will-change:transform; }
    .about-jet__word { display:inline; }
    .about-jet__cta { display:inline-flex; min-height:56px; padding:16px 24px; align-items:center; justify-content:center; opacity:0; border:1px solid #d2d6d8; border-radius:100px; color:#202223; font-size:16px; line-height:24px; letter-spacing:-.02em; transition:color .25s ease,background-color .25s ease,border-color .25s ease; }
    .about-jet__cta:hover { border-color:var(--red); background:var(--red); color:#fff; }

    .capabilities { width:100%; overflow:hidden; border-top:1px solid var(--border-on-dark-tertiary); background:var(--surface-dark-primary); color:var(--text-on-dark-primary); }
    .capabilities__intro { display:flex; width:100%; padding:var(--space-40) var(--page-margin); flex-direction:column; }
    .capabilities__eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 120px; color:#b8bdc0; font-size:12px; font-weight:550; line-height:18px; letter-spacing:.5px; text-transform:uppercase; }
    .capabilities__eyebrow::before { width:6px; height:6px; flex:0 0 6px; background:var(--red); content:""; }
    .capabilities__header { display:flex; width:100%; flex-direction:column; gap:24px; }
    .capabilities__title { margin:0; color:#fff; font-size:32px; font-weight:450; line-height:38px; letter-spacing:-.03em; word-break:break-word; }
    .capabilities__overview { margin:0; color:#8d969b; font-size:16px; line-height:22px; letter-spacing:-.02em; }
    .capabilities__overview strong { color:#fff; font-weight:500; }
    .capabilities__list { display:flex; width:100%; flex-direction:column; }
    .capability { --icon-stroke:#70787c; position:relative; isolation:isolate; overflow:clip; background:var(--surface-dark-primary); color:var(--text-on-dark-tertiary); transition:background-color .45s var(--ease),color .45s var(--ease); }
    .capability::before { position:absolute; top:0; right:var(--page-margin); left:var(--page-margin); height:1px; background:var(--border-on-dark-tertiary); content:""; transition:background-color .45s var(--ease),transform .65s var(--ease); transform-origin:left; }
    .capability:last-child::after { position:absolute; right:var(--page-margin); bottom:0; left:var(--page-margin); height:1px; background:var(--border-on-dark-tertiary); content:""; }
    .capability h3 { margin:0; font:inherit; }
    .capability:hover { color:#fff; }
    .capability:hover::before { background:#596166; transform:scaleX(.985); }
    .capability[data-state="open"] { --icon-stroke:#25292b; background:#f2f1ed; color:var(--text-on-light-primary); }
    .capability__trigger { display:flex; width:100%; padding:var(--space-32) var(--page-margin); align-items:center; gap:var(--space-16); border:0; margin:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
    .capability__trigger:focus { outline:none; }
    .capability__trigger:focus-visible { outline:2px solid var(--border-state-focus); outline-offset:-2px; }
    .capability__icon { width:28px; height:28px; flex-shrink:0; overflow:visible; color:currentColor; transition:opacity .45s var(--ease); }
    .capability__icon path, .capability__icon line, .capability__icon rect, .capability__icon circle { stroke:var(--icon-stroke,currentColor); transition:stroke .45s var(--ease),fill .45s var(--ease); }
    .capability__icon .capability__icon-accent { fill:#e5231f; stroke:none; }
    .capability:hover .capability__icon { opacity:1; }
    .capability__name { min-width:0; flex:1 0 0; font-size:22px; font-weight:450; line-height:28px; letter-spacing:-.035em; word-break:break-word; transition:transform .55s var(--ease); }
    .capability:hover .capability__name { transform:translateX(6px); }
    .capability[data-state="open"] .capability__name { transform:none; }
    .capability__toggle { position:relative; width:24px; height:24px; flex-shrink:0; color:currentColor; transition:color .3s var(--ease); }
    .capability:hover .capability__toggle { color:var(--red); }
    .capability__toggle-arrow { position:absolute; inset:0; display:inline-flex; align-items:center; justify-content:center; transform:rotate(-45deg); transition:transform .55s var(--ease); }
    .capability__toggle-arrow svg { width:100%; height:100%; }
    .capability[data-state="open"] .capability__toggle-arrow { transform:rotate(45deg); }
    .capability__panel { display:grid; visibility:hidden; grid-template-rows:0fr; transition:grid-template-rows .4s var(--ease),visibility .4s allow-discrete; }
    .capability[data-state="open"] .capability__panel { visibility:visible; grid-template-rows:1fr; }
    .capability__panel-inner { min-height:0; overflow:hidden; }
    .capability__panel-body { position:relative; display:flex; padding:var(--space-16) var(--page-margin) 72px; flex-direction:column; gap:var(--space-24); }
    .capability__content { display:flex; min-width:0; flex-direction:column; gap:var(--space-24); }
    .capability__description { max-width:min(664px,100%); margin:0; color:#090a0a; font-size:16px; font-weight:500; line-height:22px; letter-spacing:-.02em; }
    .capability__link { align-self:flex-start; padding-bottom:1px; border-bottom:1px solid currentColor; color:#4e5a61; font-size:14px; line-height:20px; }
    .capability__decoration { z-index:-1; pointer-events:none; width:100%; max-width:456px; height:auto; display:block; position:absolute; right:0; bottom:0; }

    @media (prefers-reduced-motion:reduce) {
      .capability, .capability__panel, .capability__toggle-arrow { transition:none; }
    }

    @media (min-width:64rem) {
      :root { --page-margin:40px; }
      .capabilities__intro { padding:var(--space-40) var(--page-margin); }
      .capabilities__eyebrow { margin-bottom:200px; }
      .capabilities__header { flex-direction:row; align-items:flex-end; justify-content:space-between; }
      .capabilities__title { min-width:0; flex:0 1 auto; font-size:52px; line-height:55px; }
      .capabilities__overview { width:max(395px,30%); flex:0 0 auto; font-size:18px; line-height:24px; }
      .capability { color:#fff; }
      .capability__trigger { gap:var(--space-24); padding:var(--space-40) var(--page-margin); }
      .capability__icon { width:34px; height:34px; }
      .capability__toggle { width:28px; height:28px; }
      .capability__name { font-size:30px; line-height:36px; }
      .capability__panel-body { gap:20px; padding:12px var(--page-margin) 48px; flex-direction:row; }
      .capability__content { margin-left:56px; gap:32px; }
      .capability__description { font-size:18px; line-height:24px; }
      .capability__link { color:#090a0a; }
      .capability__decoration { width:510px; max-width:none; height:299px; right:var(--page-margin); }
    }

    .industry-carousel { position:relative; width:100%; height:calc(100svh / var(--jet-zoom, 1)); min-height:680px; overflow:hidden; background:#090a0a; color:#fff; }
    .industry-carousel__stage { position:absolute; inset:0; overflow:hidden; transform-origin:bottom center; will-change:transform,clip-path,opacity; }
    .industry-carousel__slides { position:absolute; inset:0; z-index:0; overflow:hidden; }
    .industry-carousel__slide { position:absolute; inset:0; overflow:hidden; will-change:clip-path; }
    .industry-carousel__slide:not(:first-child) { clip-path:inset(0 0 100% 0); }
    .industry-carousel__slide img { display:block; width:100%; height:100%; object-fit:cover; will-change:transform; }
    .industry-carousel__slide:nth-child(1) img { object-position:center center; }
    .industry-carousel__slide:nth-child(2) img { object-position:center center; }
    .industry-carousel__slide:nth-child(3) img { object-position:center center; }
    .industry-carousel__slide:nth-child(4) img { object-position:center center; }
    .industry-carousel__stage::after { position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(9,10,10,.26),rgba(9,10,10,.08) 48%,rgba(9,10,10,.42)); pointer-events:none; content:""; }
    .industry-carousel__copy { position:absolute; z-index:2; top:38px; left:20px; max-width:550px; }
    .industry-carousel__title { margin:0; font-size:clamp(44px,3.4vw,50px); font-weight:500; line-height:.98; letter-spacing:-.01em; text-wrap:balance; }
    .industry-carousel__link { display:inline-flex; margin-top:18px; align-items:center; gap:6px; font-size:16px; font-weight:500; line-height:22px; }
    .industry-carousel__link svg { width:12px; height:12px; transition:transform .3s var(--ease); }
    .industry-carousel__link:hover svg { transform:translateX(4px); }
    .industry-carousel__nav { position:absolute; z-index:3; bottom:24px; left:20px; display:flex; gap:22px; }
    .industry-carousel__nav button { display:flex; padding:0; flex-direction:column; align-items:flex-start; gap:10px; border:0; background:transparent; color:#fff; font:inherit; font-size:11px; line-height:14px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
    .industry-carousel__nav-label { opacity:.5; transition:opacity .3s ease; }
    .industry-carousel__nav button:hover .industry-carousel__nav-label,
    .industry-carousel__nav button[aria-current="true"] .industry-carousel__nav-label { opacity:1; }
    .industry-carousel__progress { position:relative; width:100%; min-width:72px; height:1px; overflow:hidden; background:rgba(229,35,31,.38); opacity:0; transition:opacity .3s ease; }
    .industry-carousel__nav button[aria-current="true"] .industry-carousel__progress { opacity:1; }
    .industry-carousel__progress-fill { position:absolute; inset:0; background:var(--red); transform:scaleX(0); transform-origin:left center; }

    .approach-proof { width:100%; padding:80px var(--page-margin) 40px; overflow:hidden; background:#090a0a; color:#f7f7f5; }
    .has-mxm-theme-transition body { background:#fff; }
    .has-mxm-theme-transition .sectors,
    .has-mxm-theme-transition .approach-proof { background:transparent; }
    .approach-proof__eyebrow { display:flex; align-items:center; gap:12px; margin:0; color:#858b8e; font-size:12px; font-weight:550; line-height:18px; letter-spacing:.5px; text-transform:uppercase; }
    .approach-proof__eyebrow::before { width:6px; height:6px; flex:0 0 6px; background:var(--red); content:""; }
    .approach-proof__copy { display:grid; grid-template-columns:minmax(0,1fr) 460px; gap:80px; margin-top:200px; align-items:end; }
    .approach-proof__title { max-width:720px; margin:0; font-size:52px; font-weight:450; line-height:55px; letter-spacing:-.03em; }
    .approach-proof__text { max-width:460px; margin:0; color:#858b8e; font-size:18px; font-weight:400; line-height:24px; letter-spacing:0; }
    .approach-proof__text strong { color:#f7f7f5; font-weight:600; }
    .approach-proof__clients { margin-top:128px; }
    .approach-proof__clients-title { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
    .approach-proof__logos { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-block:1px solid #262a2c; }
    .approach-proof__logo { position:relative; display:flex; min-width:0; height:clamp(128px,9.5vw,168px); align-items:center; justify-content:center; padding:28px; border-left:1px solid #262a2c; background:transparent; }
    .approach-proof__logo::after { position:absolute; right:0; bottom:-1px; left:0; height:2px; background:var(--red); content:""; transform:scaleX(0); transform-origin:left center; transition:transform .4s var(--ease); }
    .approach-proof__logo:hover::after { transform:scaleX(1); }
    .approach-proof__logo:nth-child(5n+1) { border-left:0; }
    .approach-proof__logo:nth-child(n+6) { border-top:1px solid #262a2c; }
    /* The scroll animation tweens borderColor, which turns every side solid at the default 3px: pin the widths. */
    .approach-proof__logos { border-width:1px 0 !important; }
    .approach-proof__logo { border-width:0 0 0 1px !important; }
    .approach-proof__logo:nth-child(5n+1) { border-left-width:0 !important; }
    .approach-proof__logo:nth-child(n+6) { border-top-width:1px !important; }
    .approach-proof__logo img { display:block; width:auto; height:auto; max-width:54%; max-height:34%; object-fit:contain; filter:grayscale(1) brightness(0) invert(1); opacity:.34; transition:filter .35s var(--ease),opacity .35s var(--ease),transform .5s var(--ease); }
    /* Same visual weight for every logo: a fixed area, spread by each logo's width/height ratio (set inline as --logo-r). */
    .approach-proof__logo { --logo-s:clamp(40px,3.5vw,58px); }
    .approach-proof__logo img[style*="--logo-r"] { width:calc(var(--logo-s) * sqrt(var(--logo-r))); max-width:80%; max-height:none; }
    .approach-proof__logo:hover img { filter:grayscale(1) brightness(0) invert(1) !important; opacity:1 !important; transform:scale(1.045); }

    .jet-stats { width:100%; padding:0 var(--page-margin) 128px; overflow:hidden; background:#fff; color:#090a0a; }
    .jet-stats__title { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
    .jet-stats__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); gap:4px; margin:0; padding:0; list-style:none; }
    .jet-stats__item { display:flex; min-width:0; min-height:286px; padding:32px 20px; flex-direction:column; align-items:center; justify-content:center; background:#f5f5f5; text-align:center; }
    .jet-stats__number { display:block; font-size:clamp(44px,3.2vw,62px); font-weight:400; line-height:1; letter-spacing:-.055em; }
    .jet-stats__suffix { color:inherit; }
    .jet-stats__label { max-width:220px; margin:14px 0 0; color:#5d6468; font-size:16px; font-weight:400; line-height:21px; letter-spacing:-.015em; text-wrap:balance; }

    .articles-work { display:flex; width:100%; padding:120px 0; flex-direction:column; gap:40px; overflow:hidden; background:#fff; color:#090a0a; }
    .articles-work__header { display:flex; height:56px; padding:0 var(--page-margin); align-items:center; gap:20px; }
    .articles-work__title { margin:0; font-size:52px; font-weight:450; line-height:55px; letter-spacing:-.03em; }
    .articles-work__controls { display:flex; margin-left:auto; gap:12px; }
    .articles-work__control { display:flex; width:56px; height:56px; padding:0; align-items:center; justify-content:center; border:1px solid #e1e4e5; border-radius:50%; background:#fff; color:#090a0a; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease; }
    .articles-work__control svg { width:24px; height:24px; }
    .articles-work__control:hover { border-color:var(--red); background:var(--red); color:#fff; }
    .articles-work__control:disabled { opacity:.28; cursor:default; }
    .articles-work__control:disabled:hover { border-color:#e1e4e5; background:#fff; color:#090a0a; }
    .articles-work__viewport { width:100%; padding:0 var(--page-margin); overflow-x:auto; overflow-y:hidden; scrollbar-width:none; cursor:grab; touch-action:pan-x pan-y; }
    .articles-work__viewport::-webkit-scrollbar { display:none; }
    .articles-work__viewport.is-dragging { cursor:grabbing; user-select:none; }
    .articles-work__track { display:flex; width:max-content; align-items:flex-start; gap:20px; }
    .article-work-card { display:flex; width:calc((100vw - 148px)/3); min-width:320px; flex:0 0 auto; flex-direction:column; gap:20px; color:#090a0a; scroll-snap-align:start; }
    .article-work-card__media { position:relative; width:100%; aspect-ratio:4/5; overflow:hidden; background:#ebebeb; }
    .article-work-card__media img { display:block; width:100%; height:100%; object-fit:cover; transform:scale(1.012); transition:transform .6s cubic-bezier(.22,1,.36,1),filter .28s ease; }
    .article-work-card__badge { position:absolute; top:0; left:0; z-index:2; padding:4px 8px; background:var(--red); color:#fff; font-size:12px; font-weight:550; line-height:18px; opacity:0; pointer-events:none; transform:translate(-50%,-50%); transition:opacity .16s ease; will-change:transform; }
    .article-work-card__details { display:flex; flex-direction:column; gap:4px; }
    .article-work-card__title { margin:0; font-size:28px; font-weight:450; line-height:34px; letter-spacing:-.02em; }
    .article-work-card__subtitle { margin:0; color:#4e5a61; font-size:18px; line-height:24px; }
    .article-work-card:hover .article-work-card__media img { transform:scale(1.045); }
    .article-work-card:hover .article-work-card__badge { opacity:1; }
    .articles-work__footer { display:flex; height:56px; padding:0 var(--page-margin); }
    .articles-work__all { display:inline-flex; min-height:56px; padding:16px 24px; align-items:center; justify-content:center; background:var(--red); color:#fff; font-size:16px; font-weight:550; line-height:24px; letter-spacing:-.02em; transition:background-color .18s ease; }
    .articles-work__all:hover { background:#c91d1a; }

    .jet-footer { width:100%; overflow:hidden; border-top:1px solid #2d3235; background:#090a0a; color:#fff; }
    .jet-footer__cta { display:flex; min-height:620px; padding:88px var(--page-margin); align-items:center; justify-content:center; border-bottom:1px solid #2d3235; background:#090a0a; color:#fff; text-align:center; }
    .jet-footer__cta-inner { display:flex; width:100%; max-width:1240px; flex-direction:column; align-items:center; }
    .jet-footer__cta-title { max-width:1120px; margin:0; font-size:clamp(58px,5vw,88px); font-weight:450; line-height:.96; letter-spacing:-.05em; text-wrap:balance; }
    .jet-footer__cta-copy { max-width:900px; margin:36px 0 0; color:#8d969b; font-size:20px; font-weight:450; line-height:29px; letter-spacing:-.02em; text-wrap:balance; }
    .jet-footer__cta-button { display:inline-flex; min-height:64px; margin-top:58px; padding:18px 38px; align-items:center; justify-content:center; border-radius:999px; background:#fff; color:#090a0a; font-size:18px; font-weight:550; line-height:26px; transition:background-color .25s ease,color .25s ease,transform .35s var(--ease); }
    .jet-footer__cta-button:hover { background:var(--red); color:#fff; transform:translateY(-2px); }
    .jet-footer__partners { display:grid; min-height:116px; grid-template-columns:minmax(150px,.8fr); grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); border-bottom:1px solid #2d3235; }
    .jet-footer__partners-label, .jet-footer__partner { display:flex; min-width:0; padding:24px var(--page-margin); align-items:center; justify-content:center; border-right:1px solid #2d3235; }
    .jet-footer__partners-label { justify-content:flex-start; color:#8d969b; font-size:12px; font-weight:600; line-height:18px; letter-spacing:.06em; text-transform:uppercase; }
    .jet-footer__partner:last-child { border-right:0; }
    .jet-footer__partner img { display:block; width:auto; height:auto; max-width:170px; max-height:48px; object-fit:contain; filter:grayscale(1) invert(1); mix-blend-mode:screen; opacity:.34; transition:opacity .3s ease,transform .45s var(--ease); }
    .jet-footer__partner:hover img { opacity:.72; transform:scale(1.035); }
    .jet-footer__main { display:grid; min-height:470px; grid-template-columns:minmax(390px,1.4fr) repeat(3,minmax(150px,.5fr)); gap:56px; padding:76px var(--page-margin) 94px; border-bottom:1px solid #2d3235; }
    .jet-footer__brand { display:flex; min-width:0; flex-direction:column; align-items:flex-start; }
    .jet-footer__logo { display:flex; align-items:center; gap:18px; }
    .jet-footer__logo-mark { display:block; width:104px; height:104px; }
    .jet-footer__logo-name { color:#fff; font-size:20px; font-weight:600; line-height:1.45; letter-spacing:-.02em; }
    .jet-footer__statement { max-width:485px; margin:34px 0 0; color:#a1a8ac; font-size:18px; font-weight:450; line-height:27px; letter-spacing:-.02em; }
    .jet-footer__email { position:relative; display:inline-flex; margin-top:28px; padding-bottom:3px; color:#fff; font-size:16px; font-weight:450; line-height:24px; }
    .jet-footer__email::after, .jet-footer__link::after, .jet-footer__legal-link::after { position:absolute; right:0; bottom:0; left:0; height:1px; background:currentColor; content:""; transform:scaleX(0); transform-origin:right; transition:transform .45s var(--ease); }
    .jet-footer__email:hover::after, .jet-footer__link:hover::after, .jet-footer__legal-link:hover::after { transform:scaleX(1); transform-origin:left; }
    .jet-footer__column-title { margin:5px 0 26px; color:#fff; font-size:12px; font-weight:600; line-height:18px; letter-spacing:.02em; text-transform:uppercase; }
    .jet-footer__links { display:flex; margin:0; padding:0; flex-direction:column; gap:17px; list-style:none; }
    .jet-footer__link { position:relative; display:inline-flex; width:max-content; max-width:100%; padding-bottom:2px; color:#a1a8ac; font-size:16px; font-weight:450; line-height:23px; letter-spacing:-.015em; transition:color .25s ease; }
    .jet-footer__link:hover { color:#fff; }
    .jet-footer__offices { display:flex; flex-direction:column; gap:28px; }
    .jet-footer__office { color:#a1a8ac; font-size:15px; font-style:normal; font-weight:450; line-height:23px; letter-spacing:-.015em; }
    .jet-footer__office strong { display:block; margin-bottom:5px; color:#fff; font-weight:550; }
    .jet-footer__legal { min-height:78px; display:grid; grid-template-columns:1fr auto auto; gap:40px; padding:0 var(--page-margin); align-items:center; color:#7d8589; font-size:13px; font-weight:450; line-height:20px; }
    .jet-footer__legal-nav { display:flex; gap:30px; }
    .jet-footer__legal-link { position:relative; padding-bottom:2px; }
    .jet-footer__linkedin { display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; color:#a1a8ac; transition:color .25s ease; }
    .jet-footer__linkedin:hover { color:#fff; }
    .jet-footer__linkedin svg { width:21px; height:21px; fill:currentColor; }

    .sectors { width:100%; overflow:hidden; padding:48px var(--page-margin) 120px; background:#fff; color:#090a0a; }
    .sectors__intro { display:block; }
    .sectors__eyebrow { display:flex; align-items:center; gap:16px; margin:0; color:#676d70; font-size:12px; font-weight:600; line-height:18px; letter-spacing:.04em; text-transform:uppercase; }
    .sectors__eyebrow::before { width:6px; height:6px; flex:0 0 6px; background:var(--red); content:""; }
    .sectors__title { margin:0; font-size:clamp(54px,4.1vw,78px); font-weight:450; line-height:.98; letter-spacing:-.045em; }
    .sectors__lead { max-width:390px; margin:28px 0 0; color:#676d70; font-size:17px; font-weight:450; line-height:24px; letter-spacing:-.02em; }
    .sectors__lead strong { color:#090a0a; font-weight:550; }
    .sector-explorer { display:grid; margin-top:72px; grid-template-columns:minmax(320px,420px) minmax(0,1fr); gap:clamp(56px,7vw,136px); }
    .sector-explorer__sidebar { min-width:0; }
    .sector-explorer__tabs { margin-top:56px; }
    .sector-explorer__tab { position:relative; display:flex; width:100%; min-height:58px; align-items:center; justify-content:space-between; gap:24px; padding:0; border:0; border-bottom:1px solid #dadddf; background:transparent; color:#b9bec1; font:inherit; font-size:21px; font-weight:450; line-height:28px; letter-spacing:-.025em; text-align:left; cursor:pointer; transition:color .3s ease; }
    .sector-explorer__tab:first-child { border-top:1px solid #dadddf; }
    .sector-explorer__tab::after { width:0; height:1px; flex:0 0 auto; background:currentColor; content:""; transition:width .45s var(--ease); }
    .sector-explorer__tab:hover { color:#676d70; }
    .sector-explorer__tab[aria-selected="true"] { color:#090a0a; }
    .sector-explorer__tab[aria-selected="true"]::after { width:22px; background:var(--red); }
    .sector-explorer__panel { min-width:0; }
    .sector-explorer__media { position:relative; width:100%; aspect-ratio:2.08/1; overflow:hidden; border-radius:0; background:#eef0f1; }
    .sector-explorer__media img { display:block; width:100%; height:100%; object-fit:cover; will-change:opacity,transform; }
    .sector-explorer__content { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.92fr); gap:32px; padding-top:28px; }
    .sector-explorer__title { margin:0; font-size:34px; font-weight:500; line-height:38px; letter-spacing:-.04em; }
    .sector-explorer__description { max-width:610px; margin:0; color:#676d70; font-size:16px; font-weight:450; line-height:24px; letter-spacing:-.015em; }
    .sector-explorer__link { display:inline-flex; width:max-content; margin-top:28px; align-items:center; gap:12px; color:#090a0a; font-size:14px; font-weight:550; line-height:20px; }
    .sector-explorer__link::after { width:18px; height:18px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6' stroke='%23090a0a' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat; content:""; transition:transform .45s var(--ease); }
    .sector-explorer__link:hover::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6' stroke='%23e5231f' stroke-width='1.5'/%3E%3C/svg%3E"); transform:translateX(5px); }

    .sector-cta { position:relative; width:calc(100% - (var(--page-margin) * 2)); min-height:520px; margin:0 var(--page-margin); overflow:hidden; background:
      linear-gradient(90deg,rgba(0,0,0,.16),transparent 58%),
      url("../images/optimized/home-cta-lossless.webp") center/cover no-repeat;
      color:#fff; isolation:isolate; }
    .sector-cta::after { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 48%,rgba(0,0,0,.14)); content:""; pointer-events:none; }
    .sector-cta__pattern { position:absolute; z-index:-1; inset:0; overflow:hidden; }
    .sector-cta__bar { display:none; }
    .sector-cta__pattern::after { display:none; content:""; }
    .sector-cta__content { position:relative; z-index:1; display:flex; min-height:520px; padding:30px 28px 54px; flex-direction:column; align-items:flex-start; justify-content:space-between; }
    .sector-cta__title { max-width:760px; margin:0; font-size:clamp(48px,4.25vw,78px); font-weight:500; line-height:.94; letter-spacing:-.055em; text-wrap:balance; }
    .sector-cta__title span { display:inline; }
    .sector-cta__title-muted { color:rgba(255,255,255,.47); }
    .sector-cta__footer { display:flex; align-items:flex-start; flex-direction:column; gap:18px; }
    .sector-cta__description { max-width:325px; margin:0; color:rgba(255,255,255,.88); font-size:12px; font-weight:550; line-height:1.28; letter-spacing:-.015em; text-wrap:balance; }
    .sector-cta__link { display:inline-flex; min-width:148px; min-height:48px; padding:12px 18px; align-items:center; justify-content:space-between; gap:28px; border:1px solid rgba(255,255,255,.72); border-radius:100px; color:#fff; font-size:13px; font-weight:550; line-height:20px; transition:background-color .25s ease,color .25s ease,transform .35s var(--ease); }
    .sector-cta__link svg { width:20px; height:20px; transition:transform .4s var(--ease); }
    .sector-cta__link:hover { background:#fff; color:#090a0a; transform:translateY(-2px); }
    .sector-cta__link:hover svg { transform:translateX(5px); }

    @media (max-width:63.99rem) {
      .sectors { padding:32px var(--page-margin) 80px; }
      .sectors__title { font-size:42px; line-height:1; }
      .sectors__lead { max-width:560px; margin-top:22px; font-size:17px; line-height:24px; }
      .sector-explorer { margin-top:48px; grid-template-columns:1fr; gap:32px; }
      .sector-explorer__tabs { display:flex; width:calc(100% + (var(--page-margin) * 2)); margin-top:36px; margin-left:calc(var(--page-margin) * -1); padding:0 var(--page-margin); gap:28px; overflow-x:auto; scrollbar-width:none; }
      .sector-explorer__tabs::-webkit-scrollbar { display:none; }
      .sector-explorer__tab { width:auto; min-height:48px; flex:0 0 auto; border:0; font-size:16px; line-height:22px; white-space:nowrap; }
      .sector-explorer__tab:first-child { border-top:0; }
      .sector-explorer__tab::after { position:absolute; right:0; bottom:0; left:0; width:100%; height:2px; transform:scaleX(0); transform-origin:right; transition:transform .4s var(--ease); }
      .sector-explorer__tab[aria-selected="true"]::after { width:100%; transform:scaleX(1); transform-origin:left; }
      .sector-explorer__media { aspect-ratio:4/3; border-radius:0; }
      .sector-explorer__content { grid-template-columns:1fr; gap:12px; padding-top:22px; }
      .sector-explorer__title { font-size:30px; line-height:34px; }
      .sector-explorer__description { font-size:15px; line-height:22px; }
      .sector-explorer__link { margin-top:20px; }
      .sector-cta { min-height:500px; }
      .sector-cta__content { min-height:500px; padding:24px 20px 52px; }
      .sector-cta__title { max-width:560px; font-size:clamp(42px,11vw,58px); line-height:.96; }
      .sector-cta__footer { align-items:flex-start; flex-direction:column; gap:22px; }
      .sector-cta__description { max-width:300px; font-size:12px; }
      .sector-cta__link { min-width:148px; min-height:48px; padding:12px 18px; }
    }

    .gradient-bridge { position:relative; width:100%; height:calc(72svh / var(--jet-zoom, 1)); min-height:560px; background:#080808; color:#f8f8f8; }
    .gradient-bridge__content { position:sticky; top:0; z-index:1; display:flex; width:100%; height:calc(72svh / var(--jet-zoom, 1)); min-height:560px; align-items:center; justify-content:center; overflow:hidden; }
    .gradient-bridge__heading-wrap { position:relative; z-index:1; max-width:calc(100% - 40px); }
    .gradient-bridge__heading { margin:0; font-size:clamp(48px,4.33vw,86.4px); font-weight:600; line-height:.96; letter-spacing:-.015em; text-align:center; text-rendering:geometricPrecision; }
    .gradient-bridge__heading--light { position:relative; z-index:2; color:#f8f8f8; }
    .gradient-bridge__heading--dark { position:absolute; z-index:1; top:0; left:0; width:100%; color:#080808; pointer-events:none; }
    .gradient-bridge__word { display:inline-block; will-change:opacity; }
    .gradient-bridge__canvas-wrap { position:absolute; top:0; left:0; width:100%; height:300%; pointer-events:none; }
    .gradient-bridge__canvas { display:block; width:100%; height:100%; }

    @media (min-width:48.01rem) {
      .gradient-bridge__heading { white-space:nowrap; }
    }

    @media (max-width:48rem) {
      .gradient-bridge { min-height:520px; }
      .gradient-bridge__content { min-height:520px; padding:32px; }
      .gradient-bridge__heading-wrap { width:100%; max-width:none; }
      .gradient-bridge__heading { font-size:clamp(31px,9vw,42px); line-height:.98; letter-spacing:0; }
    }

    @media (prefers-reduced-motion:reduce) {
      .gradient-bridge { min-height:520px; }
    }

    @media (min-width:801px) {
      .industry-carousel__copy { max-width:720px; }
      .industry-carousel__title { font-size:52px; font-weight:450; line-height:55px; letter-spacing:-.045em; }
    }

    a:focus-visible, button:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
    @media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

    @media (max-width: 800px) {
      :root { --gutter: 20px; }
      .hero { height: auto; min-height: calc(100svh / var(--jet-zoom, 1)); background:linear-gradient(180deg,rgba(4,14,20,.32) 0%,rgba(4,14,20,.06) 30%,rgba(4,14,20,.78) 100%),var(--jet-bg, url("../images/optimized/home-hero-lossless.webp")) center/cover no-repeat; }
      .plane { top: -7%; height: 46%; transform: skewY(24deg); }
      .plane:nth-child(1) { left: -13%; width: 30%; }
      .plane:nth-child(2) { left: 22%; width: 24%; height: 54%; }
      .plane:nth-child(3) { left: 53%; width: 29%; height: 44%; }
      .plane:nth-child(4) { left: 86%; width: 26%; height: 54%; }
      .plane:nth-child(n+5) { display: none; }
      .topbar { height: 78px; grid-template-columns: 1fr auto; padding-top: 18px; }
      .logo { width: 90px; }
      .nav, .header-cta { display: none; }
      .menu { display: block; grid-column: 2; grid-row: 1; padding-top: 9px; }
      .latest { top: 136px; right: 20px; bottom: auto; left: auto; width: calc(100% - 40px); max-width: 318px; min-height: 98px; margin-left: 0; grid-template-columns: 98px minmax(0,1fr); }
      .latest__image { min-height: 96px; }
      .latest__body { padding: 10px 12px 9px; }
      .latest__title { max-width: 190px; font-size: 13px; }
      .content { bottom: 24px; }
      .headline { max-width: 355px; font-size: clamp(48px, 14.3vw, 58px); line-height: 1; }
      .meta { grid-template-columns: 1fr; gap: 24px; margin-top: 34px; padding-bottom: 26px; }
      .support { max-width: 345px; font-size: 13px; }
      .services { justify-self: start; max-width: 300px; text-align: left; }
      .trusted__marquee { --logo-row-h: 30px; }
      .about-jet { padding:96px var(--gutter) 48px; gap:32px; }
      .about-jet__top { gap:24px; }
      .about-jet__headline { max-width:100vw; font-size:32px; line-height:38px; text-wrap:balance; }
      .about-jet__cta { min-height:52px; padding:14px 22px; font-size:15px; }
      .industry-carousel { min-height:620px; }
      .industry-carousel__slide:nth-child(1) img { object-position:58% center; }
      .industry-carousel__slide:nth-child(2) img { object-position:center center; }
      .industry-carousel__slide:nth-child(3) img { object-position:56% center; }
      .industry-carousel__slide:nth-child(4) img { object-position:center center; }
      .industry-carousel__copy { top:24px; max-width:300px; }
      .industry-carousel__title { font-size:35px; line-height:.98; letter-spacing:0; }
      .industry-carousel__link { margin-top:14px; font-size:15px; }
      .industry-carousel__nav { right:var(--page-margin); bottom:20px; gap:0; justify-content:space-between; }
      .industry-carousel__nav button { font-size:9px; letter-spacing:.03em; }
      .industry-carousel__progress { min-width:0; width:100%; }
      .approach-proof { padding:64px var(--page-margin) var(--page-margin); }
      .approach-proof__copy { grid-template-columns:1fr; gap:32px; margin-top:112px; }
      .approach-proof__title { max-width:620px; font-size:38px; line-height:42px; }
      .approach-proof__text { max-width:620px; font-size:17px; line-height:24px; }
      .approach-proof__clients { margin-top:72px; }
      .approach-proof__logos { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .approach-proof__logo { height:112px; padding:20px; }
      .approach-proof__logo:nth-child(5n+1) { border-left:1px solid #262a2c; }
      .approach-proof__logo:nth-child(n+6) { border-top:0; }
      .approach-proof__logo:nth-child(2n+1) { border-left:0; }
      .approach-proof__logo:nth-child(n+3) { border-top:1px solid #262a2c; }
      .approach-proof__logo:nth-child(5n+1) { border-left-width:1px !important; }
      .approach-proof__logo:nth-child(n+6) { border-top-width:0 !important; }
      .approach-proof__logo:nth-child(2n+1) { border-left-width:0 !important; }
      .approach-proof__logo:nth-child(n+3) { border-top-width:1px !important; }
      .approach-proof__logo img { max-width:62%; max-height:38%; }
      .jet-stats { padding:0 0 88px; }
      .jet-stats__grid { display:flex; padding:0 var(--page-margin); gap:4px; overflow-x:auto; overflow-y:hidden; scroll-padding-left:var(--page-margin); scroll-snap-type:x mandatory; scrollbar-width:none; }
      .jet-stats__grid::-webkit-scrollbar { display:none; }
      .jet-stats__item { width:78vw; min-width:78vw; min-height:250px; padding:28px 22px; scroll-snap-align:start; }
      .jet-stats__number { font-size:48px; }
      .jet-stats__label { max-width:240px; margin-top:12px; font-size:15px; line-height:20px; }
      .articles-work { padding:80px 0; gap:32px; }
      .articles-work__header { height:48px; }
      .articles-work__title { font-size:38px; line-height:42px; }
      .articles-work__controls { gap:8px; }
      .articles-work__control { width:46px; height:46px; }
      .article-work-card { width:calc(100vw - 64px); min-width:0; gap:16px; }
      .article-work-card__title { font-size:24px; line-height:30px; }
      .article-work-card__subtitle { font-size:16px; line-height:22px; }
      .articles-work__footer { height:52px; }
      .articles-work__all { min-height:52px; padding:14px 22px; font-size:15px; }
      .jet-footer__cta { min-height:500px; padding:72px var(--page-margin); }
      .jet-footer__cta-title { font-size:clamp(44px,11vw,58px); line-height:.98; }
      .jet-footer__cta-copy { margin-top:28px; font-size:17px; line-height:25px; }
      .jet-footer__cta-button { min-height:58px; margin-top:42px; padding:16px 32px; font-size:17px; }
      .jet-footer__partners { grid-template-columns:1fr; grid-auto-flow:row; }
      .jet-footer__partners-label, .jet-footer__partner { min-height:84px; padding:20px var(--page-margin); border-right:0; border-bottom:1px solid #2d3235; }
      .jet-footer__partners-label { min-height:62px; justify-content:flex-start; }
      .jet-footer__partner:last-child { border-bottom:0; }
      .jet-footer__partner img { max-width:155px; max-height:43px; }
      .jet-footer__main { min-height:0; grid-template-columns:1fr 1fr; gap:58px 32px; padding:64px var(--page-margin) 72px; }
      .jet-footer__brand { grid-column:1/-1; }
      .jet-footer__logo { gap:15px; }
      .jet-footer__logo-mark { width:84px; height:84px; }
      .jet-footer__logo-name { font-size:17px; }
      .jet-footer__statement { max-width:520px; margin-top:28px; font-size:16px; line-height:24px; }
      .jet-footer__email { margin-top:24px; font-size:15px; }
      .jet-footer__column:last-child { grid-column:1/-1; }
      .jet-footer__offices { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
      .jet-footer__legal { min-height:0; grid-template-columns:1fr auto; gap:26px; padding-top:28px; padding-bottom:28px; }
      .jet-footer__legal-nav { grid-column:1/-1; grid-row:2; gap:22px; }
      .jet-footer__linkedin { grid-column:2; grid-row:1; }
    }

    @media (max-width: 520px) {
      .site-preloader__brand { font-size: clamp(13px, 3.8vw, 16px); }
      .jet-footer__main { grid-template-columns:1fr; }
      .jet-footer__brand, .jet-footer__column:last-child { grid-column:auto; }
      .jet-footer__offices { grid-template-columns:1fr; }
      .jet-footer__legal { grid-template-columns:1fr auto; }
      .jet-footer__legal > span { max-width:260px; }
      .jet-footer__legal-nav { flex-direction:column; gap:10px; }
    }

    @media (max-height: 720px) and (min-width: 801px) {
      .topbar { height: 82px; padding-top: 18px; }
      .headline { font-size: 64px; }
      .meta { margin-top: 34px; padding-bottom: 28px; }
      .content { bottom: 30px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .site-preloader__brand,
      .site-preloader__suffix { transition-duration: .01ms; }
    }

/* Il modello JET: il "POSTER JET 3.0" del sito attuale ricostruito come testo, nel linguaggio del sito. */
.jet-model { padding:120px var(--page-margin) 140px; background:#fff; color:#090a0a; }
.jet-model__eyebrow { display:flex; align-items:center; gap:12px; margin:0; color:#676d70; font-size:12px; font-weight:550; line-height:18px; letter-spacing:.5px; text-transform:uppercase; }
.jet-model__eyebrow::before { width:6px; height:6px; flex:0 0 6px; background:var(--red); content:""; }
.jet-model__title { margin:120px 0 0; font-size:clamp(40px,3.6vw,56px); font-weight:450; line-height:1.04; letter-spacing:-.04em; }
.jet-model__chain { margin-top:56px; }
.jet-model__steps { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.jet-model__steps::before { position:absolute; top:7px; right:0; left:0; height:1px; background:#d2d6d8; content:""; }
.jet-model__steps::after { position:absolute; top:3px; right:-2px; width:0; height:0; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:8px solid #d2d6d8; content:""; }
.jet-model__step { position:relative; display:flex; flex-direction:column; gap:12px; padding:0 16px 0 0; }
.jet-model__step::before { position:relative; z-index:1; width:15px; height:15px; border:1px solid #b8bdc0; border-radius:50%; background:#fff; content:""; }
.jet-model__step.is-focus::before { border-color:var(--red); background:var(--red); }
.jet-model__index { color:#858b8e; font-size:12px; }
.jet-model__step-name { font-size:clamp(18px,1.5vw,22px); line-height:1.2; letter-spacing:-.02em; }
.jet-model__step.is-focus .jet-model__step-name { color:var(--red); }
.jet-model__feedback { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin:28px 0 0; padding-top:14px; border-top:1px dashed #d2d6d8; color:#858b8e; font-size:13px; text-transform:uppercase; letter-spacing:.5px; }
.jet-model__label { margin:0 0 20px; color:#858b8e; font-size:12px; font-weight:550; letter-spacing:.5px; text-transform:uppercase; }
.jet-model__explorer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:80px; margin-top:96px; }
.jet-model__tabs { display:flex; flex-direction:column; border-bottom:1px solid #d2d6d8; }
.jet-model__tab { display:flex; align-items:baseline; gap:20px; width:100%; padding:26px 0; border:0; border-top:1px solid #d2d6d8; background:none; color:#b8bdc0; font:inherit; font-size:clamp(28px,2.6vw,40px); line-height:1.1; letter-spacing:-.035em; text-align:left; cursor:pointer; transition:color .3s ease; }
.jet-model__tab:hover, .jet-model__tab[aria-selected="true"] { color:#090a0a; }
.jet-model__tab-index { flex:0 0 28px; color:#858b8e; font-size:12px; letter-spacing:0; transition:color .3s ease; }
.jet-model__tab[aria-selected="true"] .jet-model__tab-index { color:var(--red); }
.jet-model__tab:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.jet-model__panel { margin:0; padding:0; list-style:none; counter-reset:action; animation:jet-model-in .45s ease both; }
.jet-model__panel li { display:flex; align-items:baseline; gap:20px; padding:22px 0; border-top:1px solid #d2d6d8; font-size:clamp(22px,2vw,30px); line-height:1.2; letter-spacing:-.03em; counter-increment:action; }
.jet-model__panel li:last-child { border-bottom:1px solid #d2d6d8; }
.jet-model__panel li::before { flex:0 0 28px; color:var(--red); font-size:12px; letter-spacing:0; content:counter(action,decimal-leading-zero); }
@keyframes jet-model-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.jet-model__sectors { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px 40px; margin-top:96px; padding-top:28px; border-top:1px solid #090a0a; }
.jet-model__sectors .jet-model__label { margin:0; }
.jet-model__sectors ul { display:flex; flex-wrap:wrap; gap:12px 40px; margin:0; padding:0; list-style:none; }
.jet-model__sectors li { font-size:clamp(20px,1.8vw,26px); letter-spacing:-.025em; }
@media (prefers-reduced-motion:reduce) { .jet-model__panel { animation:none; } }
@media (max-width:809px) {
  .jet-model { padding:72px var(--page-margin) 88px; }
  .jet-model__title { margin-top:64px; font-size:34px; }
  .jet-model__steps { grid-template-columns:1fr; gap:20px; }
  .jet-model__steps::before { top:0; bottom:0; left:7px; right:auto; width:1px; height:auto; }
  .jet-model__steps::after { display:none; }
  .jet-model__step { flex-direction:row; align-items:center; }
  .jet-model__explorer { grid-template-columns:1fr; gap:40px; margin-top:64px; }
  .jet-model__tab { padding:18px 0; font-size:26px; }
  .jet-model__panel li { padding:16px 0; font-size:20px; }
  .jet-model__sectors { margin-top:64px; }
}

/* Hero: the four CoTECh words above the headline; the highlighted letters spell the acronym. */
.hero .meta { grid-template-columns: 430px 1fr; }
.hero-cotech { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .5em; margin: 0 0 22px; color: rgba(255,255,255,.86); font-size: clamp(14px, 1.05vw, 16px); font-weight: 400; line-height: 1.2; letter-spacing: -.02em; }
.hero-cotech b { color: #fff; font-weight: 500; }
.hero-cotech__word { display: inline-flex; align-items: baseline; }
.hero-cotech__rest { display: inline-block; padding-bottom: .22em; margin-bottom: -.22em; color: rgba(255,255,255,.66); }
.hero-cotech__dot { color: rgba(255,255,255,.4); }
@media (max-width: 809px) {
  .hero .meta { grid-template-columns: 1fr; }
  .hero-cotech { gap: 0 .45em; margin-bottom: 18px; font-size: 15px; }
}

/* CoTECh (30/10): same layout as the Advisory pillars: title left, text right, four cards with a photo on top.
   Motion: the cards rise in turn and each word completes from its initials (the CoTECh gesture, in place). */
.cotech { padding: 0 var(--page-margin, 40px) 150px; background: #fff; color: var(--ink); }
.cotech__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 48px; align-items: end; }
.cotech__title { margin: 0; font-size: clamp(54px, 4.1vw, 60px); font-weight: 400; line-height: 1; letter-spacing: -.05em; }
.cotech__intro { margin: 0; color: #5d6468; font-size: 16px; line-height: 23px; letter-spacing: -.015em; }
.cotech__intro strong { color: var(--ink); font-weight: 500; }
.cotech__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 64px 0 0; padding: 0; list-style: none; }
.cotech__card { display: flex; min-width: 0; padding: 0 0 32px; flex-direction: column; background: #f5f5f5; }
.cotech__img { width: 100%; aspect-ratio: 4 / 3; background: var(--jet-bg) calc(var(--i) * 33.333%) 50% / 400% auto no-repeat; }
.cotech__num { margin: 28px 24px 0; color: #676d70; font-size: 12px; font-weight: 600; line-height: 18px; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.cotech__word { display: flex; margin: 12px 24px 0; font-size: clamp(26px, 2vw, 34px); font-weight: 450; line-height: 1.08; letter-spacing: -.035em; white-space: nowrap; }
.cotech__suffix { display: inline-block; padding-bottom: .22em; margin-bottom: -.22em; }
.cotech__text { margin: 16px 24px 0; color: #5d6468; font-size: 16px; line-height: 23px; letter-spacing: -.015em; }
@media (max-width: 1023px) {
  .cotech__head { grid-template-columns: 1fr; gap: 24px; }
  .cotech__title { font-size: 42px; }
  .cotech__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .cotech { padding: 0 var(--gutter) 96px; }
  .cotech__grid { display: flex; margin: 40px calc(var(--gutter) * -1) 0; padding: 0 var(--gutter); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--gutter); scrollbar-width: none; }
  .cotech__grid::-webkit-scrollbar { display: none; }
  .cotech__card { flex: 0 0 78vw; scroll-snap-align: start; }
}

/* Chi siamo (30/10): title on the left, the CoTECh text on the right (layout from the reference the user picked). */
.about-jet.about-jet--split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 48px; padding: 140px var(--page-margin, 40px) 110px; text-align: left; }
.about-jet--split .about-jet__top { align-items: flex-start; gap: 28px; }
.about-jet--split .about-jet__eyebrow { gap: 12px; padding: 0; border: 0; border-radius: 0; background: none; color: #676d70; font-size: 12px; letter-spacing: .5px; }
.about-jet--split .about-jet__eyebrow::before { width: 6px; height: 6px; flex: 0 0 6px; background: var(--red); content: ""; }
.about-jet--split .about-jet__eyebrow-track { align-items: flex-start; }
.about-jet--split .about-jet__headline { max-width: 600px; font-size: clamp(34px, 3.3vw, 52px); line-height: 1.06; letter-spacing: -.045em; text-align: left; }
.about-jet__body { max-width: 580px; padding-top: 46px; }
.about-jet__lead { margin: 0 0 22px; color: #202223; font-size: 18px; line-height: 1.55; letter-spacing: -.01em; }
.about-jet__lead--muted { color: #6b7276; }
.about-jet--split .about-jet__cta { display: inline-flex; min-height: 0; margin-top: 8px; padding: 0; gap: 10px; border: 0; border-radius: 0; background: none; font-size: 15px; }
.about-jet--split .about-jet__cta:hover { background: none; color: var(--red); }
.about-jet__cta-arrow { transition: transform .3s var(--ease); }
.about-jet--split .about-jet__cta:hover .about-jet__cta-arrow { transform: translateX(4px); }
@media (max-width: 900px) {
  .about-jet.about-jet--split { grid-template-columns: 1fr; gap: 0; padding: 96px var(--gutter) 72px; }
  .about-jet--split .about-jet__headline { font-size: 32px; line-height: 1.1; }
  .about-jet__body { padding-top: 28px; }
  .about-jet__lead { font-size: 16px; }
}

/* JET in numeri (30/10): numbers in a row, thin dividers, no grey boxes (layout from the reference the user picked). */
.jet-stats { padding: 0 var(--page-margin, 40px) 130px; }
.jet-stats__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
.jet-stats__item { min-height: 0; padding: 0 28px; align-items: flex-start; justify-content: flex-start; border-left: 1px solid #dfe2e4; background: none; text-align: left; }
.jet-stats__item:first-child { padding-left: 0; border-left: 0; }
.jet-stats__number { font-size: clamp(40px, 3.8vw, 60px); letter-spacing: -.05em; }
.jet-stats__label { max-width: 190px; margin-top: 16px; color: #6b7276; font-size: 14px; line-height: 1.4; text-wrap: pretty; }
@media (max-width: 809px) {
  .jet-stats { padding: 0 var(--gutter) 88px; }
  .jet-stats__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; padding: 0; overflow: visible; scroll-snap-type: none; }
  .jet-stats__item, .jet-stats__item:first-child { width: auto; min-width: 0; min-height: 0; padding: 0 0 0 18px; border-left: 1px solid #dfe2e4; }
  .jet-stats__number { font-size: 40px; }
}

/* Foundation alignment (30/10): the new blocks (Chi siamo, numbers, CoTECh) use the same values as the other
   home sections: section title 52/55 weight 450 (38/42 on phones), label 12px uppercase with the red square,
   muted text #5d6468, 120px between sections. */
.about-jet--split .about-jet__headline, .cotech__title { font-size: 52px; font-weight: 450; line-height: 55px; letter-spacing: -.03em; }
.cotech__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 32px; color: #676d70; font-size: 12px; font-weight: 550; line-height: 18px; letter-spacing: .5px; text-transform: uppercase; }
.cotech__eyebrow::before { width: 6px; height: 6px; flex: 0 0 6px; background: var(--red); content: ""; }
.about-jet--split .about-jet__eyebrow { font-weight: 550; }
.about-jet__lead--muted, .jet-stats__label, .cotech__intro, .cotech__text { color: #5d6468; }
.about-jet.about-jet--split { padding-bottom: 120px; }
.jet-stats, .cotech { padding-bottom: 120px; }
@media (max-width: 809px) {
  .about-jet--split .about-jet__headline, .cotech__title { font-size: 38px; line-height: 42px; }
  .about-jet.about-jet--split, .jet-stats, .cotech { padding-bottom: 88px; }
}
/* Rotating label: the gap belongs only after the red square; the word and "per crescere" already have their space. */
.about-jet--split .about-jet__eyebrow { gap: 0; }
.about-jet--split .about-jet__eyebrow::before { margin-right: 12px; }

/* Chi siamo: closer to the reference (30/10) — narrower, denser text column, underlined link */
.about-jet__body { max-width: 520px; padding-top: 44px; }
.about-jet__lead { margin: 0 0 20px; font-size: 16px; line-height: 1.6; letter-spacing: -.005em; }
.about-jet--split .about-jet__cta { margin-top: 14px; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 14px; line-height: 1.2; }
@media (max-width: 900px) {
  .about-jet__body { max-width: none; padding-top: 28px; }
}

/* Foundation arrow on the Chi siamo link */
.about-jet__cta-arrow { display: inline-flex; width: 18px; height: 18px; }
.about-jet__cta-arrow svg { width: 100%; height: 100%; overflow: visible; }

/* Clients grid on phones: 10 logos, the others dissolve in one at a time (home-logos.js) */
.approach-proof__swap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: inherit; }
@media (max-width: 800px) {
  .approach-proof__logo:nth-child(n+11) { display: none; }
}
@media (max-width: 800px) {
  /* Phones: no grid lines around the logos */
  .approach-proof .approach-proof__logos, .approach-proof__logos .approach-proof__logo { border-width: 0 !important; }
  .approach-proof__logos .approach-proof__logo { height: 96px; }
}
@media (max-width: 800px) {
  /* Phones: logos on dark tiles with the foundation 4px gap (same rhythm as the CoTECh cards) */
  .approach-proof .approach-proof__logos { gap: 4px; }
  .approach-proof__logos .approach-proof__logo { height: auto; aspect-ratio: 4 / 3; background: #141718; }
}

/* Foundation: every section title (h2) is 52/55 w450 -.03em, 38/42 on phones. Card titles (h3) 28/34 w450. */
.home .gradient-bridge__heading, .sectors .sectors__title, .industry-carousel .industry-carousel__title, .capabilities .capabilities__title { font-size: 52px; font-weight: 450; line-height: 55px; letter-spacing: -.03em; }
.sector-explorer .sector-explorer__title { font-size: 28px; font-weight: 450; line-height: 34px; letter-spacing: -.02em; }
@media (max-width: 809px) {
  .home .gradient-bridge__heading, .sectors .sectors__title, .industry-carousel .industry-carousel__title, .capabilities .capabilities__title { font-size: 38px; line-height: 42px; }
  .sector-explorer .sector-explorer__title { font-size: 24px; line-height: 30px; }
}
/* Hero CoTECh row: one colour for the whole word (initials stand out only by weight) */
.hero-cotech b, .hero-cotech__rest { color: #fff; }
/* The bridge line is a statement, not a section title: one step above the h2 (52 → 64, phones 38 → 44) */
.home .gradient-bridge__heading { font-size: 64px; line-height: 66px; }
@media (max-width: 809px) { .home .gradient-bridge__heading { font-size: 44px; line-height: 48px; } }
/* Preloader: room for descenders (the "p" of Japan) and for the last letter's overhang, so nothing is cut */
.site-preloader__suffix { padding: 0 .12em .24em 0; margin: 0 -.12em -.24em 0; }
.site-preloader__initial { padding-bottom: .24em; margin-bottom: -.24em; }
/* CoTECh explorer: same component as the sectors; the initials that spell CoTECh are a touch heavier */
.sectors--cotech { padding-top: 0; }
.cotech-tab__initial { font-weight: 600; }

/* CoTECh panels (31/10): four panels in a row, the active one widens; closed ones show the initial */
.cotech-panels { display: flex; height: clamp(480px, 40vw, 640px); gap: 4px; }
.cotech-panel { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; background: #0d0f10; color: #fff; transition: flex-grow .95s cubic-bezier(.1, .72, .16, 1); }
.cotech-panel.is-active { flex-grow: 5.2; }
.cotech-panel__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.6) brightness(.42); transform: scale(1.06); transition: filter .9s ease, transform 1.2s cubic-bezier(.1, .72, .16, 1); }
.cotech-panel.is-active .cotech-panel__img { filter: none; transform: none; }
.cotech-panel::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,10,10,0) 35%, rgba(9,10,10,.78) 100%); content: ""; pointer-events: none; }
.cotech-panel__trigger { position: absolute; z-index: 2; inset: 0; display: flex; padding: 28px; align-items: flex-start; justify-content: flex-start; border: 0; background: none; color: #fff; text-align: left; cursor: pointer; }
.cotech-panel.is-active .cotech-panel__trigger { cursor: default; }
.cotech-panel__initial { font-size: 72px; font-weight: 450; line-height: 1; letter-spacing: -.05em; transition: opacity .4s ease, transform .6s cubic-bezier(.1, .72, .16, 1); }
.cotech-panel.is-active .cotech-panel__initial { opacity: 0; transform: translateY(-12px); }
.cotech-panel__body { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; max-width: 560px; padding: 32px; opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .35s ease, transform .35s ease; }
.cotech-panel.is-active .cotech-panel__body { opacity: 1; transform: none; transition: opacity .6s ease .35s, transform .8s cubic-bezier(.1, .72, .16, 1) .35s; }
.cotech-panel__num { display: block; margin-bottom: 14px; color: rgba(255,255,255,.7); font-size: 13px; }
.cotech-panel__word { margin: 0; font-size: 52px; font-weight: 450; line-height: 55px; letter-spacing: -.03em; }
.cotech-panel__word b { font-weight: inherit; }
.cotech-panel__text { margin: 16px 0 0; color: rgba(255,255,255,.86); font-size: 18px; line-height: 1.5; }
.cotech .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 809px) {
  .cotech-panels { height: auto; flex-direction: column; }
  .cotech-panel { flex: none; height: 88px; transition: height .8s cubic-bezier(.1, .72, .16, 1); }
  .cotech-panel.is-active { height: 460px; }
  .cotech-panel__trigger { padding: 20px; align-items: center; }
  .cotech-panel__initial { font-size: 44px; }
  .cotech-panel__body { padding: 22px; }
  .cotech-panel__word { font-size: 38px; line-height: 42px; }
  .cotech-panel__text { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .cotech-panel, .cotech-panel * { transition: none !important; } }
.cotech-panels { margin-top: 56px; }
@media (max-width: 809px) { .cotech-panels { margin-top: 36px; } }

/* CoTECh steps (31/10, from the icomat-style test n.3) */
.cotech-steps { position: relative; padding: 120px var(--page-margin, 40px) 140px; background: #090a0a; color: #f2f3f3; text-align: center; }
.cotech-steps__eyebrow { justify-content: center; margin: 0 0 32px; }
.cotech-steps__title { margin: 0; font-size: 64px; font-weight: 450; line-height: 66px; letter-spacing: -.04em; }
.cotech-steps__title span { color: #33373a; transition: color 1.2s ease .3s; }
.cotech-steps.is-on .cotech-steps__title span { color: #f2f3f3; }
.cotech-steps__intro { max-width: 560px; margin: 24px auto 96px; color: #8d969b; font-size: 18px; line-height: 1.5; }
.cotech-steps__intro strong { color: #f2f3f3; font-weight: 500; }
.cotech-steps__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; text-align: left; }
.cotech-step__n { color: #4a4f52; font-size: 28px; letter-spacing: -.02em; }
.cotech-step__rule { position: relative; height: 1px; margin: 12px 0 22px; background-image: linear-gradient(90deg, #4b4f52 40%, transparent 0); background-size: 5px 1px; }
.cotech-step__rule::before { position: absolute; left: 0; top: -2px; width: 5px; height: 5px; background: var(--red, #e5231f); content: ""; }
.cotech-step__ph { aspect-ratio: 3 / 2; overflow: hidden; background: #151718; }
.cotech-step__ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cotech-step__word { margin: 22px 0 10px; font-size: 28px; font-weight: 450; line-height: 34px; letter-spacing: -.02em; }
.cotech-step__text { margin: 0; color: #8d969b; font-size: 15px; line-height: 1.5; }
@media (max-width: 809px) {
  .cotech-steps { padding: 88px var(--gutter, 16px) 96px; }
  .cotech-steps__title { font-size: 44px; line-height: 48px; }
  .cotech-steps__intro { margin-bottom: 56px; font-size: 16px; }
  .cotech-steps__row { grid-template-columns: 1fr; row-gap: 48px; }
}

/* Mobile pass (31/10) */
@media (max-width: 809px) {
  /* "Cosa facciamo": label close to its title like every other section */
  .capabilities .capabilities__eyebrow { margin-bottom: 32px; }
  /* bridge: shorter, so there is no long empty band before "I nostri settori" */
  .home .gradient-bridge { height: auto; min-height: 380px; }
  /* client logos readable on the dark tiles */
  .approach-proof .approach-proof__logo img { opacity: .62 !important; }
  /* competences carousel: tab labels at a readable size */
  .industry-carousel .industry-carousel__nav-label { font-size: 11px; letter-spacing: .04em; }
}
@media (max-width: 809px) { .home .gradient-bridge__content { height: 380px; min-height: 0; } }
/* Mobile: "Ultimo articolo" becomes one thin line over the photo (no image, no white box) */
@media (max-width: 809px) {
  .hero .latest { display: flex; top: 96px; right: 20px; left: 20px; width: auto; max-width: none; min-height: 0; padding: 10px 0; align-items: center; gap: 12px; border-top: 1px solid rgba(255,255,255,.28); border-bottom: 1px solid rgba(255,255,255,.28); background: none; box-shadow: none; }
  .hero .latest__image { display: none; }
  .hero .latest__body { display: flex; flex: 1; min-width: 0; padding: 0; flex-direction: row; align-items: center; gap: 12px; }
  .hero .latest__eyebrow { flex: 0 0 auto; gap: 8px; color: rgba(255,255,255,.66); font-size: 11px; } /* 07/11: was 10px */
  .hero .latest__eyebrow span { margin-right: 0; }
  .hero .latest__arrow { width: 14px; height: 14px; flex-basis: 14px; color: #fff; }
  .hero .latest__title { flex: 1; min-width: 0; max-width: none; margin: 0; overflow: hidden; color: #fff; font-size: 13px; line-height: 1.3; white-space: nowrap; text-overflow: ellipsis; }
}
@media (max-width: 809px) { .hero .latest { -webkit-backdrop-filter: none; backdrop-filter: none; } .hero .latest__eyebrow { order: 0; } .hero .latest__eyebrow .latest__arrow { display: none; } .hero .latest__title::after { content: " →"; } }

/* Mobile, lighter (31/10) */
@media (max-width: 809px) {
  /* clients: compact 3×3 grid, no tiles, no lines */
  .approach-proof .approach-proof__logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 !important; }
  .approach-proof__logos .approach-proof__logo { height: 76px; aspect-ratio: auto; padding: 12px; background: none; border: 0 !important; }
  .approach-proof__logo:nth-child(n+10) { display: none; }
  .approach-proof__logo img, .approach-proof__logo img[style*="--logo-r"] { max-width: 78%; max-height: 42%; }
  /* sectors: a lower photo */
  .sector-explorer .sector-explorer__media { aspect-ratio: 16 / 9; }
  /* competences carousel: on phones it repeats "Le nostre competenze" just above, so it is left out */
  .industry-carousel { display: none; }
}
@media (max-width: 809px) { .approach-proof .approach-proof__eyebrow { margin-bottom: 32px; } .approach-proof .approach-proof__clients { margin-top: 48px; } }
@media (max-width: 809px) { .approach-proof .approach-proof__copy { margin-top: 0; } }

/* Clients on phones: clean 3×3, no lines, no tiles; sizes come from the optical balancing in polish.js */
@media (max-width: 809px) {
  .approach-proof .approach-proof__logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 !important; border: 0 !important; }
  .approach-proof__logos .approach-proof__logo { height: 88px; padding: 0; background: none; border: 0 !important; overflow: visible; }
  .approach-proof__logo:nth-child(n+10) { display: none; }
}
/* Phones: the five numbers in a row you swipe, ~1.5 visible, a progress bar below (home-stats.js) */
@media (max-width: 809px) {
  .jet-stats .jet-stats__grid { display: flex; gap: 0; margin-right: calc(-1 * var(--page-margin, 20px)); padding-right: var(--page-margin, 20px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .jet-stats .jet-stats__grid::-webkit-scrollbar { display: none; }
  .jet-stats .jet-stats__item, .jet-stats .jet-stats__item:first-child { flex: 0 0 62%; width: auto; min-width: 0; min-height: 0; padding: 0 20px; border: 0; border-left: 1px solid #dfe2e4; scroll-snap-align: start; }
  .jet-stats .jet-stats__item:first-child { padding-left: 0; border-left: 0; }
  .jet-stats .jet-stats__number { font-size: 52px; line-height: 1; font-variant-numeric:tabular-nums; }
  .jet-stats .jet-stats__value { display:inline-block; min-width:var(--jet-counter-width,0); }
  .jet-stats .jet-stats__label { max-width: 190px; margin-top: 14px; font-size: 15px; line-height: 1.35; }
  .jet-stats__bar { position: relative; height: 2px; margin-top: 32px; background: #dfe2e4; }
  .jet-stats__bar i { position: absolute; top: 0; left: 0; height: 100%; width: 20%; background: #090a0a; }
}
@media (min-width: 810px) { .jet-stats__bar { display: none; } }
/* Phones: the preloader words fill most of the width (they were a small line in the middle) */
@media (max-width: 809px) { .site-preloader .site-preloader__brand { font-size: 6.1vw; } }
/* Phones: "Ultimo articolo" more visible — a frosted glass bar with a small square thumbnail and the title on two lines */
@media (max-width: 809px) {
  .hero .latest { display: flex; top: 92px; right: 20px; left: 20px; padding: 10px 12px 10px 10px; gap: 12px; align-items: center; border: 1px solid rgba(255,255,255,.18); background: rgba(9,10,10,.32); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); }
  .hero .latest__image { display: block; position: relative; flex: 0 0 52px; width: 52px; height: 52px; min-height: 0; }
  .hero .latest__body { flex-direction: column; align-items: flex-start; gap: 5px; }
  .hero .latest__eyebrow { color: rgba(255,255,255,.72); font-size: 10px; letter-spacing: .08em; }
  .hero .latest__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; font-size: 14px; font-weight: 500; line-height: 1.25; }
  .hero .latest__title::after { content: none; }
  .hero .latest__eyebrow .latest__arrow { display: block; width: 12px; height: 12px; flex-basis: 12px; background: #fff; }
}
/* Phones: no "Ultimo articolo" in the hero (as on bain.com, the latest articles live in their own section) */
/* 07/11 (Daniele): "Ultimo articolo" visible again on phones, as the thin line above */
.jet-footer__partner img[src*="myco-otb"] { filter:brightness(0) invert(1); } /* 06/11: two-blue logo → one flat tone like the others */
