.tm-hero {
          min-height: 100vh;
          min-height: 100svh;
          background: #fff;
          color: #000;
          position: relative;
          overflow: hidden;
          display: flex;
          align-items: center;
        }
        .tm-orb {
          position: absolute;
          border-radius: 50%;
          pointer-events: none;
          filter: blur(42px);
          opacity: 0;
          transition: opacity 1.3s ease;
        }
        .tm-orb.is-in { opacity: 1; }
        .tm-orb-a {
          width: min(40vw, 460px);
          height: min(40vw, 460px);
          top: 6%;
          left: -10%;
          background: radial-gradient(circle, rgba(0,0,0,0.05), transparent 70%);
        }
        .tm-orb-b {
          width: min(34vw, 400px);
          height: min(34vw, 400px);
          right: -8%;
          bottom: 8%;
          background: radial-gradient(circle, rgba(0,0,0,0.04), transparent 70%);
          transition-delay: 0.35s;
        }
        .tm-watermark {
          position: absolute;
          left: 50%;
          top: 50%;
          font-family: var(--font-display);
          font-size: clamp(6rem, 24vw, 18rem);
          font-weight: 300;
          letter-spacing: -0.06em;
          color: transparent;
          -webkit-text-stroke: 1px rgba(0,0,0,0.06);
          text-transform: uppercase;
          pointer-events: none;
          white-space: nowrap;
          will-change: transform, opacity;
        }
        .tm-hero-inner {
          position: relative;
          z-index: 2;
          width: 100%;
          min-height: 100vh;
          min-height: 100svh;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          text-align: center;
          padding: calc(var(--nav-height) + 1.5rem) clamp(1.2rem, 4vw, 3rem) 3.5rem;
        }
        .tm-meta {
          display: flex;
          align-items: center;
          gap: 1rem;
          margin-bottom: clamp(1.2rem, 3vh, 2rem);
        }
        .tm-index,
        .tm-index-label {
          font-family: var(--font-body);
          font-size: 0.72rem;
          font-weight: 600;
          letter-spacing: 0.22em;
          text-transform: uppercase;
          color: #999;
          opacity: 0;
          transform: translateY(14px);
          transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                      transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .tm-index.is-in,
        .tm-index-label.is-in { opacity: 1; transform: none; }
        .tm-index-label { transition-delay: 0.1s; }
        .tm-heading {
          margin: 0;
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 0.05em;
        }
        .tm-line { display: block; overflow: hidden; }
        .tm-word {
          display: inline-block;
          font-family: var(--font-display);
          font-size: clamp(3.6rem, 12vw, 9rem);
          line-height: 0.9;
          text-transform: uppercase;
          letter-spacing: -0.03em;
          color: #000;
          opacity: 0;
          transform: translateY(110%);
          transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
                      transform 1s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .tm-word.is-in { opacity: 1; transform: none; }
        .tm-word.is-ghost {
          color: transparent;
          -webkit-text-stroke: 1.5px rgba(0,0,0,0.35);
        }
        .tm-subhead {
          margin: clamp(1.2rem, 2.5vh, 1.8rem) 0 0;
          font-family: var(--font-body);
          font-size: clamp(1rem, 1.6vw, 1.25rem);
          font-weight: 500;
          letter-spacing: 0.04em;
          color: #444;
          opacity: 0;
          transform: translateY(18px);
          transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.55s,
                      transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.55s;
        }
        .tm-subhead.is-in { opacity: 1; transform: none; }
        .tm-rule {
          width: 0;
          height: 1px;
          background: #000;
          margin: clamp(1.4rem, 3vh, 2rem) auto;
          transition: width 1s cubic-bezier(0.16, 1, 0.3, 1) 0.7s;
        }
        .tm-rule.is-in { width: min(120px, 30vw); }
        .tm-intro {
          margin: 0;
          max-width: 560px;
          font-family: var(--font-body);
          font-size: clamp(0.95rem, 1.15vw, 1.1rem);
          line-height: 1.75;
          color: #555;
          opacity: 0;
          transform: translateY(22px);
          transition: opacity 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.85s,
                      transform 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.85s;
        }
        .tm-intro.is-in { opacity: 1; transform: none; }
        .tm-scroll-cue {
          position: absolute;
          bottom: 2rem;
          left: 50%;
          transform: translateX(-50%);
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 0.6rem;
          opacity: 0;
          transition: opacity 1s ease 1.2s;
        }
        .tm-scroll-cue.is-in { opacity: 1; }
        .tm-scroll-cue span {
          font-family: var(--font-body);
          font-size: 0.62rem;
          font-weight: 600;
          letter-spacing: 0.22em;
          text-transform: uppercase;
          color: #aaa;
        }
        .tm-scroll-cue i {
          display: block;
          width: 1px;
          height: 36px;
          background: linear-gradient(to bottom, #000, transparent);
          animation: cuePulse 1.6s ease-in-out infinite;
        }

        .tm-founders {
          background: #0a0a0a;
          position: relative;
        }
        .tm-sticky {
          position: sticky;
          top: 0;
          height: 100vh;
          height: 100svh;
          overflow: hidden;
          background: #0a0a0a;
        }
        .tm-ambient {
          position: absolute;
          inset: -8%;
          opacity: 0;
          filter: blur(48px) saturate(0.85);
          transform: scale(1.15);
          transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
          pointer-events: none;
        }
        .tm-ambient.is-active { opacity: 0.35; }
        .tm-ambient-veil {
          position: absolute;
          inset: 0;
          background:
            radial-gradient(ellipse 70% 60% at 70% 40%, rgba(0,0,0,0.2), transparent 60%),
            linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.55) 45%, rgba(0,0,0,0.7) 100%);
          pointer-events: none;
        }
        .tm-stage {
          position: relative;
          z-index: 2;
          height: 100%;
          display: flex;
          flex-direction: column;
          justify-content: center;
          padding: calc(var(--nav-height) + 1rem) clamp(1.2rem, 4vw, 3rem) clamp(2rem, 5vh, 3.5rem);
        }
        .tm-stage-head {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 1.5rem;
          margin-bottom: clamp(1.5rem, 3vh, 2.5rem);
          opacity: 0;
          transform: translateY(16px);
          transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                      transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .tm-stage-head.is-in { opacity: 1; transform: none; }
        .tm-kicker {
          display: inline-flex;
          align-items: center;
          gap: 0.85rem;
          font-family: var(--font-body);
          font-size: 0.7rem;
          font-weight: 600;
          letter-spacing: 0.22em;
          text-transform: uppercase;
          color: rgba(255,255,255,0.45);
        }
        .tm-kicker em { font-style: normal; }
        .tm-kicker i {
          display: block;
          width: 28px;
          height: 1px;
          background: currentColor;
          opacity: 0.5;
        }
        .tm-ticks {
          display: flex;
          gap: 0.4rem;
        }
        .tm-ticks button {
          width: 26px;
          height: 3px;
          border: 0;
          padding: 0;
          background: rgba(255,255,255,0.2);
          cursor: pointer;
          transition: all 0.35s ease;
        }
        .tm-ticks button.is-past { background: rgba(255,255,255,0.45); }
        .tm-ticks button.is-on { width: 42px; background: #fff; }
        .tm-stage-body {
          display: grid;
          grid-template-columns: minmax(0, 1.1fr) minmax(220px, 420px);
          gap: clamp(1.5rem, 4vw, 3rem);
          align-items: center;
        }
        .tm-portrait-frame {
          position: relative;
          width: 100%;
          aspect-ratio: 3 / 4;
          max-height: min(62vh, 560px);
          border-radius: 18px;
          overflow: hidden;
          background: #161616;
          box-shadow: 0 24px 60px rgba(0,0,0,0.45);
          opacity: 0;
          transform: translateY(24px);
          transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
                      transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .tm-portrait-frame.is-in {
          opacity: 1;
          transform: none;
        }
        .tm-portrait {
          position: absolute;
          inset: 0;
          opacity: 0;
          transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .tm-portrait.is-active { opacity: 1; }
        .tm-portrait img {
          object-fit: cover;
          object-position: center top;
        }
        .tm-feature {
          opacity: 0;
          transform: translateY(24px);
          transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
                      transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .tm-feature.is-in { opacity: 1; transform: none; }
        .tm-feature-title {
          margin: 0;
          font-family: var(--font-display);
          font-size: clamp(2.8rem, 7vw, 5.6rem);
          line-height: 0.92;
          text-transform: uppercase;
          letter-spacing: -0.03em;
          color: #fff;
          text-shadow: 0 10px 30px rgba(0,0,0,0.8);
          animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .tm-feature-role {
          margin: 1rem 0 0;
          font-family: var(--font-body);
          font-size: 0.75rem;
          font-weight: 700;
          letter-spacing: 0.18em;
          text-transform: uppercase;
          color: rgba(255,255,255,0.55);
          animation: fadeUp 0.65s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .tm-feature-quote {
          margin: 1.5rem 0 0;
          max-width: 520px;
          font-family: var(--font-body);
          font-size: clamp(1rem, 1.3vw, 1.2rem);
          line-height: 1.7;
          color: #ccc;
          font-style: italic;
          animation: fadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1);
        }

        @keyframes cuePulse {
          0%, 100% { opacity: 0.25; transform: scaleY(0.7); }
          50% { opacity: 1; transform: scaleY(1); }
        }
        @keyframes fadeUp {
          from { opacity: 0; transform: translateY(16px); }
          to { opacity: 1; transform: none; }
        }

        .tm-founders-mobile {
          display: none;
        }

        @media (max-width: 960px) {
          .tm-hero,
          .tm-hero-inner {
            height: auto !important;
            min-height: 0 !important;
          }
          .tm-stage-body {
            grid-template-columns: 1fr;
            gap: 1.25rem;
            align-items: center;
            min-height: 0;
          }
          .tm-portrait-frame {
            order: -1;
            width: min(72vw, 280px);
            max-height: min(42vh, 360px);
            margin: 0 auto;
            aspect-ratio: 3 / 4;
          }
          .tm-feature-title {
            font-size: clamp(2.4rem, 11vw, 3.6rem);
            text-shadow: none;
            text-align: center;
          }
          .tm-feature {
            text-align: center;
          }
          .tm-feature-quote {
            margin-left: auto;
            margin-right: auto;
          }
          .tm-feature-role {
            text-align: center;
          }
          .tm-word {
            font-size: clamp(3rem, 16vw, 5rem);
          }

          .tm-founders-mobile {
            display: block !important;
            background: #fafafa;
            color: #000;
            padding: 3rem 0 2.5rem;
          }
          .tm-mobile-inner {
            padding: 0 1.25rem;
          }
          .tm-mobile-heading {
            margin: 1rem 0 2rem;
            font-family: var(--font-display);
            font-size: clamp(2.1rem, 9vw, 3rem);
            line-height: 0.95;
            text-transform: uppercase;
          }
          .tm-mobile-heading em {
            font-style: normal;
            color: #888;
          }
          .tm-mobile-card {
            margin-bottom: 2.25rem;
            padding-bottom: 2rem;
            border-bottom: 1px solid rgba(0,0,0,0.1);
          }
          .tm-mobile-card:last-child {
            border-bottom: 0;
            margin-bottom: 0;
            padding-bottom: 0;
          }
          .tm-mobile-photo {
            width: min(100%, 280px);
            aspect-ratio: 3 / 4;
            border-radius: 14px;
            overflow: hidden;
            margin-bottom: 1.1rem;
            background: #eee;
          }
          .tm-mobile-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center top;
            display: block;
          }
          .tm-mobile-card h3 {
            margin: 0 0 0.4rem;
            font-family: var(--font-display);
            font-size: clamp(1.8rem, 8vw, 2.4rem);
            text-transform: uppercase;
            line-height: 0.95;
          }
          .tm-mobile-role {
            margin: 0 0 0.85rem;
            font-family: var(--font-body);
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #666;
          }
          .tm-mobile-card blockquote {
            margin: 0;
            font-family: var(--font-body);
            font-size: 0.95rem;
            line-height: 1.65;
            color: #555;
            font-style: italic;
          }
        }
