    :root {
      color-scheme: dark;
      --night: #020711;
      --night-soft: #071525;
      --cyan: #6cddff;
      --blue: #1674bb;
      --ice: #eafaff;
      --paper: #eef5f8;
      --paper-bright: #f9fcfd;
      --ink: #102d3d;
      --muted: #587282;
      --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%;
      background-position: 0% 50%;
      -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); }

    .contact-hero {
      position: relative;
      min-height: max(780px, 100svh);
      overflow: hidden;
      isolation: isolate;
      background:
        radial-gradient(circle at 74% 43%, rgba(17, 126, 222, .2), transparent 29%),
        radial-gradient(circle at 12% 82%, rgba(48, 187, 224, .09), transparent 24%),
        linear-gradient(145deg, #020711 0%, #071728 58%, #020912 100%);
    }

    .contact-hero::before {
      content: "CONTACT";
      position: absolute;
      left: -1.5vw;
      bottom: -2.2vw;
      z-index: -2;
      color: transparent;
      -webkit-text-stroke: 1px rgba(116, 215, 250, .045);
      font-size: clamp(120px, 18vw, 310px);
      font-weight: 650;
      line-height: .76;
      letter-spacing: -.09em;
      white-space: nowrap;
    }

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

    .hero-circuit {
      position: absolute;
      inset: 0;
      z-index: -1;
      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, .68);
      stroke-width: 1.15;
      stroke-dasharray: 1 18;
      stroke-linecap: round;
      filter: drop-shadow(0 0 6px rgba(84, 205, 255, .8));
      animation: currentRun 7s linear infinite;
    }

    .hero-shell {
      width: var(--shell);
      min-height: max(780px, 100svh);
      margin: 0 auto;
      padding: 130px 0 82px;
      display: grid;
      grid-template-columns: minmax(410px, .88fr) minmax(540px, 1.12fr);
      align-items: center;
      gap: clamp(46px, 6.5vw, 108px);
    }

    .hero-copy { position: relative; z-index: 3; max-width: 680px; }

    .breadcrumbs {
      margin-bottom: clamp(46px, 7vh, 76px);
      display: flex;
      align-items: center;
      gap: 11px;
      color: rgba(184, 210, 229, .48);
      font-size: 9px;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .breadcrumbs a { text-decoration: none; transition: color .25s ease; }
    .breadcrumbs a:hover { color: var(--cyan); }
    .breadcrumbs span::before { content: "/"; margin-right: 11px; opacity: .46; }

    .eyebrow {
      margin: 0 0 21px;
      display: flex;
      align-items: center;
      gap: 12px;
      color: rgba(149, 220, 250, .68);
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .22em;
      text-transform: uppercase;
    }

    .eyebrow::before {
      content: "";
      width: 29px;
      height: 1px;
      background: linear-gradient(90deg, var(--cyan), transparent);
      box-shadow: 0 0 8px rgba(88, 208, 255, .45);
    }

    .hero-title {
      margin: 0;
      color: #edf9ff;
      font-size: clamp(72px, 8vw, 142px);
      font-weight: 480;
      line-height: .78;
      letter-spacing: -.078em;
      text-wrap: balance;
    }

    .hero-title em {
      display: block;
      color: #82dcff;
      font-family: Georgia, "Times New Roman", serif;
      font-size: .71em;
      font-weight: 400;
      line-height: 1.12;
      letter-spacing: -.06em;
    }

    .hero-lead {
      max-width: 550px;
      margin: 35px 0 0;
      color: rgba(201, 220, 235, .7);
      font-size: clamp(14px, 1.2vw, 18px);
      line-height: 1.72;
    }

    .hero-direct {
      margin-top: 42px;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 13px;
    }

    .hero-direct a {
      min-height: 48px;
      padding: 0 20px;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      border: 1px solid rgba(89, 196, 245, .24);
      border-radius: 12px;
      color: #def5ff;
      background: rgba(12, 43, 70, .47);
      box-shadow: inset 0 1px rgba(255, 255, 255, .04);
      -webkit-backdrop-filter: blur(13px);
      backdrop-filter: blur(13px);
      font-size: 12px;
      text-decoration: none;
      transition: border-color .3s ease, background .3s ease, transform .3s ease;
    }

    .hero-direct a:first-child {
      border-color: rgba(66, 166, 242, .42);
      background: linear-gradient(180deg, rgba(24, 116, 200, .9), rgba(8, 65, 123, .92));
    }

    .hero-direct a::after { content: "↗"; color: #8de2ff; }
    .hero-direct a:hover,
    .hero-direct a:focus-visible { border-color: rgba(111, 220, 255, .68); transform: translateY(-2px); }

    .contact-console {
      --rx: 0deg;
      --ry: 0deg;
      position: relative;
      width: min(100%, 690px);
      aspect-ratio: 1.04;
      justify-self: end;
      overflow: visible;
      isolation: isolate;
      transform: perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));
      transform-style: preserve-3d;
      transition: transform .22s ease-out;
    }

    .contact-console::before {
      content: "";
      position: absolute;
      inset: 7% 4%;
      z-index: -3;
      opacity: .3;
      border-radius: 50%;
      background-image:
        linear-gradient(rgba(91, 197, 244, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(91, 197, 244, .08) 1px, transparent 1px);
      background-size: 27px 27px;
      -webkit-mask-image: radial-gradient(circle, #000 0 34%, transparent 72%);
      mask-image: radial-gradient(circle, #000 0 34%, transparent 72%);
    }

    .contact-console::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: -4;
      width: 74%;
      aspect-ratio: 1;
      border-radius: 50%;
      background:
        radial-gradient(circle at 35% 36%, rgba(38, 211, 236, .34), transparent 37%),
        radial-gradient(circle at 72% 68%, rgba(105, 77, 255, .31), transparent 42%),
        rgba(17, 99, 205, .14);
      filter: blur(66px);
      transform: translate(-50%, -50%);
      animation: auroraBreathe 7.5s ease-in-out infinite;
    }

    .signal-aurora {
      position: absolute;
      inset: 4%;
      z-index: -2;
      border-radius: 50%;
      background: conic-gradient(from 25deg, transparent 0 13%, rgba(75, 221, 255, .5) 19%, transparent 31% 48%, rgba(112, 82, 255, .46) 57%, transparent 69% 84%, rgba(37, 185, 230, .34) 91%, transparent);
      filter: blur(18px);
      -webkit-mask: radial-gradient(circle, transparent 0 54%, #000 62% 72%, transparent 80%);
      mask: radial-gradient(circle, transparent 0 54%, #000 62% 72%, transparent 80%);
      opacity: .65;
      pointer-events: none;
      will-change: transform;
      animation: auroraSpin 24s linear infinite;
    }

    .signal-beam {
      position: absolute;
      top: 7%;
      bottom: 7%;
      left: 50%;
      z-index: 1;
      width: 1px;
      opacity: .56;
      background: linear-gradient(180deg, transparent, rgba(97, 219, 255, .14) 19%, rgba(129, 234, 255, .78) 50%, rgba(120, 97, 255, .18) 79%, transparent);
      box-shadow: 0 0 12px rgba(75, 205, 255, .27);
      pointer-events: none;
      animation: beamBreathe 4.8s ease-in-out infinite;
    }

    .signal-beam::after {
      content: "";
      position: absolute;
      top: 50%;
      left: -250px;
      width: 500px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(107, 226, 255, .5), rgba(134, 104, 255, .45), transparent);
      box-shadow: 0 0 10px rgba(100, 213, 255, .22);
    }

    .console-status {
      position: absolute;
      top: 7%;
      right: 7%;
      z-index: 5;
      display: flex;
      align-items: center;
      gap: 8px;
      color: rgba(170, 222, 242, .56);
      font-size: 7px;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .console-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #68dfff; box-shadow: 0 0 12px rgba(92, 218, 255, .75); animation: nodePulse 2.7s ease-in-out infinite; }

    .signal-orbits {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      overflow: visible;
    }

    .signal-orbits circle,
    .signal-orbits ellipse,
    .signal-orbits path {
      fill: none;
      stroke: rgba(104, 211, 250, .16);
      stroke-width: 1;
      vector-effect: non-scaling-stroke;
    }

    .signal-orbits .orbit-dashed { stroke-dasharray: 2 11; opacity: .72; }
    .signal-orbits .orbit-accent {
      stroke: rgba(137, 112, 255, .26);
      stroke-dasharray: 62 24 10 35;
      filter: drop-shadow(0 0 5px rgba(111, 99, 255, .36));
      animation: orbitDash 18s linear infinite;
    }
    .signal-orbits .axis { stroke: rgba(109, 210, 250, .09); }
    .signal-orbits .pulse {
      stroke: rgba(139, 231, 255, .86);
      stroke-width: 1.2;
      stroke-dasharray: 1 24;
      stroke-linecap: round;
      filter: drop-shadow(0 0 6px rgba(95, 215, 255, .8));
      animation: networkRun 7.5s linear infinite;
    }

    .signal-orbits .pulse--secondary {
      stroke: rgba(154, 126, 255, .72);
      stroke-dasharray: 1 29;
      filter: drop-shadow(0 0 6px rgba(129, 99, 255, .7));
      animation-direction: reverse;
      animation-duration: 10s;
    }

    .signal-orbit-node {
      position: absolute;
      z-index: 4;
      width: 8px;
      height: 8px;
      border: 1px solid #75dcff;
      border-radius: 50%;
      background: #061a2b;
      box-shadow: 0 0 0 7px rgba(76, 190, 234, .05), 0 0 15px rgba(83, 209, 255, .53);
    }

    .signal-orbit-node::after {
      content: "";
      position: absolute;
      inset: 2px;
      border-radius: 50%;
      background: #8ce6ff;
      animation: nodePulse 2.8s ease-in-out infinite;
    }

    .signal-orbit-node--one { top: 21%; left: 24%; }
    .signal-orbit-node--two { top: 37%; right: 12%; }
    .signal-orbit-node--three { right: 27%; bottom: 15%; }
    .signal-orbit-node--four { left: 15%; bottom: 28%; }
    .signal-orbit-node--two,
    .signal-orbit-node--four { border-color: #a898ff; box-shadow: 0 0 0 7px rgba(132, 100, 255, .05), 0 0 16px rgba(142, 111, 255, .52); }
    .signal-orbit-node--two::after,
    .signal-orbit-node--four::after { background: #b7a9ff; }

    .signal-particles {
      position: absolute;
      inset: 0;
      z-index: 4;
      pointer-events: none;
    }

    .signal-particles i {
      --particle-color: #85e7ff;
      --particle-x: 8px;
      --particle-y: -11px;
      position: absolute;
      width: 3px;
      height: 3px;
      border-radius: 50%;
      background: var(--particle-color);
      box-shadow: 0 0 8px var(--particle-color), 0 0 18px color-mix(in srgb, var(--particle-color) 48%, transparent);
      opacity: .76;
      will-change: transform, opacity;
      animation: particleDrift 4.6s ease-in-out infinite alternate;
    }

    .signal-particles i:nth-child(1) { top: 20%; left: 39%; --particle-x: 9px; --particle-y: 15px; }
    .signal-particles i:nth-child(2) { top: 31%; right: 20%; --particle-color: #a99aff; --particle-x: -12px; --particle-y: -7px; animation-delay: -.8s; }
    .signal-particles i:nth-child(3) { top: 47%; left: 14%; --particle-x: 14px; --particle-y: -12px; animation-delay: -2.1s; }
    .signal-particles i:nth-child(4) { top: 62%; right: 13%; --particle-color: #8a79ff; --particle-x: -9px; --particle-y: 13px; animation-delay: -1.35s; }
    .signal-particles i:nth-child(5) { left: 31%; bottom: 18%; --particle-color: #67e7d5; --particle-x: 11px; --particle-y: -9px; animation-delay: -3s; }
    .signal-particles i:nth-child(6) { top: 13%; right: 37%; --particle-color: #d2c9ff; --particle-x: -8px; --particle-y: 12px; animation-delay: -2.6s; }
    .signal-particles i:nth-child(7) { left: 19%; bottom: 37%; --particle-x: 15px; --particle-y: 7px; animation-delay: -.3s; }
    .signal-particles i:nth-child(8) { right: 31%; bottom: 9%; --particle-color: #a88eff; --particle-x: -13px; --particle-y: -8px; animation-delay: -1.7s; }

    .signal-sphere {
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 3;
      width: min(61%, 420px);
      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, .24), transparent 18%),
        radial-gradient(circle at 75% 72%, rgba(118, 86, 255, .3), transparent 31%),
        radial-gradient(circle at 64% 37%, rgba(33, 169, 226, .18), transparent 28%),
        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),
        inset -12px -9px 48px rgba(98, 70, 255, .09),
        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%);
    }

    .signal-sphere::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;
    }

    .signal-sphere::after {
      content: "";
      position: absolute;
      left: 11%;
      right: 11%;
      top: -18%;
      height: 28%;
      opacity: .45;
      border-radius: 50%;
      background: linear-gradient(180deg, transparent, rgba(126, 233, 255, .54), rgba(143, 111, 255, .16), transparent);
      filter: blur(8px);
      animation: sphereScan 6.5s ease-in-out infinite;
    }

    .signal-sphere-core {
      position: relative;
      z-index: 2;
      width: 68%;
      text-align: center;
    }

    .signal-sphere-core strong {
      margin: 0 0 9px;
      padding: .04em 0 .12em;
      display: block;
      color: #e4f8ff;
      background: linear-gradient(105deg, #69e7f3, #f1fdff 38%, #8cbcff 66%, #b7a2ff 82%, #dffaff);
      background-size: 220% 100%;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      font-size: clamp(34px, 4.3vw, 66px);
      font-weight: 480;
      line-height: 1;
      letter-spacing: -.065em;
      text-shadow: 0 0 34px rgba(87, 207, 255, .12);
      animation: miniLogoShimmer 9s ease-in-out infinite alternate;
    }

    .signal-sphere-core span { display: block; color: rgba(153, 205, 227, .43); font-size: 7px; letter-spacing: .18em; text-transform: uppercase; }

    .signal-contact {
      --signal-color: #7adfff;
      --signal-line: rgba(102, 208, 248, .22);
      --signal-fill: rgba(16, 71, 111, .18);
      position: absolute;
      z-index: 5;
      width: min(35%, 220px);
      padding: 14px 2px 13px 19px;
      color: #dff6ff;
      border-top: 1px solid var(--signal-line);
      border-bottom: 1px solid rgba(102, 208, 248, .1);
      background: linear-gradient(90deg, var(--signal-fill), transparent);
      text-decoration: none;
      transition: color .3s ease, border-color .3s ease, transform .3s ease;
    }

    .signal-contact::before { content: ""; position: absolute; left: -4px; top: 50%; width: 7px; height: 7px; border: 1px solid var(--signal-color); border-radius: 50%; background: #061827; box-shadow: 0 0 12px var(--signal-color); transform: translateY(-50%); }
    .signal-contact small { display: block; color: rgba(147, 207, 232, .45); font-size: 6px; letter-spacing: .19em; text-transform: uppercase; }
    .signal-contact strong { margin-top: 7px; display: block; font-size: clamp(10px, 1vw, 13px); font-weight: 500; letter-spacing: .015em; }
    .signal-contact:hover,
    .signal-contact:focus-visible { color: #fff; border-top-color: rgba(122, 226, 255, .66); transform: translateX(5px); }
    .signal-contact--phone { top: 24%; left: 0; }
    .signal-contact--email { --signal-color: #b39cff; --signal-line: rgba(154, 127, 255, .29); --signal-fill: rgba(78, 57, 160, .16); right: -1%; bottom: 20%; }

    .signal-caption {
      position: absolute;
      left: 7%;
      bottom: 7%;
      display: flex;
      align-items: center;
      gap: 11px;
      color: rgba(123, 196, 225, .36);
      font-size: 7px;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    .signal-caption::before { content: ""; width: 28px; height: 1px; background: linear-gradient(90deg, rgba(107, 215, 255, .6), transparent); }

    .light-bridge {
      position: relative;
      height: clamp(105px, 11vw, 175px);
      margin-top: -1px;
      overflow: hidden;
      background: linear-gradient(180deg, #020912 0%, #dfeaf0 100%);
    }

    .light-bridge::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .5;
      background:
        linear-gradient(159deg, transparent 0 47%, rgba(104, 210, 250, .26) 47.1% 47.25%, transparent 47.35%),
        linear-gradient(21deg, transparent 0 53%, rgba(104, 210, 250, .14) 53.1% 53.25%, transparent 53.35%);
    }

    .light-bridge::after {
      content: "";
      position: absolute;
      left: 9%;
      right: 9%;
      bottom: 31%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(70, 168, 207, .7), transparent);
      box-shadow: 0 0 10px rgba(67, 173, 215, .35);
    }

    .office-footer-bridge {
      position: relative;
      height: clamp(110px, 12vw, 170px);
      margin-top: -1px;
      overflow: hidden;
      background: linear-gradient(180deg, #020912 0%, #edf5f7 100%);
    }

    .office-footer-bridge::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .5;
      background:
        linear-gradient(23deg, transparent 0 48%, rgba(91, 203, 242, .18) 48.1% 48.25%, transparent 48.35%),
        linear-gradient(157deg, transparent 0 52%, rgba(91, 203, 242, .24) 52.1% 52.25%, transparent 52.35%);
    }

    .office-footer-bridge::after {
      content: "";
      position: absolute;
      left: 6%;
      right: 6%;
      top: 54%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(102, 216, 250, .62), rgba(39, 128, 163, .42), transparent);
      box-shadow: 0 0 10px rgba(73, 183, 218, .28);
    }

    .channels-section {
      position: relative;
      color: var(--ink);
      background:
        radial-gradient(circle at 84% 12%, rgba(57, 142, 184, .1), transparent 24%),
        linear-gradient(180deg, #dfeaf0 0%, #f5f9fb 18%, #eef5f8 100%);
    }

    .channels-section::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .36;
      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% 36%, #000, transparent 80%);
      mask-image: radial-gradient(circle at 50% 36%, #000, transparent 80%);
    }

    .section-shell {
      position: relative;
      z-index: 2;
      width: var(--shell);
      margin: 0 auto;
      padding: clamp(95px, 11vh, 145px) 0 clamp(112px, 13vh, 172px);
    }

    .section-heading {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(310px, 500px);
      align-items: end;
      gap: clamp(42px, 8vw, 130px);
    }

    .section-kicker {
      margin: 0 0 20px;
      display: flex;
      align-items: center;
      gap: 12px;
      color: rgba(42, 111, 142, .62);
      font-size: 9px;
      letter-spacing: .2em;
      text-transform: uppercase;
    }

    .section-kicker::before { content: ""; width: 28px; height: 1px; background: linear-gradient(90deg, #267da2, transparent); }
    .section-title { margin: 0; color: #14384a; font-size: clamp(55px, 6.4vw, 105px); font-weight: 480; line-height: .84; letter-spacing: -.073em; text-wrap: balance; }
    .section-intro { max-width: 500px; margin: 0; color: rgba(49, 81, 96, .72); font-size: clamp(14px, 1.15vw, 17px); line-height: 1.72; }

    .channel-grid {
      margin-top: clamp(60px, 8vh, 90px);
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      border-top: 1px solid var(--line-light);
      border-left: 1px solid var(--line-light);
    }

    .channel-card {
      position: relative;
      min-height: 390px;
      padding: clamp(28px, 3vw, 45px);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-right: 1px solid var(--line-light);
      border-bottom: 1px solid var(--line-light);
      background: rgba(255, 255, 255, .34);
      transition: background .38s ease, transform .38s ease, box-shadow .38s ease;
    }

    .channel-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 2px;
      background: linear-gradient(90deg, #177fb3, #7bdfff, transparent);
      box-shadow: 0 0 10px rgba(45, 151, 197, .36);
      transition: width .55s ease;
    }

    .channel-card::after {
      content: attr(data-index);
      position: absolute;
      right: -6px;
      bottom: -21px;
      color: rgba(26, 91, 120, .035);
      font-size: 150px;
      font-weight: 650;
      line-height: 1;
      letter-spacing: -.1em;
    }

    .channel-card:hover { z-index: 2; background: rgba(255, 255, 255, .68); box-shadow: 0 25px 70px rgba(39, 82, 105, .12); transform: translateY(-6px); }
    .channel-card:hover::before { width: 72%; }

    .channel-icon {
      width: 54px;
      height: 54px;
      display: grid;
      place-items: center;
      color: #176f9a;
      border: 1px solid rgba(28, 119, 158, .2);
      border-radius: 13px;
      background: rgba(255, 255, 255, .54);
      box-shadow: inset 0 1px rgba(255, 255, 255, .6);
    }

    .channel-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
    .channel-label { margin: 35px 0 0; color: rgba(53, 93, 110, .55); font-size: 8px; letter-spacing: .19em; text-transform: uppercase; }
    .channel-card h3 { margin: 13px 0 0; color: #153d51; font-size: clamp(25px, 2.2vw, 35px); font-weight: 520; line-height: 1.03; letter-spacing: -.045em; }
    .channel-card p { max-width: 340px; margin: 20px 0 0; color: rgba(53, 81, 94, .68); font-size: 12px; line-height: 1.65; }

    .channel-actions {
      position: relative;
      z-index: 2;
      margin-top: auto;
      padding-top: 30px;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
    }

    .channel-link,
    .copy-button {
      min-height: 42px;
      padding: 0 15px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      border: 1px solid rgba(27, 113, 152, .19);
      border-radius: 10px;
      color: #144b67;
      background: rgba(255, 255, 255, .5);
      font-size: 10px;
      line-height: 1.2;
      text-decoration: none;
      cursor: pointer;
      transition: color .28s ease, border-color .28s ease, background .28s ease, transform .28s ease;
    }

    .channel-link { border-color: rgba(19, 115, 165, .25); color: #fff; background: linear-gradient(180deg, #1983bd, #0d659b); }
    .channel-link::after { content: "↗"; }
    .channel-link:hover,
    .copy-button:hover { transform: translateY(-2px); }
    .copy-button:hover { border-color: rgba(28, 120, 164, .42); background: rgba(255, 255, 255, .82); }

    .office-section {
      position: relative;
      overflow: hidden;
      isolation: isolate;
      background:
        radial-gradient(circle at 69% 48%, rgba(15, 120, 209, .2), transparent 30%),
        linear-gradient(146deg, #03101d 0%, #071a2b 58%, #020912 100%);
    }

    .office-section::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      opacity: .2;
      background-image:
        linear-gradient(rgba(73, 180, 229, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(73, 180, 229, .06) 1px, transparent 1px);
      background-size: 44px 44px;
      -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%, #000);
      mask-image: linear-gradient(90deg, transparent, #000 30%, #000);
    }

    .office-section::after {
      content: "MOSCOW";
      position: absolute;
      left: -1.2vw;
      bottom: -2.2vw;
      z-index: -1;
      color: transparent;
      -webkit-text-stroke: 1px rgba(113, 214, 248, .04);
      font-size: clamp(112px, 17vw, 285px);
      font-weight: 650;
      line-height: .78;
      letter-spacing: -.085em;
    }

    .office-shell {
      width: var(--shell);
      min-height: 850px;
      margin: 0 auto;
      padding: clamp(110px, 13vh, 160px) 0;
      display: grid;
      grid-template-columns: minmax(390px, .76fr) minmax(560px, 1.24fr);
      align-items: center;
      gap: clamp(56px, 8vw, 138px);
    }

    .office-copy { position: relative; z-index: 3; }
    .office-kicker { margin: 0 0 22px; color: rgba(146, 216, 245, .58); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
    .office-title { margin: 0; color: #eaf8ff; font-size: clamp(58px, 6vw, 102px); font-weight: 480; line-height: .83; letter-spacing: -.073em; }
    .office-address { max-width: 540px; margin: 38px 0 0; color: rgba(210, 229, 241, .8); font-size: clamp(20px, 2.1vw, 30px); line-height: 1.42; letter-spacing: -.025em; }

    .office-facts {
      margin: 40px 0 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1px;
      border: 1px solid rgba(101, 201, 244, .15);
      background: rgba(98, 200, 244, .15);
      list-style: none;
    }

    .office-facts li { min-height: 92px; padding: 20px; color: rgba(206, 228, 240, .68); background: rgba(4, 18, 33, .88); font-size: 11px; line-height: 1.55; }
    .office-facts small { margin-bottom: 7px; display: block; color: rgba(127, 202, 231, .48); font-size: 7px; letter-spacing: .17em; text-transform: uppercase; }
    .metro-badge { display: inline-flex; align-items: center; gap: 9px; color: #edf9ff; }
    .metro-badge::before { content: "М"; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #9ba1a7; font-size: 10px; font-weight: 700; }

    .route-button {
      min-height: 49px;
      margin-top: 28px;
      padding: 0 20px;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      border: 1px solid rgba(91, 201, 247, .34);
      border-radius: 11px;
      color: #e1f7ff;
      background: rgba(10, 49, 80, .66);
      box-shadow: inset 0 1px rgba(255, 255, 255, .05);
      font-size: 11px;
      text-decoration: none;
      transition: border-color .3s ease, background .3s ease, transform .3s ease;
    }

    .route-button::after { content: "↗"; color: #7edfff; }
    .route-button:hover { border-color: rgba(117, 226, 255, .7); background: rgba(14, 68, 107, .82); transform: translateY(-3px); }

    .yandex-map-panel {
      position: relative;
      min-height: 620px;
      overflow: hidden;
      border: 1px solid rgba(101, 204, 246, .19);
      border-radius: 28px;
      background: #071827;
      box-shadow: 0 35px 100px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .04);
    }

    .yandex-map-panel::after {
      content: "";
      position: absolute;
      inset: 56px 0 0;
      z-index: 3;
      pointer-events: none;
      background:
        linear-gradient(180deg, rgba(2, 14, 27, .16), transparent 18%, transparent 76%, rgba(2, 14, 27, .24)),
        linear-gradient(90deg, rgba(5, 24, 41, .1), transparent 16%, transparent 84%, rgba(5, 24, 41, .1));
      box-shadow: inset 0 0 70px rgba(3, 17, 29, .16);
    }

    .yandex-map-topbar {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: 5;
      height: 56px;
      padding: 0 22px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: rgba(154, 208, 231, .48);
      border-bottom: 1px solid rgba(91, 188, 233, .12);
      font-size: 7px;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    .yandex-map-live { display: flex; align-items: center; gap: 8px; }
    .yandex-map-live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #69dfff; box-shadow: 0 0 10px rgba(99, 221, 255, .78); animation: nodePulse 2.7s ease-in-out infinite; }

    .yandex-map-frame {
      position: absolute;
      inset: 56px 0 0;
      z-index: 2;
      overflow: hidden;
      background:
        linear-gradient(rgba(72, 178, 228, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(72, 178, 228, .06) 1px, transparent 1px),
        #edf2f3;
      background-size: 35px 35px;
    }

    .yandex-map-frame iframe {
      width: 100% !important;
      height: 100% !important;
      border: 0 !important;
      filter: saturate(.82) contrast(1.035);
    }

    .yandex-map-fallback {
      position: absolute;
      inset: 0;
      z-index: 0;
      display: grid;
      place-items: center;
      color: #315a6d;
      font-size: 11px;
      text-decoration: none;
    }

    .office-visual-stack {
      position: relative;
      min-height: 710px;
      isolation: isolate;
      perspective: 1500px;
    }

    .office-visual-stack::before {
      content: "";
      position: absolute;
      top: 65px;
      right: 3%;
      bottom: 45px;
      z-index: -1;
      width: 1px;
      opacity: .55;
      background: linear-gradient(180deg, transparent, rgba(104, 218, 255, .55), rgba(137, 106, 255, .34), transparent);
      box-shadow: 0 0 12px rgba(86, 207, 247, .28);
    }

    .office-photo-card {
      position: absolute;
      top: 150px;
      left: 0;
      z-index: 2;
      width: 84%;
      height: auto;
      aspect-ratio: 3 / 2;
      margin: 0;
      overflow: hidden;
      border: 1px solid rgba(115, 214, 251, .22);
      border-radius: 28px;
      background: #061626;
      box-shadow: 0 38px 100px rgba(0, 0, 0, .34), -13px 16px 0 rgba(50, 139, 185, .055), inset 0 1px rgba(255, 255, 255, .08);
      transform: perspective(1500px) rotateY(2.2deg) rotateZ(-.65deg);
      transform-origin: 50% 50%;
      transition: box-shadow .7s ease, border-color .7s ease;
    }

    .office-photo-card:hover {
      border-color: rgba(153, 229, 255, .42);
      box-shadow: 0 42px 108px rgba(0, 0, 0, .38), -13px 16px 0 rgba(67, 168, 217, .075), inset 0 1px rgba(255, 255, 255, .12);
    }

    .office-photo-card img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: center;
      filter: saturate(.98) contrast(1.02) brightness(1);
      transform: scale(1);
      transition: filter .75s ease, transform 1.1s cubic-bezier(.2, .75, .2, 1);
    }

    .office-photo-card:hover img { filter: saturate(1.03) contrast(1.01) brightness(1.02); transform: scale(1); }

    .office-photo-card::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      opacity: .42;
      background: linear-gradient(118deg, rgba(207, 246, 255, .09), transparent 36%, rgba(139, 117, 255, .045));
      mix-blend-mode: screen;
      transition: opacity .7s ease;
    }

    .office-photo-card:hover::before { opacity: .18; }

    .office-photo-card::after {
      content: "";
      position: absolute;
      top: -32%;
      bottom: -32%;
      left: -55%;
      z-index: 4;
      width: 42%;
      pointer-events: none;
      opacity: 0;
      background: linear-gradient(105deg, transparent 8%, rgba(198, 240, 255, .08) 34%, rgba(225, 249, 255, .42) 49%, rgba(150, 132, 255, .13) 61%, transparent 82%);
      filter: blur(2px);
      transform: skewX(-13deg);
      animation: officePolish 8.5s cubic-bezier(.45, 0, .2, 1) infinite;
    }

    .office-photo-grid {
      position: absolute;
      inset: 0;
      z-index: 3;
      opacity: .18;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(127, 220, 255, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(127, 220, 255, .07) 1px, transparent 1px);
      background-size: 37px 37px;
      -webkit-mask-image: linear-gradient(135deg, #000, transparent 58%);
      mask-image: linear-gradient(135deg, #000, transparent 58%);
      transition: opacity .7s ease;
    }

    .office-photo-card:hover .office-photo-grid { opacity: .08; }

    .office-photo-caption {
      position: absolute;
      left: 22px;
      right: 22px;
      bottom: 19px;
      z-index: 5;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      color: rgba(220, 243, 251, .7);
      font-size: 7px;
      letter-spacing: .17em;
      text-transform: uppercase;
      text-shadow: 0 1px 8px rgba(0, 0, 0, .82);
    }

    .office-photo-caption span:last-child { display: flex; align-items: center; gap: 8px; }
    .office-photo-caption span:last-child::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #7de4ff; box-shadow: 0 0 10px rgba(95, 218, 255, .78); }

    .office-visual-stack .yandex-map-panel {
      position: absolute;
      top: 0;
      right: 0;
      bottom: auto;
      z-index: 5;
      width: 82%;
      min-height: 450px;
      border-radius: 22px;
      box-shadow: 0 38px 100px rgba(0, 0, 0, .43), 10px 12px 0 rgba(87, 72, 194, .055), inset 0 1px rgba(255, 255, 255, .05);
    }

    .copy-toast {
      position: fixed;
      left: 50%;
      bottom: 26px;
      z-index: 200;
      padding: 11px 16px;
      color: #eafaff;
      border: 1px solid rgba(102, 211, 255, .23);
      border-radius: 11px;
      background: rgba(3, 17, 29, .92);
      box-shadow: 0 15px 42px rgba(0, 0, 0, .26);
      -webkit-backdrop-filter: blur(16px);
      backdrop-filter: blur(16px);
      font-size: 10px;
      letter-spacing: .07em;
      opacity: 0;
      pointer-events: none;
      transform: translate(-50%, 14px);
      transition: opacity .3s ease, transform .3s ease;
    }

    .copy-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

    .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 networkRun { to { stroke-dashoffset: -100; } }
    @keyframes routeRun { to { stroke-dashoffset: -150; } }
    @keyframes orbitDash { to { stroke-dashoffset: -131; } }
    @keyframes auroraSpin { to { transform: rotate(360deg); } }
    @keyframes auroraBreathe { 50% { opacity: .72; transform: translate(-50%, -50%) scale(1.08); } }
    @keyframes beamBreathe { 50% { opacity: .25; filter: brightness(1.5); } }
    @keyframes particleDrift { to { opacity: .28; transform: translate3d(var(--particle-x), var(--particle-y), 0) scale(.62); } }
    @keyframes officePolish { 0%, 58% { left: -55%; opacity: 0; } 65% { opacity: .58; } 82% { left: 118%; opacity: .18; } 88%, 100% { left: 118%; opacity: 0; } }
    @keyframes sphereScan { 0%, 12% { top: -18%; opacity: 0; } 22% { opacity: .45; } 78% { opacity: .32; } 88%, 100% { top: 92%; opacity: 0; } }
    @keyframes nodePulse { 50% { opacity: .36; transform: scale(.65); } }
    @keyframes coreOrbit { to { transform: rotate(360deg); } }
    @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(370px, .75fr) minmax(500px, 1.25fr); gap: 48px; }
      .contact-console { width: min(100%, 620px); }
      .channel-card { min-height: 410px; }
      .office-shell { grid-template-columns: minmax(350px, .68fr) minmax(500px, 1.32fr); gap: 60px; }
      .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: 780px; }
      .contact-console { width: min(100%, 720px); justify-self: center; }
      .section-heading { grid-template-columns: 1fr; gap: 28px; }
      .section-intro { max-width: 700px; }
      .channel-grid { grid-template-columns: 1fr; }
      .channel-card { min-height: 310px; }
      .channel-card p { max-width: 620px; }
      .office-shell { padding-block: 120px; grid-template-columns: 1fr; gap: 70px; }
      .office-copy { max-width: 760px; }
      .office-visual-stack { width: min(100%, 760px); margin-inline: auto; }
      .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); }
      .contact-hero { min-height: auto; }
      .hero-shell { padding: 114px 0 76px; gap: 52px; }
      .breadcrumbs { margin-bottom: 40px; }
      .hero-title { font-size: clamp(62px, 18vw, 88px); }
      .hero-lead { margin-top: 28px; font-size: 14px; }
      .hero-direct { align-items: stretch; flex-direction: column; }
      .hero-direct a { width: 100%; justify-content: space-between; }
      .contact-console { aspect-ratio: auto; min-height: 440px; }
      .contact-console::before { inset: 5% 0; }
      .signal-sphere { width: min(67%, 270px); }
      .signal-sphere-core strong { font-size: clamp(34px, 11vw, 46px); }
      .signal-contact { width: min(45%, 170px); padding-left: 13px; }
      .signal-contact--phone { top: 20%; left: -1%; }
      .signal-contact--email { right: -1%; bottom: 17%; }
      .signal-contact strong { font-size: 9px; }
      .console-status { top: 3%; right: 2%; }
      .signal-caption { left: 2%; bottom: 3%; }
      .light-bridge { height: 105px; }
      .section-shell { padding: 92px 0 112px; }
      .section-title { font-size: clamp(51px, 15vw, 72px); }
      .channel-grid { margin-top: 52px; }
      .channel-card { min-height: 330px; padding: 30px 25px; }
      .channel-card h3 { font-size: 29px; }
      .channel-actions { align-items: stretch; flex-direction: column; }
      .channel-link,
      .copy-button { width: 100%; }
      .office-shell { min-height: 0; padding: 105px 0 112px; gap: 54px; }
      .office-title { font-size: clamp(54px, 15vw, 74px); }
      .office-address { margin-top: 30px; font-size: 21px; }
      .office-facts { grid-template-columns: 1fr; }
      .route-button { width: 100%; justify-content: space-between; }
      .office-visual-stack { min-height: 0; display: grid; gap: 18px; perspective: none; }
      .office-visual-stack::before { display: none; }
      .office-photo-card { position: relative; top: auto; left: auto; width: 100%; height: auto; aspect-ratio: 3 / 2; border-radius: 18px; transform: rotateZ(-.35deg); }
      .office-photo-card:hover { width: 100%; transform: rotateZ(0) translateY(-3px); }
      .office-photo-caption { left: 16px; right: 16px; bottom: 15px; }
      .office-visual-stack .yandex-map-panel { position: relative; top: auto; right: auto; bottom: auto; width: 100%; min-height: 520px; border-radius: 18px; }
      .yandex-map-topbar { padding-inline: 16px; }
      .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 .primary { 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 .primary { min-width: 112px; padding-inline: 9px; font-size: 10px; }
      .contact-console { min-height: 410px; }
      .signal-contact { width: 46%; }
      .signal-contact strong { font-size: 8px; }
      .signal-caption { display: none; }
      .console-status { font-size: 6px; }
      .office-photo-card { height: auto; }
      .office-photo-caption span:first-child { display: none; }
      .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; }
      .contact-console { transform: none !important; }
    }

/* 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 .signal-orbits .pulse,
html.motion-lite .signal-aurora,
html.motion-lite .signal-beam,
html.motion-lite .signal-particles,
html.motion-lite .signal-sphere::after,
html.motion-lite .office-photo-card::after {
  display: none !important;
  animation: none !important;
  filter: none !important;
}

html.motion-lite .contact-console,
html.motion-lite .contact-console::after,
html.motion-lite .signal-orbits .orbit-accent,
html.motion-lite .signal-orbit-node::after,
html.motion-lite .signal-sphere::before,
html.motion-lite .signal-sphere-core strong,
html.motion-lite .console-status::before,
html.motion-lite .yandex-map-live::before {
  animation: none !important;
  will-change: auto !important;
}

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

