*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    
    html { scroll-behavior: smooth; }
    body { font-family: var(--font); background: var(--light); color: var(--dark); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }

    /* NAV */
    nav { position: sticky; top: 0; z-index: 100; background: var(--light); border-bottom: 1px solid var(--border); }
    .nav-inner { max-width: var(--max); margin: 0 auto; padding: 0 32px; height: 64px; display: flex; align-items: center; justify-content: space-between; }
    .nav-brand { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; color: var(--dark); text-decoration: none; }
    .nav-links { display: flex; gap: 32px; list-style: none; }
    .nav-links a { font-size: 14px; color: var(--mid); text-decoration: none; transition: color 0.2s; }
    .nav-links a:hover { color: var(--dark); }

    /* HERO */
    .hero { background: var(--light); min-height: 0; max-width: var(--max); margin: 0 auto; padding: 100px 32px 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
    .hero-kicker { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 20px; }
    .hero-headline { font-size: clamp(36px, 5vw, 58px); font-weight: 300; line-height: 1.1; letter-spacing: -0.02em; color: var(--dark); margin-bottom: 24px; }
    .hero-headline strong { font-weight: 600; }
    .hero-sub { font-size: 17px; color: var(--mid); line-height: 1.7; margin-bottom: 40px; max-width: 500px; }
    .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
    .btn-primary { display: inline-block; background: var(--dark); color: white; padding: 14px 28px; font-size: 14px; font-weight: 500; border-radius: 6px; text-decoration: none; letter-spacing: 0.01em; transition: background 0.2s; }
    .btn-primary:hover { background: var(--accent); }
    .btn-secondary { display: inline-block; background: transparent; color: var(--dark); padding: 14px 28px; font-size: 14px; font-weight: 500; border-radius: 6px; text-decoration: none; border: 1.5px solid var(--border); transition: border-color 0.2s; }
    .btn-secondary:hover { border-color: var(--dark); }
    .hero-aside { }
    .hero-facts { display: flex; flex-direction: column; gap: 20px; }
    .fact-item { padding: 20px 24px; background: white; border-radius: 8px; border: 1px solid var(--border); }
    .fact-label { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
    .fact-value { font-size: 15px; color: var(--dark); line-height: 1.5; }

    /* SECTION COMMON */
    section { padding: 80px 32px; }
    .section-inner { max-width: var(--max); margin: 0 auto; }
    .section-kicker { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; }
    .section-title { font-size: clamp(26px, 3.5vw, 38px); font-weight: 300; letter-spacing: -0.02em; color: var(--dark); margin-bottom: 16px; }
    .section-title strong { font-weight: 600; }
    .section-sub { font-size: 16px; color: var(--mid); max-width: 600px; line-height: 1.7; margin-bottom: 48px; }

    /* VENTURE COUNT ANIMATION
       JS locks wrap to exact rendered px width+height of "Eight", then clips
       with overflow:hidden. Words slide via translateY only — no opacity,
       no layout change. "ventures." is geometrically frozen from first paint. */
    .count-wrap { display: inline-block; vertical-align: top; }
    .count-live  { font-weight: 700; color: var(--accent); }

    /* VENTURES GRID */
    .ventures-section { background: white; }
    .ventures-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
    .venture-card { padding: 28px 32px; border-radius: 10px; border: 1px solid var(--border); transition: border-color 0.2s, box-shadow 0.2s; cursor: pointer; text-decoration: none; display: block; color: inherit; }
    .venture-card:hover { border-color: var(--accent); box-shadow: 0 4px 24px rgba(0,0,0,0.06); }
    .venture-card:hover .vc-name { color: var(--accent); }
    .vc-mark { width: 44px; height: 44px; border-radius: 8px; background: var(--dark); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: white; letter-spacing: 0.04em; margin-bottom: 20px; }
    .vc-status { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 10px; border-radius: 100px; margin-bottom: 12px; }
    .status-active { background: #e8f5e9; color: #2e7d32; }
    .status-incubating { background: #fff3e0; color: #e65100; }
    .status-planning { background: #e3f2fd; color: #1565c0; }
    .vc-name { font-size: 18px; font-weight: 600; color: var(--dark); margin-bottom: 8px; letter-spacing: -0.01em; transition: color 0.2s; }
    .vc-usp { font-size: 14px; color: var(--mid); line-height: 1.6; margin-bottom: 16px; }
    .vc-model { font-size: 12px; color: var(--mid); font-weight: 500; opacity: 0.7; }

    /* ETHOS */
    .ethos-section { background: var(--dark); color: white; }
    .ethos-section .section-kicker { color: rgba(255,255,255,0.5); }
    .ethos-section .section-title { color: white; }
    .ethos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 32px; }
    .ethos-item { }
    .ethos-num { font-size: 13px; font-weight: 700; color: var(--accent); margin-bottom: 12px; letter-spacing: 0.04em; }
    .ethos-text { font-size: 16px; color: rgba(255,255,255,0.8); line-height: 1.6; font-weight: 300; }
    .ethos-text strong { color: white; font-weight: 500; }

    /* INFLUENCES */
    .influences-section { border-top: 1px solid var(--border); }
    .influences-row { display: flex; flex-wrap: wrap; gap: 16px; }
    .influence-tag { padding: 10px 20px; border-radius: 100px; border: 1.5px solid var(--border); font-size: 14px; color: var(--mid); font-weight: 400; }

    /* CTA */
    .cta-section { background: var(--accent); }
    .cta-section .section-kicker { color: rgba(255,255,255,0.6); }
    .cta-inner { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; }
    .cta-section .section-title { color: white; margin-bottom: 12px; }
    .cta-copy { font-size: 16px; color: rgba(255,255,255,0.8); line-height: 1.7; margin-bottom: 0; max-width: 560px; }
    .cta-actions { display: flex; gap: 12px; flex-direction: column; align-items: flex-end; }
    .btn-white { display: inline-block; background: white; color: var(--accent); padding: 14px 28px; font-size: 14px; font-weight: 600; border-radius: 6px; text-decoration: none; white-space: nowrap; transition: opacity 0.2s; }
    .btn-white:hover { opacity: 0.9; }
    .btn-ghost { display: inline-block; background: transparent; color: white; padding: 14px 28px; font-size: 14px; font-weight: 500; border-radius: 6px; text-decoration: none; border: 1.5px solid rgba(255,255,255,0.4); white-space: nowrap; transition: border-color 0.2s; }
    .btn-ghost:hover { border-color: white; }

    /* FOOTER */
    footer { background: var(--dark); color: rgba(255,255,255,0.4); padding: 40px 32px; }
    .footer-inner { max-width: var(--max); margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
    .footer-brand { font-size: 14px; font-weight: 500; color: rgba(255,255,255,0.7); }
    .footer-copy { font-size: 13px; }

    @media (max-width: 768px) {
      .hero { grid-template-columns: 1fr; gap: 48px; padding: 60px 24px 60px; }
      .hero-aside { display: none; }
      .cta-inner { grid-template-columns: 1fr; }
      .cta-actions { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
      section { padding: 60px 24px; }
      /* nav hiding handled by system.css @768px */
    }