    :root {
      color-scheme: dark;
      --night: #020711;
      --night-soft: #071525;
      --cyan: #6cddff;
      --blue: #1674bb;
      --violet: #8e87ff;
      --ice: #eafaff;
      --paper: #edf5f8;
      --paper-bright: #f9fcfd;
      --ink: #102d3d;
      --muted: #5e7887;
      --line-dark: rgba(102, 210, 255, .18);
      --line-light: rgba(28, 111, 151, .16);
      --shell: min(100% - 64px, 1480px);
    }

    * { box-sizing: border-box; }

    html {
      min-width: 320px;
      scroll-behavior: smooth;
      background: var(--night);
    }

    body {
      min-width: 320px;
      margin: 0;
      overflow-x: hidden;
      color: #eaf4ff;
      background: var(--night);
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    button, input, a { font: inherit; }
    button { color: inherit; }
    img, svg { max-width: 100%; }
    a { color: inherit; }
    main { overflow: clip; }

    .skip-link {
      position: fixed;
      top: 10px;
      left: 10px;
      z-index: 1000;
      padding: 10px 14px;
      color: #06111d;
      border-radius: 8px;
      background: #dff9ff;
      transform: translateY(-150%);
      transition: transform .2s ease;
    }

    .skip-link:focus { transform: translateY(0); }

    .site-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      height: 90px;
      padding: 28px clamp(28px, 3vw, 48px) 0;
      display: flex;
      align-items: flex-start;
      isolation: isolate;
      opacity: 0;
      transform: translateY(-10px);
      animation: headerIn .9s ease .15s forwards;
    }

    .site-header::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      opacity: 0;
      background: linear-gradient(180deg, rgba(248, 252, 255, .97) 0%, rgba(243, 249, 253, .88) 72%, rgba(243, 249, 253, 0) 100%);
      box-shadow: 0 12px 36px rgba(43, 83, 117, .08);
      -webkit-backdrop-filter: blur(18px) saturate(130%);
      backdrop-filter: blur(18px) saturate(130%);
      transition: opacity .55s ease;
    }

    .site-header.is-light::before { opacity: 1; }

    .mini-logo {
      margin: 9px 58px 0 0;
      flex: 0 0 auto;
      color: #bfeeff;
      background: linear-gradient(105deg, #68cfff 0%, #bfefff 17%, #fff 29%, #68cfff 46%, #e9fbff 64%, #70d6ff 82%, #d6f7ff 100%);
      background-size: 240% 100%;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      font-size: 15px;
      font-weight: 500;
      line-height: 18px;
      letter-spacing: .08em;
      text-decoration: none;
      white-space: nowrap;
      opacity: .9;
      filter: drop-shadow(0 0 8px rgba(73, 190, 255, .34));
      transition: opacity .25s ease, filter .35s ease;
      animation: miniLogoShimmer 9s ease-in-out infinite alternate;
    }

    .mini-logo:hover,
    .mini-logo:focus-visible { opacity: 1; filter: drop-shadow(0 0 11px rgba(82, 203, 255, .62)); }
    .site-header.is-light .mini-logo { filter: brightness(.56) saturate(1.5) drop-shadow(0 2px 7px rgba(18, 99, 160, .16)); }

    .main-nav {
      min-height: 38px;
      display: flex;
      align-items: center;
      gap: clamp(28px, 3.25vw, 54px);
    }

    .main-nav a,
    .header-actions a {
      color: rgba(220, 233, 247, .72);
      text-decoration: none;
      font-size: 12px;
      transition: color .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
    }

    .main-nav a:hover,
    .main-nav a:focus-visible,
    .main-nav a[aria-current="page"] { color: #eef8ff; }
    .site-header.is-light .main-nav a { color: rgba(24, 47, 70, .7); }
    .site-header.is-light .main-nav a:hover,
    .site-header.is-light .main-nav a:focus-visible,
    .site-header.is-light .main-nav a[aria-current="page"] { color: #0869b5; }

    .header-actions { margin-left: auto; display: flex; align-items: center; gap: 27px; }
    .header-actions a {
      min-width: 142px;
      height: 36px;
      padding-inline: 16px;
      border: 1px solid rgba(44, 147, 255, .38);
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #e9f8ff;
      background: linear-gradient(180deg, rgba(26, 113, 201, .82), rgba(9, 62, 119, .92));
      box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 0 22px rgba(17, 119, 233, .14);
      white-space: nowrap;
    }
    .header-actions a:hover,
    .header-actions a:focus-visible { color: #fff; border-color: rgba(76, 177, 255, .66); box-shadow: 0 0 24px rgba(20, 127, 255, .2); }
    .site-header.is-light .header-actions a { color: #f8fcff; border-color: rgba(18, 110, 181, .28); background: linear-gradient(180deg, #1782d1, #0d65aa); box-shadow: 0 8px 24px rgba(18, 105, 171, .2), inset 0 1px rgba(255, 255, 255, .2); }

    .menu-toggle {
      position: relative;
      width: 40px;
      height: 40px;
      margin: -2px 0 0 10px;
      padding: 0;
      flex: 0 0 40px;
      display: none;
      border: 1px solid rgba(91, 193, 238, .34);
      border-radius: 11px;
      color: #8edfff;
      background: rgba(4, 15, 29, .68);
      box-shadow: inset 0 0 18px rgba(39, 151, 217, .08), 0 8px 24px rgba(0, 0, 0, .14);
      -webkit-backdrop-filter: blur(12px) saturate(130%);
      backdrop-filter: blur(12px) saturate(130%);
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      transition: color .35s ease, border-color .35s ease, background .55s ease, box-shadow .35s ease;
    }

    .menu-toggle span { position: absolute; left: 10px; width: 18px; height: 1px; border-radius: 2px; background: currentColor; box-shadow: 0 0 7px currentColor; transform-origin: center; transition: top .32s ease, opacity .24s ease, transform .32s cubic-bezier(.2, .72, .2, 1); }
    .menu-toggle span:nth-child(1) { top: 12px; }
    .menu-toggle span:nth-child(2) { top: 19px; }
    .menu-toggle span:nth-child(3) { top: 26px; }
    .site-header.is-menu-open .menu-toggle span:nth-child(1) { top: 19px; transform: rotate(45deg); }
    .site-header.is-menu-open .menu-toggle span:nth-child(2) { opacity: 0; transform: scaleX(.2); }
    .site-header.is-menu-open .menu-toggle span:nth-child(3) { top: 19px; transform: rotate(-45deg); }
    .menu-toggle:hover,
    .menu-toggle:focus-visible,
    .site-header.is-menu-open .menu-toggle { color: #e4faff; border-color: rgba(112, 221, 255, .7); box-shadow: inset 0 0 20px rgba(52, 171, 232, .14), 0 0 20px rgba(36, 168, 235, .18); }
    .site-header.is-light .menu-toggle { color: #166d95; border-color: rgba(32, 115, 153, .28); background: rgba(248, 252, 253, .84); }
    .menu-toggle:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }

    [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .82s ease, transform .9s cubic-bezier(.2, .7, .2, 1); }
    [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

    .team-hero {
      position: relative;
      min-height: max(820px, 100svh);
      overflow: hidden;
      isolation: isolate;
      background:
        radial-gradient(circle at 76% 42%, rgba(17, 126, 222, .2), transparent 30%),
        radial-gradient(circle at 18% 86%, rgba(79, 66, 210, .12), transparent 25%),
        linear-gradient(145deg, #020711 0%, #071728 58%, #020912 100%);
    }

    .team-hero::before {
      content: "TEAM";
      position: absolute;
      left: -1vw;
      bottom: -2vw;
      z-index: -3;
      color: transparent;
      -webkit-text-stroke: 1px rgba(116, 215, 250, .045);
      font-size: clamp(160px, 28vw, 470px);
      font-weight: 650;
      line-height: .72;
      letter-spacing: -.09em;
      white-space: nowrap;
    }

    .hero-grid {
      position: absolute;
      inset: 0;
      z-index: -4;
      opacity: .23;
      background-image: linear-gradient(rgba(91, 197, 244, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(91, 197, 244, .06) 1px, transparent 1px);
      background-size: 52px 52px;
      -webkit-mask-image: radial-gradient(circle at 70% 45%, #000, transparent 70%);
      mask-image: radial-gradient(circle at 70% 45%, #000, transparent 70%);
    }

    .hero-circuit { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; pointer-events: none; }
    .hero-circuit path { fill: none; stroke: rgba(96, 205, 255, .12); stroke-width: 1; vector-effect: non-scaling-stroke; }
    .hero-circuit .current { stroke: rgba(139, 229, 255, .7); stroke-width: 1.15; stroke-dasharray: 2 82; filter: drop-shadow(0 0 6px rgba(88, 215, 255, .78)); animation: currentRun 8s linear infinite; }

    .hero-shell {
      width: var(--shell);
      min-height: max(820px, 100svh);
      margin: 0 auto;
      padding: 132px 0 82px;
      display: grid;
      grid-template-columns: minmax(450px, .82fr) minmax(610px, 1.18fr);
      align-items: center;
      gap: clamp(56px, 7vw, 112px);
    }

    .hero-copy { position: relative; z-index: 4; }
    .breadcrumbs { margin: 0 0 clamp(44px, 5.5vh, 68px); display: flex; align-items: center; gap: 10px; color: rgba(184, 213, 232, .45); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
    .breadcrumbs a { text-decoration: none; }
    .breadcrumbs span::before { content: "/"; margin-right: 10px; color: rgba(111, 199, 237, .32); }
    .eyebrow { margin: 0 0 20px; display: flex; align-items: center; gap: 13px; color: #79dfff; font-size: 9px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
    .eyebrow::before { content: ""; width: 29px; height: 1px; background: linear-gradient(90deg, #66dcff, transparent); box-shadow: 0 0 8px rgba(89, 211, 255, .55); }

    .hero-title { max-width: 770px; margin: 0; color: #f1faff; font-size: clamp(66px, 7.4vw, 118px); font-weight: 390; line-height: .84; letter-spacing: -.075em; }
    .hero-title span { display: block; }
    .hero-title em { display: block; color: #9fe6fb; font-style: normal; font-weight: 300; }
    .hero-lead { max-width: 650px; margin: 34px 0 0; color: rgba(213, 233, 245, .71); font-size: clamp(14px, 1.14vw, 18px); line-height: 1.72; }
    .hero-promise { max-width: 600px; margin: 22px 0 0; padding: 17px 0 17px 21px; border-left: 1px solid rgba(110, 222, 255, .44); color: rgba(177, 215, 231, .63); font-size: 12px; line-height: 1.65; background: linear-gradient(90deg, rgba(33, 125, 174, .09), transparent); }
    .hero-actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }

    .button-primary,
    .button-ghost {
      min-height: 50px;
      padding: 0 22px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      text-decoration: none;
      font-size: 11px;
      letter-spacing: .045em;
      transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease, background .3s ease;
    }
    .button-primary { color: #f8fdff; border: 1px solid rgba(84, 190, 250, .48); background: linear-gradient(180deg, #1885d0, #0c5e9d); box-shadow: 0 17px 38px rgba(5, 78, 145, .25), inset 0 1px rgba(255, 255, 255, .18); }
    .button-ghost { color: rgba(218, 239, 249, .73); border: 1px solid rgba(116, 208, 244, .18); background: rgba(10, 31, 49, .36); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
    .button-primary::after { content: "↗"; font-size: 14px; }
    .button-primary:hover,
    .button-primary:focus-visible,
    .button-ghost:hover,
    .button-ghost:focus-visible { transform: translateY(-3px); }

    .team-reel {
      --rx: 0deg;
      --ry: 0deg;
      position: relative;
      width: min(100%, 760px);
      min-height: 660px;
      justify-self: end;
      overflow: hidden;
      border: 1px solid rgba(109, 211, 247, .22);
      border-radius: 29px;
      background: linear-gradient(145deg, rgba(8, 30, 49, .96), rgba(2, 13, 24, .94));
      box-shadow: 0 45px 120px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .045);
      transform: perspective(1500px) rotateX(var(--rx)) rotateY(var(--ry));
      transition: transform .22s ease-out;
    }

    .team-reel::before { content: ""; position: absolute; inset: 0; z-index: 5; pointer-events: none; opacity: .28; background-image: linear-gradient(rgba(99, 203, 240, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(99, 203, 240, .045) 1px, transparent 1px); background-size: 31px 31px; -webkit-mask-image: linear-gradient(135deg, transparent 15%, #000, transparent 87%); mask-image: linear-gradient(135deg, transparent 15%, #000, transparent 87%); }
    .team-reel::after { content: ""; position: absolute; top: 58px; bottom: 78px; z-index: 7; width: 32%; pointer-events: none; background: linear-gradient(105deg, transparent, rgba(255, 255, 255, .11), transparent); transform: translateX(-150%); animation: reelPolish 9s ease-in-out infinite; }

    .reel-toolbar { position: relative; z-index: 10; height: 58px; padding: 0 21px; border-bottom: 1px solid rgba(101, 205, 243, .13); display: flex; align-items: center; gap: 14px; color: rgba(177, 218, 233, .5); background: rgba(3, 17, 29, .72); font-size: 7px; letter-spacing: .16em; text-transform: uppercase; }
    .reel-lights { display: flex; gap: 10px; }
    .reel-lights i { width: 6px; height: 6px; border: 1px solid rgba(123, 222, 252, .44); border-radius: 50%; }
    .reel-status { margin-left: auto; display: flex; align-items: center; gap: 8px; }
    .reel-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #6fddff; box-shadow: 0 0 10px rgba(93, 217, 255, .8); animation: nodePulse 2.8s ease-in-out infinite; }

    .reel-stage { position: relative; z-index: 2; height: 524px; overflow: hidden; background: #06111d; }
    .reel-frame { position: absolute; inset: 0; margin: 0; opacity: 0; pointer-events: none; transform: scale(1.025); transition: opacity .85s ease, transform 1.3s cubic-bezier(.2, .72, .2, 1); }
    .reel-frame.is-active { z-index: 2; opacity: 1; pointer-events: auto; transform: scale(1); }
    .reel-frame::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(145deg, rgba(13, 104, 165, .15), transparent 39%, rgba(2, 10, 18, .4)), linear-gradient(180deg, transparent 54%, rgba(2, 10, 19, .86)); mix-blend-mode: color; }
    .reel-frame::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; box-shadow: inset 0 0 90px rgba(1, 8, 15, .32); }
    .reel-frame img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.74) contrast(1.07) brightness(.83); transition: filter .65s ease, transform 5.2s ease; }
    .reel-frame.is-active img { transform: scale(1.025); }
    .reel-frame--2022 img { object-position: center 42%; }
    .reel-frame--2020 img { object-position: center 42%; }
    .reel-frame--dialog img { object-position: center; }
    .reel-frame--work img { object-position: center; }

    .reel-caption { position: absolute; left: 26px; right: 26px; bottom: 24px; z-index: 5; display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; }
    .reel-caption > span { display: grid; gap: 7px; color: rgba(224, 243, 251, .72); font-size: 10px; letter-spacing: .06em; }
    .reel-caption small { color: #78ddff; font-size: 7px; letter-spacing: .18em; text-transform: uppercase; }
    .reel-caption strong { color: #eefaff; font-size: clamp(24px, 2.1vw, 34px); font-weight: 470; letter-spacing: -.045em; }
    .reel-caption em { padding: 7px 9px; border: 1px solid rgba(168, 224, 246, .2); border-radius: 999px; color: rgba(207, 234, 246, .63); background: rgba(3, 18, 29, .5); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); font-size: 6px; font-style: normal; letter-spacing: .14em; text-transform: uppercase; }

    .reel-controls { position: relative; z-index: 10; height: 78px; padding: 0 17px; border-top: 1px solid rgba(101, 205, 243, .11); display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; align-items: center; background: rgba(3, 16, 28, .88); }
    .reel-control { position: relative; height: 48px; padding: 0 11px; overflow: hidden; border: 1px solid transparent; border-radius: 11px; color: rgba(178, 214, 229, .45); background: transparent; text-align: left; cursor: pointer; transition: color .3s ease, border-color .3s ease, background .3s ease; }
    .reel-control::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 6px; height: 1px; background: rgba(111, 211, 247, .12); }
    .reel-control::before { content: ""; position: absolute; left: 10px; bottom: 6px; z-index: 2; width: 0; height: 1px; background: #79ddff; box-shadow: 0 0 7px rgba(93, 215, 255, .58); }
    .reel-control.is-active { color: #e8faff; border-color: rgba(105, 214, 250, .18); background: rgba(18, 67, 97, .38); }
    .reel-control.is-active::before { animation: reelProgress 5.2s linear forwards; }
    .reel-control span { display: block; font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
    .reel-control small { display: block; margin-top: 5px; font-size: 6px; letter-spacing: .1em; opacity: .66; }

    .light-bridge { position: relative; height: clamp(110px, 12vw, 190px); margin-top: -1px; overflow: hidden; background: linear-gradient(180deg, #020912 0%, #e9f2f5 100%); }
    .light-bridge::before { content: ""; position: absolute; left: 50%; top: 0; width: 1px; height: 72%; background: linear-gradient(180deg, rgba(101, 220, 255, .7), rgba(36, 124, 159, .15)); box-shadow: 0 0 13px rgba(72, 199, 232, .34); }
    .light-bridge::after { content: ""; position: absolute; left: 12%; right: 12%; bottom: 24%; height: 1px; background: linear-gradient(90deg, transparent, rgba(46, 139, 173, .24), transparent); }

    .legacy-section { position: relative; color: var(--ink); background: linear-gradient(180deg, #e9f2f5 0%, #f8fbfc 46%, #edf5f7 100%); isolation: isolate; }
    .legacy-section::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .48; background-image: linear-gradient(rgba(29, 110, 145, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(29, 110, 145, .045) 1px, transparent 1px); background-size: 52px 52px; -webkit-mask-image: radial-gradient(circle at 50% 40%, #000, transparent 74%); mask-image: radial-gradient(circle at 50% 40%, #000, transparent 74%); }
    .section-shell { width: var(--shell); margin: 0 auto; padding: clamp(110px, 14vh, 160px) 0 clamp(120px, 15vh, 178px); }
    .section-heading { display: grid; grid-template-columns: minmax(520px, 1.05fr) minmax(380px, .65fr); align-items: end; gap: clamp(70px, 10vw, 160px); }
    .section-kicker { margin: 0 0 20px; display: flex; align-items: center; gap: 13px; color: #167cac; font-size: 9px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
    .section-kicker::before { content: ""; width: 28px; height: 1px; background: linear-gradient(90deg, #1984b5, transparent); }
    .section-title { margin: 0; color: #102f40; font-size: clamp(58px, 6.7vw, 108px); font-weight: 400; line-height: .88; letter-spacing: -.072em; }
    .section-intro { margin: 0 0 5px; color: #587382; font-size: clamp(14px, 1.15vw, 18px); line-height: 1.72; }

    .filmstrip { position: relative; margin-top: clamp(70px, 9vh, 105px); padding: 23px 0; display: grid; grid-template-columns: 1.08fr .92fr .92fr 1.08fr; gap: 15px; }
    .filmstrip::before,
    .filmstrip::after { content: ""; position: absolute; left: -4vw; right: -4vw; height: 1px; background: linear-gradient(90deg, transparent, rgba(28, 115, 151, .24), transparent); }
    .filmstrip::before { top: 0; }
    .filmstrip::after { bottom: 0; }
    .film-card { --film-accent: #177eaa; position: relative; min-width: 0; height: 440px; margin: 0; overflow: hidden; border: 1px solid rgba(29, 112, 148, .16); border-radius: 21px; background: #dce9ee; box-shadow: 0 28px 70px rgba(43, 88, 109, .12); transition: transform .55s cubic-bezier(.2, .72, .2, 1), box-shadow .45s ease; }
    .film-card:nth-child(2),
    .film-card:nth-child(3) { height: 390px; margin-top: 50px; }
    .film-card:hover { z-index: 3; transform: translateY(-10px); box-shadow: 0 38px 90px rgba(43, 88, 109, .2); }
    .film-card::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(145deg, rgba(15, 117, 164, .09), transparent 38%, rgba(4, 24, 35, .58)), linear-gradient(180deg, transparent 55%, rgba(3, 22, 33, .76)); mix-blend-mode: color; }
    .film-card::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; opacity: .17; background-image: linear-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .1) 1px, transparent 1px); background-size: 29px 29px; -webkit-mask-image: linear-gradient(180deg, transparent, #000); mask-image: linear-gradient(180deg, transparent, #000); }
    .film-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) contrast(1.06) brightness(.88); transition: transform .8s cubic-bezier(.2, .72, .2, 1), filter .5s ease; }
    .film-card:hover img { transform: scale(1.055); filter: saturate(.86) contrast(1.04) brightness(.95); }
    .film-card--dialog img { object-position: center; }
    .film-card--work img { object-position: 58% center; }
    .film-card--2020 img { object-position: center; }
    .film-card--2022 img { object-position: 50% center; }
    .film-card figcaption { position: absolute; left: 19px; right: 19px; bottom: 18px; z-index: 5; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; color: #effaff; }
    .film-card figcaption span { display: grid; gap: 5px; }
    .film-card figcaption small { color: #8ee7ff; font-size: 6px; letter-spacing: .18em; text-transform: uppercase; }
    .film-card figcaption strong { font-size: 16px; font-weight: 500; letter-spacing: -.025em; }
    .film-card figcaption b { font-family: Georgia, serif; font-size: 22px; font-weight: 400; }

    .legacy-statement { margin-top: clamp(70px, 9vh, 110px); padding: clamp(36px, 5vw, 72px); border: 1px solid rgba(28, 112, 147, .15); border-radius: 27px; display: grid; grid-template-columns: minmax(470px, 1fr) minmax(350px, .65fr); gap: clamp(55px, 8vw, 120px); align-items: center; background: rgba(255, 255, 255, .54); box-shadow: 0 32px 90px rgba(39, 79, 99, .1), inset 0 1px rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
    .legacy-statement blockquote { margin: 0; color: #153a4d; font-size: clamp(32px, 3.4vw, 54px); font-weight: 410; line-height: 1.04; letter-spacing: -.055em; }
    .legacy-statement blockquote span { color: #197fa9; }
    .legacy-statement div { padding-left: 25px; border-left: 1px solid rgba(28, 116, 151, .24); }
    .legacy-statement p { margin: 0; color: #597482; font-size: 14px; line-height: 1.72; }
    .legacy-statement small { margin-top: 18px; display: block; color: rgba(38, 92, 115, .52); font-size: 8px; letter-spacing: .17em; text-transform: uppercase; }

    .complexity-section { position: relative; min-height: 1100px; color: #eaf8ff; background: radial-gradient(circle at 50% 55%, rgba(18, 114, 184, .17), transparent 34%), linear-gradient(147deg, #020711, #07192a 55%, #020912); isolation: isolate; }
    .complexity-section::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .28; background-image: linear-gradient(rgba(89, 196, 241, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(89, 196, 241, .055) 1px, transparent 1px); background-size: 50px 50px; -webkit-mask-image: radial-gradient(circle at 50% 56%, #000, transparent 72%); mask-image: radial-gradient(circle at 50% 56%, #000, transparent 72%); }
    .complexity-section::after { content: "ANY COMPLEXITY"; position: absolute; left: -1vw; bottom: -1.5vw; z-index: -1; color: transparent; -webkit-text-stroke: 1px rgba(107, 207, 247, .04); font-size: clamp(100px, 15vw, 255px); font-weight: 650; line-height: .76; letter-spacing: -.08em; white-space: nowrap; }
    .complexity-shell { width: var(--shell); margin: 0 auto; padding: clamp(120px, 15vh, 170px) 0 clamp(130px, 17vh, 190px); }
    .dark-heading { display: grid; grid-template-columns: minmax(550px, 1fr) minmax(360px, .62fr); align-items: end; gap: clamp(70px, 10vw, 160px); }
    .dark-kicker { margin: 0 0 20px; display: flex; align-items: center; gap: 13px; color: #79dfff; font-size: 9px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
    .dark-kicker::before { content: ""; width: 29px; height: 1px; background: linear-gradient(90deg, #66dcff, transparent); box-shadow: 0 0 8px rgba(89, 211, 255, .5); }
    .dark-title { margin: 0; color: #eefaff; font-size: clamp(58px, 6.5vw, 105px); font-weight: 390; line-height: .88; letter-spacing: -.07em; }
    .dark-title em { color: #a4e7fa; font-style: normal; font-weight: 300; }
    .dark-intro { margin: 0 0 4px; color: rgba(190, 219, 233, .65); font-size: clamp(14px, 1.13vw, 18px); line-height: 1.72; }

    .project-system { position: relative; min-height: 650px; margin-top: clamp(75px, 10vh, 112px); overflow: hidden; border: 1px solid rgba(104, 211, 247, .2); border-radius: 30px; background: radial-gradient(circle at 50% 50%, rgba(37, 145, 207, .13), transparent 30%), linear-gradient(145deg, rgba(8, 30, 49, .95), rgba(2, 13, 24, .93)); box-shadow: 0 48px 120px rgba(0, 0, 0, .31), inset 0 1px rgba(255, 255, 255, .04); }
    .project-system::before { content: ""; position: absolute; inset: 0; opacity: .43; background-image: linear-gradient(rgba(87, 190, 229, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(87, 190, 229, .045) 1px, transparent 1px); background-size: 30px 30px; -webkit-mask-image: radial-gradient(circle at 50% 50%, #000, transparent 76%); mask-image: radial-gradient(circle at 50% 50%, #000, transparent 76%); }
    .system-toolbar { position: absolute; left: 0; right: 0; top: 0; z-index: 8; height: 58px; padding: 0 22px; border-bottom: 1px solid rgba(103, 203, 241, .11); display: flex; align-items: center; gap: 13px; color: rgba(170, 213, 229, .45); font-size: 7px; letter-spacing: .16em; text-transform: uppercase; background: rgba(3, 17, 30, .58); }
    .system-toolbar i { width: 6px; height: 6px; border: 1px solid rgba(127, 220, 250, .34); border-radius: 50%; }
    .system-toolbar span { margin-left: auto; display: flex; align-items: center; gap: 8px; }
    .system-toolbar span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #6ee1ff; box-shadow: 0 0 9px rgba(95, 219, 255, .72); animation: nodePulse 2.7s ease-in-out infinite; }

    .system-traces { position: absolute; inset: 58px 0 0; width: 100%; height: calc(100% - 58px); pointer-events: none; }
    .system-traces path { fill: none; stroke: rgba(105, 208, 245, .18); stroke-width: 1; vector-effect: non-scaling-stroke; }
    .system-traces .pulse { stroke: rgba(116, 224, 253, .8); stroke-width: 1.3; stroke-dasharray: 1 72; stroke-linecap: round; filter: drop-shadow(0 0 7px rgba(88, 213, 248, .72)); animation: currentRun 7s linear infinite; }
    .system-traces .pulse:nth-of-type(2) { animation-delay: -2.3s; }
    .system-traces .pulse:nth-of-type(3) { animation-delay: -4.6s; }

    .system-core { position: absolute; left: 50%; top: 54%; z-index: 5; width: 220px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(134, 226, 255, .34); border-radius: 50%; background: radial-gradient(circle at 34% 27%, rgba(160, 247, 255, .22), transparent 18%), radial-gradient(circle at 75% 72%, rgba(118, 86, 255, .29), transparent 31%), radial-gradient(circle at 48% 53%, rgba(26, 126, 222, .48), rgba(5, 32, 59, .94) 58%, rgba(2, 12, 26, .99) 76%); box-shadow: inset -32px -38px 70px rgba(0, 5, 14, .68), inset 24px 20px 55px rgba(79, 214, 247, .1), 0 0 0 17px rgba(65, 175, 222, .025), -18px -9px 76px rgba(31, 178, 224, .17), 24px 18px 84px rgba(81, 61, 223, .19); transform: translate(-50%, -50%); }
    .system-core::before { content: ""; position: absolute; inset: 8.5%; border: 1px solid rgba(120, 218, 255, .19); border-radius: inherit; background: repeating-conic-gradient(from 16deg, rgba(121, 232, 255, .34) 0 .35deg, transparent .35deg 5.6deg, rgba(149, 119, 255, .24) 5.8deg 6.15deg, transparent 6.3deg 9deg); -webkit-mask: radial-gradient(transparent 0 84%, #000 84.5% 85%, transparent 85.5%); mask: radial-gradient(transparent 0 84%, #000 84.5% 85%, transparent 85.5%); animation: coreOrbit 36s linear infinite; }
    .system-core div { position: relative; z-index: 2; width: 72%; text-align: center; }
    .system-core small { display: block; color: rgba(146, 214, 237, .46); font-size: 6px; letter-spacing: .2em; text-transform: uppercase; }
    .system-core strong { margin-top: 10px; display: block; color: #edfaff; font-size: 31px; font-weight: 470; line-height: .95; letter-spacing: -.055em; }
    .system-core span { margin-top: 10px; display: block; color: #79ddff; font-size: 6px; letter-spacing: .16em; text-transform: uppercase; }

    .system-node { position: absolute; z-index: 6; width: min(24%, 270px); min-height: 105px; padding: 19px 20px; border: 1px solid rgba(103, 207, 245, .16); border-radius: 16px; color: #e9f8ff; background: linear-gradient(135deg, rgba(13, 51, 78, .83), rgba(4, 20, 34, .9)); box-shadow: 0 20px 52px rgba(0, 0, 0, .23), inset 0 1px rgba(255, 255, 255, .04); transition: transform .4s cubic-bezier(.2, .72, .2, 1), border-color .35s ease, box-shadow .35s ease; }
    .system-node:hover { transform: translateY(-6px); border-color: rgba(111, 219, 253, .46); box-shadow: 0 27px 62px rgba(0, 0, 0, .32), 0 0 24px rgba(81, 197, 239, .08); }
    .system-node::before { content: ""; position: absolute; top: 19px; left: -4px; width: 7px; height: 7px; border: 1px solid #74ddff; border-radius: 50%; background: #061827; box-shadow: 0 0 12px rgba(88, 214, 255, .58); }
    .system-node small { color: #72d9fa; font-size: 6px; letter-spacing: .18em; text-transform: uppercase; }
    .system-node strong { margin-top: 9px; display: block; font-size: 16px; font-weight: 520; letter-spacing: -.02em; }
    .system-node span { margin-top: 7px; display: block; color: rgba(183, 218, 231, .53); font-size: 9px; line-height: 1.45; }
    .system-node--analysis { left: 5%; top: 19%; }
    .system-node--architecture { right: 5%; top: 19%; }
    .system-node--design { left: 4%; top: 46%; }
    .system-node--development { right: 4%; top: 46%; }
    .system-node--integration { left: 9%; bottom: 8%; }
    .system-node--support { right: 9%; bottom: 8%; }

    .principles-section { position: relative; color: var(--ink); background: linear-gradient(180deg, #edf5f7, #f9fcfd 53%, #eaf2f5); isolation: isolate; }
    .principles-section::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .38; background-image: linear-gradient(rgba(31, 111, 142, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 111, 142, .05) 1px, transparent 1px); background-size: 48px 48px; -webkit-mask-image: radial-gradient(circle at 50% 45%, #000, transparent 77%); mask-image: radial-gradient(circle at 50% 45%, #000, transparent 77%); }
    .principles-shell { width: var(--shell); margin: 0 auto; padding: clamp(120px, 16vh, 180px) 0 clamp(125px, 16vh, 185px); }
    .principles-head { max-width: 1120px; }
    .principles-title { margin: 0; color: #123447; font-size: clamp(58px, 7vw, 112px); font-weight: 400; line-height: .88; letter-spacing: -.072em; }
    .principles-title span { color: #187da8; }
    .principles-lead { max-width: 750px; margin: 34px 0 0; color: #5a7482; font-size: clamp(15px, 1.2vw, 19px); line-height: 1.72; }
    .principles-grid { margin-top: clamp(70px, 9vh, 104px); display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
    .principle-card { position: relative; min-height: 335px; padding: 31px 28px; overflow: hidden; border: 1px solid rgba(29, 109, 144, .15); border-radius: 23px; display: flex; flex-direction: column; background: rgba(255, 255, 255, .6); box-shadow: 0 26px 65px rgba(38, 77, 96, .09), inset 0 1px rgba(255, 255, 255, .9); transition: transform .45s cubic-bezier(.2, .72, .2, 1), box-shadow .4s ease; }
    .principle-card:hover { transform: translateY(-9px); box-shadow: 0 36px 85px rgba(38, 77, 96, .15); }
    .principle-card::before { content: ""; position: absolute; left: 28px; right: 28px; top: 0; height: 1px; background: linear-gradient(90deg, transparent, #2585aa, transparent); }
    .principle-index { display: flex; align-items: center; justify-content: space-between; color: #217fa5; }
    .principle-index strong { font-family: Georgia, serif; font-size: 25px; font-weight: 400; }
    .principle-index span { font-size: 6px; letter-spacing: .17em; text-transform: uppercase; }
    .principle-card h3 { margin: auto 0 0; color: #16394a; font-size: clamp(26px, 2.2vw, 35px); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
    .principle-card p { margin: 17px 0 0; color: #607986; font-size: 12px; line-height: 1.65; }

    .responsibility-note { margin-top: 18px; padding: clamp(34px, 5vw, 66px); border: 1px solid rgba(27, 109, 144, .16); border-radius: 25px; display: grid; grid-template-columns: minmax(450px, 1fr) minmax(330px, .66fr); gap: clamp(50px, 8vw, 115px); align-items: center; color: #eefaff; background: radial-gradient(circle at 83% 30%, rgba(36, 150, 209, .23), transparent 28%), linear-gradient(145deg, #082237, #061625); box-shadow: 0 35px 90px rgba(27, 63, 82, .2); }
    .responsibility-note strong { font-size: clamp(34px, 3.8vw, 62px); font-weight: 420; line-height: .98; letter-spacing: -.06em; }
    .responsibility-note strong span { color: #93e5fb; }
    .responsibility-note p { margin: 0; color: rgba(188, 218, 231, .64); font-size: 14px; line-height: 1.72; }

    .team-cta { position: relative; min-height: 720px; overflow: hidden; display: grid; place-items: center; text-align: center; background: radial-gradient(circle at 50% 45%, rgba(31, 137, 214, .2), transparent 29%), linear-gradient(145deg, #020711, #071728 58%, #020912); isolation: isolate; }
    .team-cta::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .3; background-image: linear-gradient(rgba(93, 201, 244, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(93, 201, 244, .055) 1px, transparent 1px); background-size: 50px 50px; -webkit-mask-image: radial-gradient(circle at 50% 45%, #000, transparent 68%); mask-image: radial-gradient(circle at 50% 45%, #000, transparent 68%); }
    .cta-circuit { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }
    .cta-circuit path { fill: none; stroke: rgba(101, 210, 249, .13); stroke-width: 1; vector-effect: non-scaling-stroke; }
    .cta-circuit .current { stroke: rgba(130, 227, 255, .74); stroke-dasharray: 2 84; filter: drop-shadow(0 0 6px rgba(93, 216, 255, .75)); animation: currentRun 8s linear infinite; }
    .cta-inner { width: min(100% - 40px, 1120px); padding: 110px 0; }
    .cta-kicker { margin: 0 0 22px; color: #7bddfb; font-size: 9px; letter-spacing: .22em; text-transform: uppercase; }
    .cta-title { margin: 0; color: #f0faff; font-size: clamp(58px, 7.6vw, 122px); font-weight: 390; line-height: .85; letter-spacing: -.075em; }
    .cta-title span { color: #a0e5fa; }
    .cta-copy { max-width: 660px; margin: 31px auto 0; color: rgba(194, 222, 235, .66); font-size: 16px; line-height: 1.72; }
    .cta-actions { margin-top: 39px; display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }

    .site-footer {
      --footer-ink: #173b4d;
      --footer-steel: #2c7794;
      --footer-ice: #ecf5f7;
      position: relative;
      min-height: 720px;
      overflow: hidden;
      color: var(--footer-ink);
      background: radial-gradient(circle at 13% 8%, rgba(79, 151, 178, .09), transparent 27%), linear-gradient(180deg, #edf5f7 0%, #e7f0f3 52%, #eaf2f4 100%);
      isolation: isolate;
    }
    .site-footer::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .38; background-image: linear-gradient(rgba(31, 111, 142, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 111, 142, .05) 1px, transparent 1px); background-size: 46px 46px; -webkit-mask-image: radial-gradient(circle at 50% 38%, #000, transparent 80%); mask-image: radial-gradient(circle at 50% 38%, #000, transparent 80%); }
    .site-footer::after { content: "FLEXCORE"; position: absolute; right: -1.5vw; bottom: -2vw; z-index: -1; color: transparent; -webkit-text-stroke: 1px rgba(40, 111, 137, .055); font-size: clamp(90px, 14vw, 240px); font-weight: 650; line-height: .8; letter-spacing: -.08em; white-space: nowrap; }
    .footer-signal { position: absolute; top: 0; left: 5.2vw; right: 5.2vw; z-index: 3; height: 92px; overflow: hidden; pointer-events: none; }
    .footer-signal::before { content: ""; position: absolute; top: 0; left: 50%; width: 1px; height: 53px; background: linear-gradient(180deg, rgba(196, 239, 249, .92), rgba(30, 131, 169, .32)); box-shadow: 0 0 13px rgba(72, 187, 219, .34); }
    .footer-signal-rail { position: absolute; top: 53px; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, rgba(28, 121, 158, .2) 11%, rgba(51, 145, 178, .54) 50%, rgba(28, 121, 158, .2) 89%, transparent); }
    .footer-signal-rail::before,
    .footer-signal-rail::after { content: ""; position: absolute; top: 0; width: clamp(70px, 10vw, 150px); height: 1px; opacity: .92; background: linear-gradient(90deg, transparent, #effcff 50%, transparent); filter: drop-shadow(0 0 6px rgba(59, 169, 202, .7)); animation: footerSignalRun 7.5s linear infinite; }
    .footer-signal-rail::after { animation-delay: -3.75s; }
    .footer-signal-node { position: absolute; top: 47px; left: 50%; width: 13px; height: 13px; border: 1px solid rgba(42, 133, 166, .72); border-radius: 50%; background: #eff8fa; box-shadow: 0 0 0 6px rgba(42, 130, 163, .055), 0 0 18px rgba(47, 149, 181, .3); transform: translateX(-50%); }
    .footer-signal-node::after { content: ""; position: absolute; inset: 3px; border-radius: inherit; background: #247c9c; box-shadow: 0 0 8px rgba(42, 145, 179, .55); animation: footerNodePulse 2.8s ease-in-out infinite; }
    .footer-inner { position: relative; z-index: 2; width: min(100%, 1600px); min-height: 720px; margin: 0 auto; padding: clamp(116px, 14vh, 158px) clamp(30px, 5.2vw, 82px) clamp(34px, 4.5vh, 56px); display: flex; flex-direction: column; justify-content: space-between; gap: clamp(46px, 6vh, 74px); }
    .footer-main { display: grid; grid-template-columns: minmax(340px, .82fr) minmax(560px, 1.18fr); gap: clamp(64px, 8vw, 132px); align-items: start; }
    .footer-brand { min-width: 0; overflow: visible; }
    .footer-kicker { margin: 0 0 16px; display: flex; align-items: center; gap: 11px; color: rgba(48, 91, 109, .58); font-size: 9px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; }
    .footer-kicker::before { content: ""; width: 24px; height: 1px; background: linear-gradient(90deg, var(--footer-steel), transparent); box-shadow: 0 0 7px rgba(48, 141, 174, .2); }
    .footer-wordmark { width: fit-content; padding: .08em .035em .14em 0; display: inline-block; overflow: visible; color: var(--footer-ice); background: linear-gradient(108deg, #173f54 0%, #6f9bab 34%, #245f78 58%, #89afbc 78%, #173f54 100%); background-size: 230% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 12px 30px rgba(49, 108, 130, .1)); font-size: clamp(48px, 5.1vw, 84px); font-weight: 500; line-height: 1; letter-spacing: -.075em; white-space: nowrap; text-decoration: none; animation: footerWordmarkFlow 10s ease-in-out infinite alternate; }
    .footer-tagline { max-width: 470px; margin: 30px 0 0; color: rgba(48, 78, 92, .75); font-size: clamp(14px, 1.1vw, 17px); line-height: 1.7; }
    .footer-accreditation { width: fit-content; max-width: 100%; margin-top: 24px; padding: 10px 13px 10px 11px; display: inline-flex; align-items: center; gap: 9px; color: rgba(42, 84, 102, .75); border: 1px solid rgba(34, 111, 141, .18); border-radius: 999px; background: rgba(255, 255, 255, .48); font-size: 9px; letter-spacing: .09em; line-height: 1.35; text-decoration: none; text-transform: uppercase; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
    .footer-accreditation::before { content: ""; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #277f9f; box-shadow: 0 0 10px rgba(43, 141, 174, .42); animation: footerNodePulse 2.8s ease-in-out infinite; }
    .footer-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(26px, 3.3vw, 54px); }
    .footer-column { position: relative; min-width: 0; padding-top: 19px; border-top: 1px solid rgba(29, 104, 134, .18); }
    .footer-column::before { content: ""; position: absolute; top: -1px; left: 0; width: 34px; height: 1px; background: #277c9c; box-shadow: 0 0 8px rgba(41, 137, 170, .3); transition: width .45s ease; }
    .footer-column:hover::before { width: min(100%, 88px); }
    .footer-column-title { margin: 0 0 21px; color: rgba(47, 86, 102, .58); font-size: 9px; font-weight: 500; letter-spacing: .19em; text-transform: uppercase; }
    .footer-links { margin: 0; padding: 0; display: grid; gap: 13px; list-style: none; }
    .footer-links a,
    .footer-links span { width: fit-content; max-width: 100%; display: inline-flex; align-items: center; gap: 8px; color: rgba(38, 70, 84, .78); font-size: 12px; line-height: 1.45; text-decoration: none; }
    .footer-links a { transition: color .28s ease, transform .28s ease; }
    .footer-links a::after { content: ""; width: 13px; height: 1px; opacity: 0; background: currentColor; transform: translateX(-8px); transition: opacity .28s ease, transform .28s ease; }
    .footer-links a:hover,
    .footer-links a:focus-visible { color: #0a4865; transform: translateX(3px); }
    .footer-links a:hover::after,
    .footer-links a:focus-visible::after { opacity: .58; transform: translateX(0); }
    .footer-links .footer-contact-primary { color: #153f54; font-size: 14px; letter-spacing: -.015em; }
    .footer-links .footer-hours { color: rgba(61, 91, 103, .58); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
    .footer-meta { margin-top: auto; display: grid; gap: 25px; }
    .footer-location { padding: 24px 0; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-top: 1px solid rgba(29, 104, 134, .15); border-bottom: 1px solid rgba(29, 104, 134, .15); }
    .footer-address { display: flex; align-items: center; gap: 13px; color: rgba(35, 73, 90, .78); font-size: clamp(13px, 1.05vw, 16px); line-height: 1.45; text-decoration: none; }
    .footer-address::before { content: ""; width: 9px; height: 9px; flex: 0 0 9px; border: 1px solid #337e99; border-radius: 50%; box-shadow: 0 0 0 5px rgba(48, 132, 162, .05), 0 0 10px rgba(51, 139, 169, .18); }
    .footer-location-meta { display: flex; align-items: center; gap: 15px; color: rgba(55, 83, 95, .54); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; white-space: nowrap; }
    .footer-location-meta::before { content: ""; width: 34px; height: 1px; background: linear-gradient(90deg, transparent, rgba(35, 112, 141, .4)); }
    .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; color: rgba(59, 85, 96, .52); font-size: 9px; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
    .footer-legal { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; }
    .footer-to-top { display: inline-flex; align-items: center; gap: 12px; color: rgba(39, 77, 94, .7); text-decoration: none; }
    .footer-to-top::after { content: ""; width: 8px; height: 8px; border-top: 1px solid currentColor; border-left: 1px solid currentColor; transform: translateY(2px) rotate(45deg); transition: transform .3s ease; }
    .footer-to-top:hover::after { transform: translateY(-3px) rotate(45deg); }

    @keyframes headerIn { to { opacity: 1; transform: translateY(0); } }
    @keyframes miniLogoShimmer { to { background-position: 100% 50%; } }
    @keyframes currentRun { to { stroke-dashoffset: -100; } }
    @keyframes nodePulse { 50% { opacity: .36; transform: scale(.65); } }
    @keyframes coreOrbit { to { transform: rotate(360deg); } }
    @keyframes reelPolish { 0%, 16% { left: -45%; opacity: 0; } 24% { opacity: .42; } 64% { left: 122%; opacity: .08; } 65%, 100% { left: 122%; opacity: 0; } }
    @keyframes reelProgress { from { width: 0; } to { width: calc(100% - 20px); } }
    @keyframes footerSignalRun { from { left: -14%; } to { left: 100%; } }
    @keyframes footerNodePulse { 50% { opacity: .36; transform: scale(.65); } }
    @keyframes footerWordmarkFlow { to { background-position: 100% 50%; } }

    @media (max-width: 1220px) {
      :root { --shell: min(100% - 48px, 1480px); }
      .mini-logo { margin-right: 34px; }
      .main-nav { gap: 24px; }
      .hero-shell { grid-template-columns: minmax(390px, .77fr) minmax(520px, 1.23fr); gap: 48px; }
      .team-reel { min-height: 610px; }
      .reel-stage { height: 474px; }
      .film-card { height: 390px; }
      .film-card:nth-child(2), .film-card:nth-child(3) { height: 350px; margin-top: 40px; }
      .project-system { min-height: 690px; }
      .system-node { width: min(26%, 260px); }
      .principles-grid { grid-template-columns: repeat(2, 1fr); }
      .footer-main { grid-template-columns: minmax(280px, .7fr) minmax(540px, 1.3fr); gap: 58px; }
    }

    @media (max-width: 980px) {
      .hero-shell { min-height: auto; padding: 138px 0 105px; grid-template-columns: 1fr; gap: 70px; }
      .hero-copy { max-width: 800px; }
      .team-reel { width: min(100%, 760px); justify-self: center; }
      .section-heading, .dark-heading { grid-template-columns: 1fr; gap: 28px; }
      .section-intro, .dark-intro { max-width: 740px; }
      .filmstrip { grid-template-columns: repeat(2, 1fr); }
      .film-card, .film-card:nth-child(2), .film-card:nth-child(3) { height: 430px; margin-top: 0; }
      .legacy-statement, .responsibility-note { grid-template-columns: 1fr; gap: 36px; }
      .legacy-statement div { padding: 24px 0 0; border-left: 0; border-top: 1px solid rgba(28, 116, 151, .2); }
      .project-system { min-height: auto; padding: 90px 28px 32px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
      .system-traces { display: none; }
      .system-core { position: relative; left: auto; top: auto; width: 190px; margin: 0 auto 15px; grid-column: 1 / -1; transform: none; }
      .system-node { position: relative; inset: auto; width: auto; min-height: 120px; }
      .footer-main { grid-template-columns: 1fr; }
      .footer-brand { max-width: 650px; }
    }

    @media (max-width: 860px) {
      .main-nav { position: absolute; top: 76px; left: 18px; right: 18px; z-index: 2; min-height: 0; padding: 9px; display: grid; gap: 0; overflow: hidden; border: 1px solid rgba(83, 184, 232, .25); border-radius: 18px; background: linear-gradient(rgba(62, 166, 222, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(62, 166, 222, .045) 1px, transparent 1px), rgba(3, 12, 24, .95); background-size: 24px 24px, 24px 24px, auto; box-shadow: 0 22px 60px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .04); -webkit-backdrop-filter: blur(22px) saturate(135%); backdrop-filter: blur(22px) saturate(135%); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-10px) scale(.985); transform-origin: 80% 0; transition: opacity .28s ease, transform .38s cubic-bezier(.2, .78, .2, 1), visibility 0s linear .38s, background .7s ease, border-color .7s ease; }
      .main-nav::before { content: ""; position: absolute; top: 0; left: 18px; right: 18px; height: 1px; background: linear-gradient(90deg, transparent, rgba(119, 226, 255, .8), transparent); box-shadow: 0 0 12px rgba(85, 211, 255, .42); }
      .site-header.is-menu-open .main-nav { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); transition-delay: 0s; }
      .main-nav a { min-height: 48px; padding: 0 14px; display: flex; align-items: center; border-bottom: 1px solid rgba(102, 178, 218, .12); font-size: 12px; letter-spacing: .045em; }
      .main-nav a:last-child { border-bottom: 0; }
      .site-header.is-light .main-nav { border-color: rgba(25, 111, 158, .2); background: linear-gradient(rgba(21, 112, 160, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(21, 112, 160, .045) 1px, transparent 1px), rgba(245, 250, 252, .96); background-size: 24px 24px, 24px 24px, auto; box-shadow: 0 22px 60px rgba(25, 71, 99, .16), inset 0 1px rgba(255, 255, 255, .7); }
      .menu-toggle { display: block; }
      .mini-logo { margin-right: 0; }
      .header-actions { gap: 10px; }
    }

    @media (max-width: 700px) {
      :root { --shell: min(100% - 32px, 1480px); }
      .team-hero { min-height: auto; }
      .hero-shell { padding: 114px 0 76px; gap: 52px; }
      .breadcrumbs { margin-bottom: 40px; }
      .hero-title { font-size: clamp(58px, 17.5vw, 82px); }
      .hero-lead { margin-top: 28px; font-size: 14px; }
      .hero-promise { font-size: 11px; }
      .hero-actions { align-items: stretch; flex-direction: column; }
      .hero-actions a { width: 100%; justify-content: space-between; }
      .team-reel { min-height: 522px; border-radius: 20px; }
      .reel-toolbar { height: 52px; padding-inline: 14px; }
      .reel-status { font-size: 0; }
      .reel-stage { height: 395px; }
      .reel-caption { left: 16px; right: 16px; bottom: 16px; }
      .reel-caption strong { font-size: 24px; }
      .reel-caption em { display: none; }
      .reel-controls { height: 75px; padding-inline: 8px; gap: 3px; }
      .reel-control { padding-inline: 7px; text-align: center; }
      .reel-control span { font-size: 7px; }
      .reel-control small { display: none; }
      .light-bridge { height: 105px; }
      .section-shell, .complexity-shell, .principles-shell { padding-block: 100px 115px; }
      .section-title, .dark-title, .principles-title { font-size: clamp(50px, 14.5vw, 70px); }
      .filmstrip { margin-top: 55px; grid-template-columns: 1fr; }
      .film-card, .film-card:nth-child(2), .film-card:nth-child(3) { height: auto; aspect-ratio: 4 / 3; }
      .film-card--dialog, .film-card--work { aspect-ratio: 16 / 10; }
      .legacy-statement { margin-top: 55px; padding: 28px 24px; border-radius: 20px; }
      .legacy-statement blockquote { font-size: 34px; }
      .complexity-section { min-height: 0; }
      .project-system { margin-top: 55px; padding: 82px 14px 18px; grid-template-columns: 1fr; border-radius: 21px; }
      .system-toolbar { height: 52px; padding-inline: 14px; }
      .system-toolbar span { font-size: 0; }
      .system-core { width: 165px; grid-column: auto; }
      .system-core strong { font-size: 25px; }
      .system-node { min-height: 110px; }
      .principles-grid { margin-top: 55px; grid-template-columns: 1fr; }
      .principle-card { min-height: 290px; }
      .responsibility-note { padding: 30px 24px; border-radius: 20px; }
      .responsibility-note strong { font-size: 36px; }
      .team-cta { min-height: 650px; }
      .cta-title { font-size: clamp(52px, 15vw, 76px); }
      .cta-copy { font-size: 14px; }
      .cta-actions { align-items: stretch; flex-direction: column; }
      .cta-actions a { width: 100%; justify-content: space-between; }
      .footer-inner { min-height: auto; padding-inline: 20px; }
      .footer-columns { grid-template-columns: 1fr; gap: 32px; }
      .footer-location { align-items: flex-start; flex-direction: column; gap: 15px; }
      .footer-location-meta { white-space: normal; }
      .footer-bottom { align-items: flex-start; flex-direction: column; }
      .site-footer::after { right: 16px; bottom: 18px; font-size: 17vw; }
    }

    @media (max-width: 620px) {
      .site-header { height: 74px; padding: 19px 18px 0; }
      .header-actions a { min-width: 124px; height: 34px; padding-inline: 12px; font-size: 11px; }
      .main-nav { top: 66px; left: 10px; right: 10px; }
    }

    @media (max-width: 450px) {
      .header-actions a { min-width: 112px; padding-inline: 9px; font-size: 10px; }
      .footer-wordmark { font-size: clamp(46px, 15vw, 60px); }
      .footer-accreditation { align-items: flex-start; border-radius: 16px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; animation-iteration-count: 1 !important; }
      [data-reveal] { opacity: 1; transform: none; transition: none; }
      .team-reel { transform: none !important; }
      .reel-frame { transition: none; }
    }

/* Runtime fallback for devices that cannot sustain the decorative motion. */
html.motion-lite [data-reveal] {
  opacity: 1;
  transform: none;
  transition: none;
}

html.motion-lite .hero-circuit .current,
html.motion-lite .cta-circuit .current,
html.motion-lite .system-traces .pulse,
html.motion-lite .team-reel::after {
  display: none !important;
  animation: none !important;
  filter: none !important;
}

html.motion-lite .reel-status::before,
html.motion-lite .reel-control.is-active::before,
html.motion-lite .system-toolbar span::before,
html.motion-lite .system-core::before {
  animation: none !important;
  will-change: auto !important;
}

html.motion-lite .team-reel {
  --rx: 0deg !important;
  --ry: 0deg !important;
  transform: none !important;
  transition: none !important;
}

html.motion-lite .reel-frame {
  transition: none !important;
}

/* Keep breadcrumbs below the fixed header even when the shared layout CSS is not loaded. */
.team-hero .breadcrumbs {
  position: relative;
  z-index: 6;
  transform: translateY(clamp(30px, 4vh, 42px));
}

@media (max-width: 700px) {
  .team-hero .breadcrumbs { transform: translateY(22px); }
}
