:root {
      --tn-blue: #2563EB;
      --tn-blue-rgb: 37, 99, 235;
      --tn-deep: #0F172A;
      --tn-deep-rgb: 15, 23, 42;
      --tn-sky: #60A5FA;
      --tn-sky-rgb: 96, 165, 250;
      --tn-white: #FFFFFF;
      --tn-black: #0A0A0A;
      --tn-line: rgba(255,255,255,.12);
      --tn-soft-line: rgba(255,255,255,.08);
      --tn-glass: rgba(255,255,255,.05);
      --tn-font: "Space Grotesk", Inter, Satoshi, "Neue Montreal", Arial, sans-serif;
      --tn-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      background: var(--tn-black);
    }

    body {
      margin: 0;
      min-height: 100vh;
      overflow-x: hidden;
      font-family: var(--tn-font);
      color: var(--tn-white);
      letter-spacing: 0;
      background:
        radial-gradient(900px 520px at 18% 12%, rgba(var(--tn-blue-rgb), .22), transparent 72%),
        radial-gradient(760px 460px at 82% 10%, rgba(var(--tn-sky-rgb), .12), transparent 72%),
        linear-gradient(180deg, var(--tn-black) 0%, rgba(var(--tn-deep-rgb), .52) 52%, var(--tn-deep) 100%);
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button {
      font: inherit;
    }

    .site-shell {
      position: relative;
      min-height: 100vh;
      overflow: hidden;
      isolation: isolate;
    }

    .ambient-grid,
    .architecture-lines,
    .light-field {
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: -3;
    }

    .ambient-grid {
      opacity: .58;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: linear-gradient(to bottom, black 0%, black 58%, transparent 94%);
    }

    .architecture-lines {
      z-index: -2;
      opacity: .5;
      background:
        linear-gradient(115deg, transparent 0 23%, rgba(96,165,250,.13) 23.08%, transparent 23.22% 100%),
        linear-gradient(64deg, transparent 0 58%, rgba(255,255,255,.07) 58.05%, transparent 58.18% 100%),
        linear-gradient(151deg, transparent 0 70%, rgba(37,99,235,.16) 70.04%, transparent 70.18% 100%);
    }

    .light-field {
      z-index: -1;
      opacity: .85;
      background:
        linear-gradient(90deg, transparent, rgba(var(--tn-blue-rgb), .12), transparent),
        linear-gradient(180deg, transparent 0%, rgba(10,10,10,.8) 80%);
      transform: translateX(var(--glow-x, 0));
      transition: transform .7s ease;
    }

    .container {
      width: min(1180px, calc(100vw - 48px));
      margin: 0 auto;
    }

    .navbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 50;
      border-bottom: 1px solid rgba(255,255,255,.07);
      background: rgba(10,10,10,.64);
      backdrop-filter: blur(22px) saturate(160%);
      -webkit-backdrop-filter: blur(22px) saturate(160%);
    }

    .nav-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 78px;
      gap: 26px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      min-width: 218px;
      height: 58px;
      border-radius: 999px;
      outline: 1px solid transparent;
      transition: transform .35s ease, outline-color .35s ease, background .35s ease;
    }

    .brand:hover {
      transform: translateY(-1px);
      background: rgba(255,255,255,.035);
      outline-color: rgba(255,255,255,.08);
    }

    .brand img {
      display: block;
      width: 214px;
      height: auto;
      max-height: 48px;
      object-fit: contain;
      object-position: left center;
    }

    .nav-links {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 3px;
      margin-left: auto;
    }

    .nav-links a {
      display: inline-flex;
      min-height: 42px;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0 14px;
      color: rgba(255,255,255,.64);
      font-size: 14px;
      font-weight: 500;
      transition: color .28s ease, background .28s ease, transform .28s ease;
    }

    .nav-links a:hover {
      color: #fff;
      background: rgba(255,255,255,.06);
      transform: translateY(-1px);
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .btn {
      position: relative;
      display: inline-flex;
      min-height: 54px;
      align-items: center;
      justify-content: center;
      gap: 10px;
      overflow: hidden;
      border: 0;
      border-radius: 999px;
      padding: 0 24px;
      cursor: pointer;
      color: #fff;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 0;
      transition: transform .34s ease, box-shadow .34s ease, border-color .34s ease, background .34s ease, color .34s ease;
    }

    .btn svg,
    .btn i {
      width: 18px;
      height: 18px;
      flex: 0 0 auto;
      transition: transform .34s ease;
    }

    .btn:hover {
      transform: translateY(-2px) scale(1.015);
    }

    .btn:hover svg,
    .btn:hover i {
      transform: translateX(3px);
    }

    .btn:active {
      transform: translateY(0) scale(.985);
    }

    .btn-primary {
      isolation: isolate;
      box-shadow: 0 0 42px rgba(var(--tn-blue-rgb), .26), inset 0 1px 0 rgba(255,255,255,.16);
    }

    .btn-primary::before {
      content: "";
      position: absolute;
      inset: -180%;
      z-index: -3;
      background: conic-gradient(from 0deg, transparent 0 292deg, var(--tn-blue) 330deg, var(--tn-sky) 360deg);
      animation: beam-spin 3.2s linear infinite;
    }

    .btn-primary::after {
      content: "";
      position: absolute;
      inset: 1px;
      z-index: -2;
      border-radius: inherit;
      background: linear-gradient(180deg, var(--tn-blue), var(--tn-deep));
    }

    .btn-primary .btn-sheen {
      position: absolute;
      inset: 1px;
      z-index: -1;
      border-radius: inherit;
      background:
        linear-gradient(180deg, rgba(255,255,255,.18), transparent 42%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.09), rgba(255,255,255,.09) 1px, transparent 1px, transparent 9px);
      opacity: .28;
      background-size: auto, 28px 100%;
      animation: lines-slide 1.8s linear infinite;
    }

    .btn-primary:hover {
      box-shadow: 0 0 58px rgba(var(--tn-blue-rgb), .38), 0 18px 52px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.2);
    }

    .btn-secondary {
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.055);
      color: rgba(255,255,255,.84);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    .btn-secondary:hover {
      border-color: rgba(var(--tn-sky-rgb), .5);
      background: rgba(255,255,255,.09);
      color: #fff;
      box-shadow: 0 0 34px rgba(var(--tn-sky-rgb), .18), inset 0 1px 0 rgba(255,255,255,.1);
    }

    .nav-cta {
      min-height: 44px;
      padding: 0 18px;
      font-size: 12px;
      font-weight: 700;
    }

    .menu-toggle {
      display: none;
      width: 46px;
      height: 46px;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 999px;
      background: rgba(255,255,255,.05);
      color: #fff;
      cursor: pointer;
      transition: transform .3s ease, border-color .3s ease, background .3s ease;
    }

    .menu-toggle:hover {
      transform: translateY(-1px);
      border-color: rgba(var(--tn-sky-rgb), .45);
      background: rgba(255,255,255,.09);
    }

    .menu-toggle i {
      width: 20px;
      height: 20px;
    }

    .mobile-menu {
      display: none;
      position: fixed;
      top: 78px;
      left: 24px;
      right: 24px;
      z-index: 49;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 24px;
      background: rgba(10,10,10,.88);
      box-shadow: 0 28px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
      backdrop-filter: blur(24px) saturate(170%);
      -webkit-backdrop-filter: blur(24px) saturate(170%);
      opacity: 0;
      transform: translateY(-14px) scale(.98);
      pointer-events: none;
      transition: opacity .32s ease, transform .32s ease;
    }

    .mobile-menu.is-open {
      opacity: 1;
      transform: translateY(0) scale(1);
      pointer-events: auto;
    }

    .mobile-menu a {
      display: flex;
      min-height: 52px;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid rgba(255,255,255,.07);
      padding: 0 18px;
      color: rgba(255,255,255,.74);
      font-size: 15px;
      font-weight: 500;
    }

    .mobile-menu a:last-child {
      border-bottom: 0;
    }

    .mobile-menu .mobile-cta {
      margin: 14px;
      min-height: 52px;
      width: calc(100% - 28px);
    }

    .hero {
      position: relative;
      min-height: 100svh;
      overflow: hidden;
      border-bottom: 1px solid rgba(255,255,255,.08);
      padding: 154px 0 76px;
    }

    .hero::before,
    .hero::after {
      content: "";
      position: absolute;
      pointer-events: none;
    }

    .hero::before {
      inset: 0;
      z-index: -1;
      background:
        linear-gradient(90deg, rgba(10,10,10,.92) 0%, rgba(15,23,42,.66) 48%, rgba(10,10,10,.58) 100%),
        radial-gradient(720px 420px at 72% 44%, rgba(var(--tn-blue-rgb), .22), transparent 70%);
    }

    .hero::after {
      left: 0;
      right: 0;
      bottom: 0;
      height: 26%;
      z-index: 1;
      background: linear-gradient(180deg, transparent, rgba(10,10,10,.92));
    }

    .hero-spotlight,
    .hero-spotlight-core {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity .32s ease;
      mix-blend-mode: screen;
    }

    .hero-layout {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr);
      align-items: center;
      gap: clamp(44px, 6vw, 84px);
    }

    .hero-copy {
      max-width: 650px;
    }

    .badge {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-height: 38px;
      border: 1px solid rgba(var(--tn-sky-rgb), .24);
      border-radius: 999px;
      background: rgba(255,255,255,.045);
      padding: 0 14px;
      color: rgba(255,255,255,.68);
      font-size: 13px;
      font-weight: 600;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 36px rgba(var(--tn-blue-rgb), .12);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    .badge-dot {
      position: relative;
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 24px rgba(var(--tn-sky-rgb), .9);
    }

    .badge-dot::after {
      content: "";
      position: absolute;
      inset: -6px;
      border-radius: inherit;
      border: 1px solid rgba(var(--tn-sky-rgb), .35);
      animation: pulse-ring 2.8s ease-out infinite;
    }

    h1 {
      margin: 30px 0 0;
      color: #fff;
      font-size: clamp(48px, 6.5vw, 92px);
      line-height: .94;
      font-weight: 300;
      letter-spacing: 0;
      text-wrap: balance;
    }

    .headline-accent {
      position: relative;
      display: inline-block;
      font-weight: 500;
      text-shadow: 0 0 70px rgba(var(--tn-blue-rgb), .3);
    }

    .headline-accent::after {
      content: "";
      position: absolute;
      left: 4px;
      right: 6px;
      bottom: .04em;
      height: .12em;
      z-index: -1;
      border-radius: 999px;
      background: linear-gradient(90deg, rgba(var(--tn-blue-rgb), .62), rgba(var(--tn-sky-rgb), .18));
      filter: blur(2px);
    }

    .subheadline {
      margin: 28px 0 0;
      max-width: 610px;
      color: rgba(255,255,255,.66);
      font-size: clamp(17px, 1.6vw, 20px);
      line-height: 1.72;
      font-weight: 400;
      letter-spacing: 0;
    }

    .hero-actions {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-top: 38px;
    }

    .trust-row {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      max-width: 580px;
      margin-top: 48px;
    }

    .trust-item {
      min-height: 86px;
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 18px;
      background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      padding: 16px;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    .trust-item strong {
      display: block;
      color: #fff;
      font-size: 24px;
      font-weight: 500;
      line-height: 1;
    }

    .trust-item span {
      display: block;
      margin-top: 10px;
      color: rgba(255,255,255,.48);
      font-size: 13px;
      line-height: 1.35;
    }

    .visual-stage {
      position: relative;
      min-height: 590px;
      perspective: 1400px;
    }

    .stage-rail {
      position: absolute;
      inset: 24px 0 auto 10%;
      height: 470px;
      border: 1px solid rgba(var(--tn-sky-rgb), .13);
      border-left-color: transparent;
      border-bottom-color: transparent;
      transform: skewY(-8deg);
      opacity: .8;
    }

    .stage-rail::before,
    .stage-rail::after {
      content: "";
      position: absolute;
      background: linear-gradient(90deg, transparent, rgba(var(--tn-sky-rgb), .55), transparent);
      filter: drop-shadow(0 0 18px rgba(var(--tn-sky-rgb), .38));
    }

    .stage-rail::before {
      top: 24%;
      left: -10%;
      width: 72%;
      height: 1px;
    }

    .stage-rail::after {
      right: 10%;
      bottom: 28%;
      width: 56%;
      height: 1px;
    }

    .laptop {
      position: absolute;
      left: 50%;
      top: 50%;
      width: min(620px, 100%);
      transform: translate(-50%, -47%) rotateX(5deg) rotateY(-8deg) rotateZ(1deg);
      transform-style: preserve-3d;
      filter: drop-shadow(0 42px 80px rgba(0,0,0,.48)) drop-shadow(0 0 50px rgba(var(--tn-blue-rgb), .16));
      animation: float-main 7.5s ease-in-out infinite;
    }

    .screen-shell {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 28px;
      background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.035));
      padding: 10px;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 28px 84px rgba(0,0,0,.42);
    }

    .screen {
      position: relative;
      overflow: hidden;
      aspect-ratio: 16 / 10;
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 20px;
      background:
        radial-gradient(520px 260px at 70% 10%, rgba(var(--tn-blue-rgb), .28), transparent 70%),
        linear-gradient(135deg, var(--tn-black), var(--tn-deep) 58%, rgba(var(--tn-deep-rgb), .44));
    }

    .screen::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
      background-size: 34px 34px;
      mask-image: linear-gradient(to bottom, black, transparent 86%);
    }

    .screen::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(110deg, transparent 0 28%, rgba(255,255,255,.1) 42%, transparent 58% 100%);
      transform: translateX(-120%);
      animation: screen-sheen 6.5s ease-in-out infinite;
    }

    .project-ui {
      position: absolute;
      inset: 24px;
      z-index: 1;
      display: grid;
      grid-template-rows: auto 1fr;
      gap: 20px;
    }

    .project-topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 46px;
      border-bottom: 1px solid rgba(255,255,255,.08);
      padding-bottom: 12px;
    }

    .mini-brand {
      display: flex;
      align-items: center;
      gap: 10px;
      color: rgba(255,255,255,.88);
      font-size: 14px;
      font-weight: 700;
    }

    .mini-mark {
      width: 28px;
      height: 28px;
      border-radius: 10px;
      background: linear-gradient(135deg, var(--tn-blue), var(--tn-sky));
      box-shadow: 0 0 28px rgba(var(--tn-blue-rgb), .48);
    }

    .mini-nav {
      display: flex;
      gap: 9px;
    }

    .mini-nav span {
      width: 52px;
      height: 8px;
      border-radius: 999px;
      background: rgba(255,255,255,.12);
    }

    .mini-nav span:first-child {
      background: rgba(var(--tn-sky-rgb), .72);
    }

    .project-content {
      display: grid;
      grid-template-columns: 1.02fr .98fr;
      gap: 18px;
      align-items: stretch;
    }

    .mock-hero {
      display: flex;
      min-height: 245px;
      flex-direction: column;
      justify-content: space-between;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 18px;
      background:
        linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.02)),
        radial-gradient(260px 150px at 20% 0%, rgba(var(--tn-blue-rgb), .22), transparent 75%);
      padding: 22px;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    }

    .mock-label {
      width: 126px;
      height: 10px;
      border-radius: 999px;
      background: rgba(var(--tn-sky-rgb), .62);
      box-shadow: 0 0 22px rgba(var(--tn-sky-rgb), .24);
    }

    .mock-title {
      display: grid;
      gap: 9px;
      margin-top: 30px;
    }

    .mock-title span {
      height: 22px;
      border-radius: 999px;
      background: rgba(255,255,255,.88);
    }

    .mock-title span:nth-child(2) {
      width: 82%;
      background: rgba(255,255,255,.58);
    }

    .mock-title span:nth-child(3) {
      width: 60%;
      background: rgba(var(--tn-sky-rgb), .7);
    }

    .mock-cta {
      width: 142px;
      height: 38px;
      border-radius: 999px;
      background: linear-gradient(180deg, var(--tn-blue), var(--tn-deep));
      box-shadow: 0 0 34px rgba(var(--tn-blue-rgb), .34);
    }

    .concept-stack {
      display: grid;
      align-content: center;
      gap: 14px;
    }

    .concept-chip {
      position: relative;
      display: flex;
      min-height: 58px;
      align-items: center;
      gap: 12px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      padding: 0 17px;
      color: rgba(255,255,255,.76);
      font-size: 13px;
      font-weight: 600;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 46px rgba(0,0,0,.18);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }

    .concept-chip::before {
      content: "";
      width: 9px;
      height: 9px;
      flex: 0 0 auto;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 22px rgba(var(--tn-sky-rgb), .78);
    }

    .concept-chip.primary {
      border-color: rgba(var(--tn-sky-rgb), .24);
      background: linear-gradient(135deg, rgba(var(--tn-blue-rgb), .32), rgba(255,255,255,.035));
      color: #fff;
    }

    .laptop-base {
      width: 84%;
      height: 24px;
      margin: -2px auto 0;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 0 0 32px 32px;
      background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.035));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
    }

    .floating-card {
      position: absolute;
      z-index: 4;
      overflow: hidden;
      display: inline-flex;
      min-height: 54px;
      align-items: center;
      gap: 12px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      padding: 0 18px;
      box-shadow: 0 22px 62px rgba(0,0,0,.3), 0 0 42px rgba(var(--tn-blue-rgb), .11), inset 0 1px 0 rgba(255,255,255,.1);
      backdrop-filter: blur(24px) saturate(165%);
      -webkit-backdrop-filter: blur(24px) saturate(165%);
    }

    .floating-card::before {
      content: "";
      width: 10px;
      height: 10px;
      flex: 0 0 auto;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 24px rgba(var(--tn-sky-rgb), .82);
    }

    .floating-card.strategy {
      top: 74px;
      right: 12px;
      animation: float-soft 6.8s ease-in-out infinite;
    }

    .floating-card.performance {
      left: 6px;
      bottom: 122px;
      animation: float-soft 7.4s ease-in-out infinite reverse;
    }

    .card-eyebrow {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #fff;
      font-size: 13px;
      font-weight: 700;
    }

    .card-eyebrow i {
      width: 15px;
      height: 15px;
      color: var(--tn-sky);
    }

    .stage-orb {
      position: absolute;
      z-index: 3;
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 22px rgba(var(--tn-sky-rgb), .82), 0 0 54px rgba(var(--tn-blue-rgb), .24);
      opacity: .86;
      animation: float-soft 7s ease-in-out infinite;
    }

    .stage-orb.one {
      top: 116px;
      left: 96px;
    }

    .stage-orb.two {
      right: 72px;
      bottom: 168px;
      animation-delay: .7s;
    }

    .scroll-cue {
      position: absolute;
      left: 50%;
      bottom: 24px;
      z-index: 3;
      display: flex;
      width: min(360px, calc(100vw - 48px));
      min-height: 42px;
      align-items: center;
      justify-content: center;
      border-top: 1px solid rgba(255,255,255,.1);
      color: rgba(255,255,255,.45);
      font-size: 12px;
      transform: translateX(-50%);
    }

    .approach-section {
      position: relative;
      z-index: 2;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,.08);
      background:
        radial-gradient(760px 420px at 76% 36%, rgba(var(--tn-blue-rgb), .15), transparent 72%),
        radial-gradient(580px 360px at 16% 88%, rgba(var(--tn-sky-rgb), .07), transparent 76%),
        linear-gradient(180deg, rgba(10,10,10,.94), rgba(var(--tn-deep-rgb), .58) 52%, var(--tn-black));
      padding: 132px 0 126px;
    }

    .approach-section::before,
    .approach-section::after {
      content: "";
      position: absolute;
      pointer-events: none;
    }

    .approach-section::before {
      inset: 0;
      opacity: .34;
      background-image:
        linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: linear-gradient(to bottom, transparent 0%, black 18%, black 72%, transparent 100%);
    }

    .approach-section::after {
      inset: 0;
      background:
        linear-gradient(122deg, transparent 0 31%, rgba(var(--tn-sky-rgb), .08) 31.05%, transparent 31.16% 100%),
        linear-gradient(68deg, transparent 0 66%, rgba(255,255,255,.055) 66.04%, transparent 66.16% 100%);
      opacity: .58;
    }

    .approach-layout {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(0, .94fr) minmax(420px, 1.06fr);
      align-items: center;
      gap: clamp(52px, 7vw, 98px);
    }

    .approach-copy {
      max-width: 620px;
    }

    .section-badge {
      display: inline-flex;
      min-height: 36px;
      align-items: center;
      gap: 10px;
      border: 1px solid rgba(var(--tn-sky-rgb), .22);
      border-radius: 999px;
      background: rgba(255,255,255,.045);
      padding: 0 14px;
      color: rgba(255,255,255,.68);
      font-size: 13px;
      font-weight: 600;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 34px rgba(var(--tn-blue-rgb), .1);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    .section-badge::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 22px rgba(var(--tn-sky-rgb), .72);
    }

    .approach-title {
      margin: 30px 0 0;
      max-width: 580px;
      color: #fff;
      font-size: clamp(44px, 5.4vw, 78px);
      line-height: 1.16;
      font-weight: 300;
      letter-spacing: 0;
      text-shadow: 0 0 64px rgba(var(--tn-blue-rgb), .18);
    }

    .approach-title .title-line {
      display: block;
    }

    .approach-text {
      display: grid;
      gap: 18px;
      margin-top: 34px;
      max-width: 600px;
      color: rgba(255,255,255,.64);
      font-size: clamp(16px, 1.35vw, 18px);
      line-height: 1.78;
      font-weight: 400;
    }

    .approach-text p {
      margin: 0;
    }

    .presence-stage {
      position: relative;
      min-height: 560px;
      perspective: 1400px;
    }

    .presence-glow {
      position: absolute;
      left: 50%;
      top: 50%;
      width: min(520px, 84vw);
      height: min(520px, 84vw);
      border-radius: 999px;
      background:
        radial-gradient(circle, rgba(var(--tn-blue-rgb), .18), transparent 62%),
        radial-gradient(circle at 42% 36%, rgba(var(--tn-sky-rgb), .12), transparent 46%);
      filter: blur(4px);
      transform: translate(-50%, -50%);
    }

    .presence-architecture {
      position: absolute;
      inset: 48px 12px;
      border: 1px solid rgba(var(--tn-sky-rgb), .13);
      border-radius: 34px;
      transform: rotate(-4deg) translateZ(0);
      opacity: .82;
    }

    .presence-architecture::before,
    .presence-architecture::after {
      content: "";
      position: absolute;
      background: linear-gradient(90deg, transparent, rgba(var(--tn-sky-rgb), .5), transparent);
      filter: drop-shadow(0 0 16px rgba(var(--tn-sky-rgb), .32));
    }

    .presence-architecture::before {
      top: 28%;
      left: -8%;
      width: 78%;
      height: 1px;
      transform: rotate(12deg);
    }

    .presence-architecture::after {
      right: -10%;
      bottom: 32%;
      width: 72%;
      height: 1px;
      transform: rotate(-14deg);
    }

    .presence-core {
      position: absolute;
      left: 50%;
      top: 50%;
      width: min(430px, 78vw);
      height: min(430px, 78vw);
      transform: translate(-50%, -50%) rotateX(7deg) rotateY(-10deg);
      transform-style: preserve-3d;
      animation: float-main 8.5s ease-in-out infinite;
    }

    .presence-ring {
      position: absolute;
      inset: 0;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 74px rgba(var(--tn-blue-rgb), .13);
    }

    .presence-ring:nth-child(2) {
      inset: 12%;
      border-color: rgba(var(--tn-sky-rgb), .18);
      animation: spin-slow 18s linear infinite;
    }

    .presence-ring:nth-child(3) {
      inset: 25%;
      border-color: rgba(255,255,255,.12);
      animation: spin-slow 24s linear infinite reverse;
    }

    .presence-pane {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 62%;
      height: 42%;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 28px;
      background: linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.022));
      box-shadow: 0 30px 74px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
      backdrop-filter: blur(24px) saturate(160%);
      -webkit-backdrop-filter: blur(24px) saturate(160%);
      transform: translate(-50%, -50%) rotate(-8deg) translateZ(46px);
    }

    .presence-pane::before {
      content: "";
      position: absolute;
      inset: 22px;
      border-radius: 18px;
      border: 1px solid rgba(var(--tn-sky-rgb), .18);
      background:
        linear-gradient(90deg, rgba(var(--tn-sky-rgb), .32), transparent 52%),
        linear-gradient(180deg, rgba(255,255,255,.06), transparent);
      opacity: .76;
    }

    .presence-pane.secondary {
      width: 48%;
      height: 34%;
      transform: translate(-22%, -78%) rotate(9deg) translateZ(18px);
      opacity: .64;
    }

    .presence-pane.tertiary {
      width: 38%;
      height: 28%;
      transform: translate(-82%, -2%) rotate(14deg) translateZ(6px);
      opacity: .52;
    }

    .presence-node {
      position: absolute;
      z-index: 2;
      width: 9px;
      height: 9px;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 24px rgba(var(--tn-sky-rgb), .86), 0 0 58px rgba(var(--tn-blue-rgb), .24);
      animation: float-soft 7.2s ease-in-out infinite;
    }

    .presence-node.one { left: 14%; top: 27%; }
    .presence-node.two { right: 17%; top: 19%; animation-delay: .4s; }
    .presence-node.three { right: 22%; bottom: 22%; animation-delay: .8s; }

    .presence-word {
      position: absolute;
      z-index: 3;
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      background: rgba(255,255,255,.045);
      padding: 0 16px;
      color: rgba(255,255,255,.7);
      font-size: 12px;
      font-weight: 700;
      box-shadow: 0 18px 54px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      animation: float-soft 7.8s ease-in-out infinite;
    }

    .presence-word.strategy {
      left: 4%;
      bottom: 23%;
    }

    .presence-word.design {
      right: 4%;
      top: 30%;
      animation-delay: .5s;
    }

    .solutions-section {
      position: relative;
      z-index: 2;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,.08);
      background:
        radial-gradient(760px 420px at 18% 18%, rgba(var(--tn-blue-rgb), .12), transparent 72%),
        radial-gradient(660px 380px at 84% 60%, rgba(var(--tn-sky-rgb), .08), transparent 74%),
        linear-gradient(180deg, var(--tn-black), rgba(var(--tn-deep-rgb), .62) 48%, var(--tn-black));
      padding: 128px 0 124px;
    }

    .solutions-section::before,
    .solutions-section::after {
      content: "";
      position: absolute;
      pointer-events: none;
    }

    .solutions-section::before {
      inset: 0;
      opacity: .28;
      background-image:
        linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: linear-gradient(to bottom, transparent 0%, black 16%, black 78%, transparent 100%);
    }

    .solutions-section::after {
      inset: 0;
      opacity: .44;
      background:
        linear-gradient(118deg, transparent 0 22%, rgba(var(--tn-sky-rgb), .07) 22.05%, transparent 22.18% 100%),
        linear-gradient(58deg, transparent 0 74%, rgba(255,255,255,.05) 74.04%, transparent 74.16% 100%);
    }

    .solutions-shell {
      position: relative;
      z-index: 1;
    }

    .solutions-header {
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
    }

    .solutions-header .section-badge {
      justify-content: center;
    }

    .solutions-title {
      margin: 30px auto 0;
      max-width: 760px;
      color: #fff;
      font-size: clamp(42px, 5.2vw, 76px);
      line-height: 1.04;
      font-weight: 300;
      letter-spacing: 0;
      text-wrap: balance;
      text-shadow: 0 0 64px rgba(var(--tn-blue-rgb), .18);
    }

    .solutions-lede {
      margin: 26px auto 0;
      max-width: 690px;
      color: rgba(255,255,255,.62);
      font-size: clamp(16px, 1.45vw, 18px);
      line-height: 1.72;
      font-weight: 400;
    }

    .solutions-grid {
      position: relative;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
      margin-top: 66px;
    }

    .solutions-grid::before {
      content: "";
      position: absolute;
      left: 50%;
      top: -42px;
      width: min(620px, 72vw);
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(var(--tn-sky-rgb), .34), transparent);
      transform: translateX(-50%);
      opacity: .72;
    }

    .solution-card {
      position: relative;
      min-height: 310px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 28px;
      background:
        radial-gradient(420px circle at 12% 0%, rgba(var(--tn-blue-rgb), .12), transparent 62%),
        linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.023));
      padding: clamp(28px, 3.4vw, 40px);
      box-shadow: 0 24px 80px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
      backdrop-filter: blur(22px) saturate(155%);
      -webkit-backdrop-filter: blur(22px) saturate(155%);
      transition: transform .42s ease, border-color .42s ease, box-shadow .42s ease, background .42s ease;
    }

    .solution-card::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: 0;
      background: radial-gradient(520px circle at 50% 0%, rgba(var(--tn-sky-rgb), .15), transparent 55%);
      transition: opacity .42s ease;
      pointer-events: none;
    }

    .solution-card::after {
      content: "";
      position: absolute;
      left: 34px;
      right: 34px;
      top: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
      opacity: .42;
    }

    .solution-card:hover {
      transform: translateY(-7px) scale(1.008);
      border-color: rgba(var(--tn-sky-rgb), .34);
      box-shadow: 0 34px 104px rgba(0,0,0,.32), 0 0 66px rgba(var(--tn-blue-rgb), .13), inset 0 1px 0 rgba(255,255,255,.12);
    }

    .solution-card:hover::before {
      opacity: 1;
    }

    .solution-icon {
      position: relative;
      display: inline-flex;
      width: 58px;
      height: 58px;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(var(--tn-sky-rgb), .24);
      border-radius: 20px;
      background: linear-gradient(135deg, rgba(var(--tn-blue-rgb), .2), rgba(255,255,255,.045));
      color: var(--tn-sky);
      box-shadow: 0 0 38px rgba(var(--tn-blue-rgb), .14), inset 0 1px 0 rgba(255,255,255,.08);
    }

    .solution-icon i {
      width: 25px;
      height: 25px;
      stroke-width: 1.7;
    }

    .solution-card h3 {
      position: relative;
      margin: 30px 0 0;
      color: #fff;
      font-size: clamp(24px, 2.5vw, 34px);
      line-height: 1.12;
      font-weight: 500;
      letter-spacing: 0;
    }

    .solution-card p {
      position: relative;
      margin: 18px 0 0;
      max-width: 520px;
      color: rgba(255,255,255,.58);
      font-size: 16px;
      line-height: 1.68;
      font-weight: 400;
    }

    .solution-card .card-line {
      position: absolute;
      right: 28px;
      bottom: 28px;
      width: 112px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(var(--tn-sky-rgb), .46));
      opacity: .56;
    }

    .solutions-cta {
      position: relative;
      max-width: 640px;
      margin: 66px auto 0;
      text-align: center;
    }

    .solutions-cta p {
      margin: 0 auto 26px;
      max-width: 620px;
      color: rgba(255,255,255,.62);
      font-size: 17px;
      line-height: 1.68;
    }

    .solutions-deco {
      position: absolute;
      pointer-events: none;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 24px rgba(var(--tn-sky-rgb), .78), 0 0 72px rgba(var(--tn-blue-rgb), .18);
      opacity: .58;
      animation: float-soft 7.6s ease-in-out infinite;
    }

    .solutions-deco.one {
      left: 7%;
      top: 28%;
      width: 8px;
      height: 8px;
    }

    .solutions-deco.two {
      right: 8%;
      bottom: 24%;
      width: 10px;
      height: 10px;
      animation-delay: .6s;
    }

    .process-section {
      position: relative;
      z-index: 2;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,.08);
      background:
        radial-gradient(820px 460px at 50% 16%, rgba(var(--tn-blue-rgb), .13), transparent 74%),
        radial-gradient(620px 380px at 12% 72%, rgba(var(--tn-sky-rgb), .07), transparent 76%),
        linear-gradient(180deg, rgba(10,10,10,.96), rgba(var(--tn-deep-rgb), .58) 50%, var(--tn-black));
      padding: 128px 0 124px;
    }

    .process-section::before,
    .process-section::after {
      content: "";
      position: absolute;
      pointer-events: none;
    }

    .process-section::before {
      inset: 0;
      opacity: .26;
      background-image:
        linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: linear-gradient(to bottom, transparent 0%, black 18%, black 78%, transparent 100%);
    }

    .process-section::after {
      inset: 0;
      opacity: .46;
      background:
        linear-gradient(122deg, transparent 0 28%, rgba(var(--tn-sky-rgb), .07) 28.04%, transparent 28.18% 100%),
        linear-gradient(64deg, transparent 0 68%, rgba(255,255,255,.05) 68.04%, transparent 68.17% 100%);
    }

    .process-shell {
      position: relative;
      z-index: 1;
    }

    .process-header {
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
    }

    .process-header .section-badge {
      justify-content: center;
    }

    .process-title {
      margin: 30px auto 0;
      max-width: 760px;
      color: #fff;
      font-size: clamp(42px, 5.2vw, 76px);
      line-height: 1.04;
      font-weight: 300;
      letter-spacing: 0;
      text-wrap: balance;
      text-shadow: 0 0 64px rgba(var(--tn-blue-rgb), .18);
    }

    .process-lede {
      margin: 26px auto 0;
      max-width: 680px;
      color: rgba(255,255,255,.62);
      font-size: clamp(16px, 1.45vw, 18px);
      line-height: 1.72;
      font-weight: 400;
    }

    .process-journey {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
      margin-top: 72px;
    }

    .process-journey::before {
      content: "";
      position: absolute;
      left: 7%;
      right: 7%;
      top: 64px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(var(--tn-sky-rgb), .34), rgba(255,255,255,.08), rgba(var(--tn-sky-rgb), .34), transparent);
      box-shadow: 0 0 24px rgba(var(--tn-blue-rgb), .16);
    }

    .process-step {
      position: relative;
      min-height: 360px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 28px;
      background:
        radial-gradient(360px circle at 22% 0%, rgba(var(--tn-blue-rgb), .11), transparent 64%),
        linear-gradient(135deg, rgba(255,255,255,.068), rgba(255,255,255,.023));
      padding: 34px 28px 30px;
      box-shadow: 0 24px 80px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
      backdrop-filter: blur(22px) saturate(155%);
      -webkit-backdrop-filter: blur(22px) saturate(155%);
      transition: transform .42s ease, border-color .42s ease, box-shadow .42s ease, background .42s ease;
    }

    .process-step::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: 0;
      background: radial-gradient(420px circle at 50% 0%, rgba(var(--tn-sky-rgb), .14), transparent 58%);
      transition: opacity .42s ease;
      pointer-events: none;
    }

    .process-step::after {
      content: "";
      position: absolute;
      left: 28px;
      right: 28px;
      top: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.26), transparent);
      opacity: .42;
    }

    .process-step:hover {
      transform: translateY(-7px) scale(1.006);
      border-color: rgba(var(--tn-sky-rgb), .34);
      box-shadow: 0 34px 104px rgba(0,0,0,.32), 0 0 66px rgba(var(--tn-blue-rgb), .13), inset 0 1px 0 rgba(255,255,255,.12);
    }

    .process-step:hover::before {
      opacity: 1;
    }

    .process-number {
      position: relative;
      display: block;
      color: rgba(255,255,255,.18);
      font-size: clamp(58px, 6vw, 86px);
      line-height: .82;
      font-weight: 300;
      text-shadow: 0 0 54px rgba(var(--tn-blue-rgb), .2);
    }

    .process-dot {
      position: absolute;
      left: 28px;
      top: 60px;
      width: 9px;
      height: 9px;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 24px rgba(var(--tn-sky-rgb), .78), 0 0 60px rgba(var(--tn-blue-rgb), .2);
    }

    .process-step h3 {
      position: relative;
      margin: 70px 0 0;
      color: #fff;
      font-size: clamp(23px, 2vw, 30px);
      line-height: 1.12;
      font-weight: 500;
      letter-spacing: 0;
    }

    .process-step p {
      position: relative;
      margin: 18px 0 0;
      color: rgba(255,255,255,.58);
      font-size: 15px;
      line-height: 1.66;
      font-weight: 400;
    }

    .process-flow {
      position: absolute;
      pointer-events: none;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 24px rgba(var(--tn-sky-rgb), .72), 0 0 72px rgba(var(--tn-blue-rgb), .18);
      opacity: .52;
      animation: float-soft 7.4s ease-in-out infinite;
    }

    .process-flow.one {
      left: 9%;
      top: 34%;
      width: 8px;
      height: 8px;
    }

    .process-flow.two {
      right: 11%;
      bottom: 28%;
      width: 10px;
      height: 10px;
      animation-delay: .5s;
    }

    .portfolio-section {
      position: relative;
      z-index: 2;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,.08);
      background:
        radial-gradient(820px 460px at 78% 18%, rgba(var(--tn-blue-rgb), .13), transparent 74%),
        radial-gradient(660px 420px at 12% 66%, rgba(var(--tn-sky-rgb), .07), transparent 78%),
        linear-gradient(180deg, var(--tn-black), rgba(var(--tn-deep-rgb), .6) 48%, var(--tn-black));
      padding: 128px 0 124px;
    }

    .portfolio-section::before,
    .portfolio-section::after {
      content: "";
      position: absolute;
      pointer-events: none;
    }

    .portfolio-section::before {
      inset: 0;
      opacity: .24;
      background-image:
        linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: linear-gradient(to bottom, transparent 0%, black 16%, black 80%, transparent 100%);
    }

    .portfolio-section::after {
      inset: 0;
      opacity: .42;
      background:
        linear-gradient(118deg, transparent 0 34%, rgba(var(--tn-sky-rgb), .07) 34.04%, transparent 34.18% 100%),
        linear-gradient(62deg, transparent 0 72%, rgba(255,255,255,.05) 72.04%, transparent 72.16% 100%);
    }

    .portfolio-shell {
      position: relative;
      z-index: 1;
    }

    .portfolio-header {
      max-width: 780px;
    }

    .portfolio-title {
      margin: 30px 0 0;
      max-width: 760px;
      color: #fff;
      font-size: clamp(42px, 5.2vw, 76px);
      line-height: 1.04;
      font-weight: 300;
      letter-spacing: 0;
      text-wrap: balance;
      text-shadow: 0 0 64px rgba(var(--tn-blue-rgb), .18);
    }

    .portfolio-lede {
      margin: 26px 0 0;
      max-width: 730px;
      color: rgba(255,255,255,.62);
      font-size: clamp(16px, 1.45vw, 18px);
      line-height: 1.72;
      font-weight: 400;
    }

    .portfolio-showcase {
      position: relative;
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      gap: 20px;
      margin-top: 70px;
      align-items: start;
    }

    .portfolio-showcase::before {
      content: "";
      position: absolute;
      left: 8%;
      right: 8%;
      top: -38px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(var(--tn-sky-rgb), .32), transparent);
      opacity: .72;
      box-shadow: 0 0 22px rgba(var(--tn-blue-rgb), .12);
    }

    .project-card {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 30px;
      background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.022));
      box-shadow: 0 28px 88px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
      backdrop-filter: blur(22px) saturate(155%);
      -webkit-backdrop-filter: blur(22px) saturate(155%);
      transition: transform .48s ease, border-color .48s ease, box-shadow .48s ease;
    }

    .project-card.featured {
      grid-column: span 7;
    }

    .project-card.side {
      grid-column: span 5;
    }

    .project-card.wide {
      grid-column: 3 / span 8;
      margin-top: 18px;
    }

    .project-card::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      opacity: 0;
      background: radial-gradient(620px circle at 50% 0%, rgba(var(--tn-sky-rgb), .12), transparent 62%);
      transition: opacity .48s ease;
      pointer-events: none;
    }

    .project-card:hover {
      transform: translateY(-8px) scale(1.006);
      border-color: rgba(var(--tn-sky-rgb), .34);
      box-shadow: 0 38px 118px rgba(0,0,0,.34), 0 0 72px rgba(var(--tn-blue-rgb), .14), inset 0 1px 0 rgba(255,255,255,.12);
    }

    .project-card:hover::before {
      opacity: 1;
    }

    .project-media {
      position: relative;
      overflow: hidden;
      border-radius: 30px 30px 20px 20px;
      background: rgba(255,255,255,.04);
    }

    .project-card.featured .project-media {
      height: clamp(430px, 48vw, 620px);
    }

    .project-card.side .project-media {
      height: clamp(360px, 36vw, 500px);
    }

    .project-card.wide .project-media {
      height: clamp(410px, 42vw, 560px);
    }

    .project-media img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
      transform: scale(1.001);
      transition: transform .7s ease, filter .7s ease;
    }

    .project-card:hover .project-media img {
      transform: scale(1.035);
      filter: saturate(1.04);
    }

    .project-media::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, transparent 58%, rgba(10,10,10,.72)),
        linear-gradient(90deg, rgba(10,10,10,.18), transparent 42%);
      pointer-events: none;
    }

    .project-meta {
      position: relative;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 18px;
      min-height: 126px;
      padding: 26px 28px 28px;
    }

    .project-kicker {
      margin: 0;
      color: rgba(var(--tn-sky-rgb), .82);
      font-size: 12px;
      font-weight: 700;
    }

    .project-name {
      margin: 9px 0 0;
      color: #fff;
      font-size: clamp(24px, 2.4vw, 34px);
      line-height: 1.08;
      font-weight: 500;
      letter-spacing: 0;
    }

    .project-note {
      margin: 12px 0 0;
      max-width: 440px;
      color: rgba(255,255,255,.52);
      font-size: 14px;
      line-height: 1.55;
    }

    .project-action {
      display: inline-flex;
      width: 46px;
      height: 46px;
      flex: 0 0 auto;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(var(--tn-sky-rgb), .24);
      border-radius: 999px;
      background: rgba(255,255,255,.045);
      color: var(--tn-sky);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
      opacity: .72;
      transition: transform .42s ease, opacity .42s ease, border-color .42s ease, box-shadow .42s ease;
    }

    .project-action i {
      width: 18px;
      height: 18px;
    }

    .project-card:hover .project-action {
      opacity: 1;
      transform: translateX(3px);
      border-color: rgba(var(--tn-sky-rgb), .44);
      box-shadow: 0 0 34px rgba(var(--tn-blue-rgb), .16), inset 0 1px 0 rgba(255,255,255,.1);
    }

    .portfolio-cta {
      position: relative;
      max-width: 690px;
      margin: 70px auto 0;
      text-align: center;
    }

    .portfolio-cta p {
      margin: 0 auto 26px;
      max-width: 660px;
      color: rgba(255,255,255,.62);
      font-size: 17px;
      line-height: 1.68;
    }

    .portfolio-deco {
      position: absolute;
      pointer-events: none;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 24px rgba(var(--tn-sky-rgb), .74), 0 0 72px rgba(var(--tn-blue-rgb), .18);
      opacity: .52;
      animation: float-soft 7.8s ease-in-out infinite;
    }

    .portfolio-deco.one {
      right: 9%;
      top: 18%;
      width: 9px;
      height: 9px;
    }

    .portfolio-deco.two {
      left: 8%;
      bottom: 22%;
      width: 10px;
      height: 10px;
      animation-delay: .55s;
    }

    .final-cta-section {
      position: relative;
      z-index: 2;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,.08);
      background:
        radial-gradient(840px 460px at 50% 14%, rgba(var(--tn-blue-rgb), .15), transparent 74%),
        radial-gradient(620px 360px at 50% 100%, rgba(var(--tn-sky-rgb), .07), transparent 78%),
        linear-gradient(180deg, rgba(10,10,10,.96), rgba(var(--tn-deep-rgb), .54) 48%, var(--tn-black));
      padding: 138px 0 132px;
      scroll-margin-top: 104px;
    }

    .final-cta-section::before,
    .final-cta-section::after {
      content: "";
      position: absolute;
      pointer-events: none;
    }

    .final-cta-section::before {
      inset: 0;
      opacity: .24;
      background-image:
        linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: radial-gradient(circle at 50% 48%, black 0%, black 42%, transparent 78%);
    }

    .final-cta-section::after {
      inset: 0;
      opacity: .46;
      background:
        linear-gradient(122deg, transparent 0 38%, rgba(var(--tn-sky-rgb), .07) 38.04%, transparent 38.17% 100%),
        linear-gradient(58deg, transparent 0 62%, rgba(255,255,255,.05) 62.04%, transparent 62.16% 100%);
    }

    .final-cta-shell {
      position: relative;
      z-index: 1;
      max-width: 920px;
      margin: 0 auto;
      text-align: center;
    }

    .final-cta-shell .section-badge {
      justify-content: center;
    }

    .final-cta-title {
      margin: 30px auto 0;
      max-width: 900px;
      color: #fff;
      font-size: clamp(44px, 5.6vw, 82px);
      line-height: 1.04;
      font-weight: 300;
      letter-spacing: 0;
      text-wrap: balance;
      text-shadow: 0 0 72px rgba(var(--tn-blue-rgb), .2);
    }

    .final-cta-text {
      margin: 28px auto 0;
      max-width: 650px;
      color: rgba(255,255,255,.64);
      font-size: clamp(17px, 1.5vw, 20px);
      line-height: 1.72;
      font-weight: 400;
    }

    .final-cta-actions {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      margin-top: 42px;
    }

    .final-cta-orbit {
      position: absolute;
      left: 50%;
      top: 50%;
      width: min(640px, 86vw);
      height: min(640px, 86vw);
      border: 1px solid rgba(var(--tn-sky-rgb), .12);
      border-radius: 999px;
      transform: translate(-50%, -50%);
      opacity: .56;
      pointer-events: none;
    }

    .final-cta-orbit::before,
    .final-cta-orbit::after {
      content: "";
      position: absolute;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(var(--tn-sky-rgb), .34), transparent);
      filter: drop-shadow(0 0 16px rgba(var(--tn-sky-rgb), .25));
    }

    .final-cta-orbit::before {
      left: 8%;
      right: 8%;
      top: 28%;
      transform: rotate(-12deg);
    }

    .final-cta-orbit::after {
      left: 12%;
      right: 12%;
      bottom: 25%;
      transform: rotate(14deg);
    }

    .final-cta-deco {
      position: absolute;
      pointer-events: none;
      border-radius: 999px;
      background: var(--tn-sky);
      box-shadow: 0 0 24px rgba(var(--tn-sky-rgb), .72), 0 0 78px rgba(var(--tn-blue-rgb), .18);
      opacity: .54;
      animation: float-soft 7.8s ease-in-out infinite;
    }

    .final-cta-deco.one {
      left: 16%;
      top: 29%;
      width: 9px;
      height: 9px;
    }

    .final-cta-deco.two {
      right: 17%;
      bottom: 31%;
      width: 10px;
      height: 10px;
      animation-delay: .55s;
    }

    .site-footer {
      position: relative;
      z-index: 2;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,.08);
      background:
        radial-gradient(620px 320px at 18% 0%, rgba(var(--tn-blue-rgb), .08), transparent 76%),
        linear-gradient(180deg, var(--tn-black), rgba(var(--tn-deep-rgb), .42));
      padding: 70px 0 32px;
    }

    .site-footer::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .18;
      background-image:
        linear-gradient(rgba(255,255,255,.024) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.024) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: linear-gradient(to bottom, black, transparent 78%);
    }

    .footer-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1.4fr .7fr .9fr;
      gap: clamp(36px, 7vw, 90px);
      align-items: start;
    }

    .footer-brand img {
      display: block;
      width: 218px;
      height: auto;
      object-fit: contain;
      object-position: left center;
    }

    .footer-brand p {
      margin: 24px 0 0;
      max-width: 390px;
      color: rgba(255,255,255,.55);
      font-size: 15px;
      line-height: 1.7;
    }

    .footer-heading {
      margin: 0 0 20px;
      color: rgba(255,255,255,.9);
      font-size: 13px;
      font-weight: 700;
    }

    .footer-links,
    .footer-contact {
      display: grid;
      gap: 12px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .footer-links a,
    .footer-contact a {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      width: fit-content;
      color: rgba(255,255,255,.54);
      font-size: 14px;
      line-height: 1.4;
      transition: color .3s ease, transform .3s ease;
    }

    .footer-links a:hover,
    .footer-contact a:hover {
      color: #fff;
      transform: translateX(4px);
    }

    .footer-contact i {
      width: 16px;
      height: 16px;
      color: var(--tn-sky);
      opacity: .8;
      transition: opacity .3s ease, filter .3s ease;
    }

    .footer-contact a:hover i {
      opacity: 1;
      filter: drop-shadow(0 0 10px rgba(var(--tn-sky-rgb), .42));
    }

    .footer-bottom {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-top: 58px;
      border-top: 1px solid rgba(255,255,255,.08);
      padding-top: 26px;
      color: rgba(255,255,255,.42);
      font-size: 13px;
      line-height: 1.5;
    }

    .footer-bottom p {
      margin: 0;
    }

    :where(a, button):focus-visible {
      outline: 2px solid rgba(var(--tn-sky-rgb), .68);
      outline-offset: 4px;
      box-shadow: 0 0 0 6px rgba(var(--tn-blue-rgb), .12);
    }

    :where(.solution-card, .process-step, .project-card, .trust-item) {
      isolation: isolate;
    }

    :where(.solution-icon i, .project-action i, .footer-contact i, .card-eyebrow i) {
      stroke-width: 1.75;
    }

    :where(.approach-section, .solutions-section, .process-section, .portfolio-section, .final-cta-section, .site-footer) {
      background-attachment: scroll;
    }

    @supports (content-visibility: auto) {
      :where(.approach-section, .solutions-section, .process-section, .portfolio-section, .final-cta-section, .site-footer) {
        content-visibility: auto;
        contain-intrinsic-size: 900px;
      }
    }

    .reveal {
      opacity: 0;
      filter: blur(16px);
      transform: translateY(22px);
    }

    .reveal.is-visible {
      animation: reveal-up .9s cubic-bezier(.2, .8, .2, 1) forwards;
      animation-delay: var(--delay, 0s);
    }

    @keyframes reveal-up {
      to {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0);
      }
    }

    @keyframes beam-spin {
      to { transform: rotate(360deg); }
    }

    @keyframes lines-slide {
      to { background-position: 28px 0; }
    }

    @keyframes pulse-ring {
      0% { transform: scale(.55); opacity: .72; }
      100% { transform: scale(1.7); opacity: 0; }
    }

    @keyframes float-main {
      0%, 100% { transform: translate(-50%, -47%) rotateX(5deg) rotateY(-8deg) rotateZ(1deg); }
      50% { transform: translate(-50%, -50%) rotateX(4deg) rotateY(-6deg) rotateZ(.4deg); }
    }

    @keyframes float-soft {
      0%, 100% { transform: translate3d(0, 0, 34px); }
      50% { transform: translate3d(0, -12px, 44px); }
    }

    @keyframes spin-slow {
      to { transform: rotate(360deg); }
    }

    @keyframes screen-sheen {
      0%, 24% { transform: translateX(-120%); opacity: 0; }
      42% { opacity: .75; }
      66%, 100% { transform: translateX(120%); opacity: 0; }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }

      .reveal {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
        animation: none !important;
      }
    }

    @media (max-width: 1040px) {
      .nav-links,
      .nav-actions .nav-cta {
        display: none;
      }

      .menu-toggle {
        display: inline-flex;
      }

      .mobile-menu {
        display: block;
      }

      .hero {
        padding-top: 132px;
      }

      .hero-layout {
        grid-template-columns: 1fr;
        gap: 58px;
      }

      .hero-copy {
        max-width: 760px;
      }

      .visual-stage {
        min-height: 560px;
      }

      .approach-section {
        padding: 112px 0 106px;
      }

      .approach-layout {
        grid-template-columns: 1fr;
        gap: 60px;
      }

      .approach-copy {
        max-width: 760px;
      }

      .presence-stage {
        min-height: 520px;
      }

      .solutions-section {
        padding: 112px 0 108px;
      }

      .solutions-grid {
        gap: 16px;
      }

      .solution-card {
        min-height: 320px;
      }

      .process-section {
        padding: 112px 0 108px;
      }

      .process-journey {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
      }

      .process-journey::before {
        left: 50%;
        right: auto;
        top: 4%;
        bottom: 4%;
        width: 1px;
        height: auto;
        background: linear-gradient(180deg, transparent, rgba(var(--tn-sky-rgb), .28), rgba(255,255,255,.08), rgba(var(--tn-sky-rgb), .28), transparent);
      }

      .process-step {
        min-height: 330px;
      }

      .portfolio-section {
        padding: 112px 0 108px;
      }

      .portfolio-showcase {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }

      .project-card.featured,
      .project-card.side {
        grid-column: span 1;
      }

      .project-card.wide {
        grid-column: 1 / -1;
        margin-top: 0;
      }

      .project-card.featured .project-media,
      .project-card.side .project-media,
      .project-card.wide .project-media {
        height: clamp(360px, 52vw, 520px);
      }
    }

    @media (max-width: 720px) {
      .container {
        width: min(100%, calc(100vw - 32px));
      }

      .nav-inner {
        height: 72px;
      }

      .brand {
        min-width: 176px;
        height: 52px;
      }

      .brand img {
        width: 176px;
        max-height: 42px;
      }

      .mobile-menu {
        top: 72px;
        left: 16px;
        right: 16px;
        border-radius: 18px;
      }

      .hero {
        min-height: auto;
        padding: 118px 0 56px;
      }

      h1 {
        margin-top: 24px;
        font-size: clamp(42px, 13.4vw, 62px);
        line-height: .98;
      }

      .subheadline {
        font-size: 16px;
        line-height: 1.65;
      }

      .hero-actions {
        flex-direction: column;
        align-items: stretch;
        margin-top: 32px;
      }

      .btn {
        width: 100%;
        min-height: 56px;
      }

      .trust-row {
        grid-template-columns: 1fr;
        margin-top: 34px;
      }

      .trust-item {
        min-height: 74px;
      }

      .visual-stage {
        min-height: 520px;
        margin-top: 4px;
      }

      .stage-rail {
        inset: 16px 2% auto 2%;
        height: 390px;
      }

      .laptop {
        top: 52%;
        width: 96%;
        transform: translate(-50%, -48%) rotateX(0) rotateY(0) rotateZ(0);
        animation: none;
      }

      .screen-shell {
        border-radius: 22px;
        padding: 8px;
      }

      .screen {
        border-radius: 16px;
      }

      .project-ui {
        inset: 16px;
        gap: 14px;
      }

      .mini-nav span {
        width: 32px;
      }

      .project-content {
        grid-template-columns: 1fr;
      }

      .mock-hero {
        min-height: 190px;
      }

      .concept-stack {
        display: none;
      }

      .floating-card.strategy {
        top: 8px;
        right: 0;
        min-height: 46px;
        padding: 0 14px;
      }

      .floating-card.performance {
        left: 0;
        bottom: 72px;
        min-height: 46px;
        padding: 0 14px;
      }

      .scroll-cue {
        display: none;
      }

      .approach-section {
        padding: 86px 0 88px;
      }

      .approach-title {
        margin-top: 24px;
        font-size: clamp(40px, 12vw, 58px);
      }

      .approach-text {
        margin-top: 28px;
        font-size: 16px;
        line-height: 1.68;
      }

      .presence-stage {
        min-height: 430px;
      }

      .presence-architecture {
        inset: 36px 0;
        border-radius: 26px;
      }

      .presence-core {
        width: min(340px, 78vw);
        height: min(340px, 78vw);
        transform: translate(-50%, -50%) rotateX(0) rotateY(0);
        animation: none;
      }

      .presence-pane {
        border-radius: 22px;
      }

      .presence-pane::before {
        inset: 16px;
        border-radius: 14px;
      }

      .presence-word {
        min-height: 40px;
        padding: 0 13px;
        font-size: 11px;
      }

      .presence-word.strategy {
        left: 0;
        bottom: 17%;
      }

      .presence-word.design {
        right: 0;
        top: 23%;
      }

      .solutions-section {
        padding: 88px 0 90px;
      }

      .solutions-header {
        text-align: left;
      }

      .solutions-header .section-badge {
        justify-content: flex-start;
      }

      .solutions-title {
        font-size: clamp(38px, 11vw, 58px);
        line-height: 1.06;
        text-wrap: initial;
      }

      .solutions-lede {
        margin-top: 22px;
        font-size: 16px;
        line-height: 1.66;
      }

      .solutions-grid {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 46px;
      }

      .solutions-grid::before {
        top: -28px;
        width: 86%;
      }

      .solution-card {
        min-height: auto;
        border-radius: 22px;
        padding: 28px;
      }

      .solution-card h3 {
        margin-top: 24px;
      }

      .solution-card p {
        font-size: 15px;
        line-height: 1.62;
      }

      .solutions-cta {
        margin-top: 46px;
        text-align: left;
      }

      .process-section {
        padding: 88px 0 90px;
      }

      .process-header {
        text-align: left;
      }

      .process-header .section-badge {
        justify-content: flex-start;
      }

      .process-title {
        font-size: clamp(38px, 11vw, 58px);
        line-height: 1.06;
        text-wrap: initial;
      }

      .process-lede {
        margin-top: 22px;
        font-size: 16px;
        line-height: 1.66;
      }

      .process-journey {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 48px;
      }

      .process-journey::before {
        left: 32px;
        top: 20px;
        bottom: 20px;
      }

      .process-step {
        min-height: auto;
        border-radius: 22px;
        padding: 28px 28px 28px 84px;
      }

      .process-number {
        position: absolute;
        left: 28px;
        top: 32px;
        font-size: 36px;
      }

      .process-dot {
        left: 28px;
        top: 92px;
      }

      .process-step h3 {
        margin-top: 0;
      }

      .process-step p {
        font-size: 15px;
        line-height: 1.62;
      }

      .portfolio-section {
        padding: 88px 0 90px;
      }

      .portfolio-title {
        font-size: clamp(38px, 11vw, 58px);
        line-height: 1.06;
        text-wrap: initial;
      }

      .portfolio-lede {
        margin-top: 22px;
        font-size: 16px;
        line-height: 1.66;
      }

      .portfolio-showcase {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 48px;
      }

      .portfolio-showcase::before {
        top: -28px;
        width: 86%;
      }

      .project-card.featured,
      .project-card.side,
      .project-card.wide {
        grid-column: 1;
      }

      .project-card {
        border-radius: 22px;
      }

      .project-media,
      .project-card.featured .project-media,
      .project-card.side .project-media,
      .project-card.wide .project-media {
        height: clamp(360px, 118vw, 520px);
        border-radius: 22px 22px 16px 16px;
      }

      .project-meta {
        min-height: auto;
        padding: 22px;
      }

      .project-note {
        font-size: 13px;
      }

      .portfolio-cta {
        margin-top: 48px;
        text-align: left;
      }

      .final-cta-section {
        padding: 92px 0 96px;
      }

      .final-cta-title {
        font-size: clamp(38px, 11vw, 58px);
        line-height: 1.08;
        text-wrap: initial;
      }

      .final-cta-text {
        margin-top: 24px;
        font-size: 16px;
        line-height: 1.66;
      }

      .final-cta-actions {
        flex-direction: column;
        align-items: stretch;
        margin-top: 34px;
      }

      .final-cta-orbit {
        width: min(430px, 92vw);
        height: min(430px, 92vw);
      }

      .site-footer {
        padding: 58px 0 28px;
      }

      .footer-grid {
        grid-template-columns: 1fr;
        gap: 34px;
      }

      .footer-brand img {
        width: 190px;
      }

      .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 42px;
      }
    }

    @media (max-width: 430px) {
      .brand {
        min-width: 152px;
      }

      .brand img {
        width: 152px;
      }

      .badge {
        width: 100%;
        justify-content: center;
        text-align: center;
        font-size: 12px;
      }

      .visual-stage {
        min-height: 470px;
      }

      .floating-card {
        border-radius: 16px;
      }

      .floating-card.strategy {
        right: 0;
      }

      .floating-card.performance {
        left: 0;
      }

      .section-badge {
        width: 100%;
        justify-content: center;
      }

      .presence-stage {
        min-height: 380px;
      }

      .solutions-header .section-badge {
        width: 100%;
        justify-content: center;
      }

      .solution-icon {
        width: 54px;
        height: 54px;
        border-radius: 18px;
      }

      .process-header .section-badge {
        width: 100%;
        justify-content: center;
      }

      .process-step {
        padding-left: 76px;
      }

      .final-cta-shell .section-badge {
        width: 100%;
        justify-content: center;
      }

      .presence-word.design {
        top: 17%;
      }

      .presence-word.strategy {
        bottom: 12%;
      }
    }
