﻿:root {
      --bg: #ffffff;
      --fg: #000000;
      --muted: #8c8c8c;
      --border: #dbdbdb;
      --ink-soft: color-mix(in oklch, #000000 7%, transparent);
      --radius: 28px;
      --font-display: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --font-secondary: "Roboto Slab", Georgia, serif;
      --font-body: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --font-mono: "Roboto Mono", ui-monospace, Menlo, monospace;
      --fs-h1: clamp(48px, 6.2vw, 92px);
      --fs-h2: clamp(32px, 3.8vw, 58px);
      --fs-lead: clamp(18px, 1.45vw, 24px);
      --fs-body: 16px;
      --fs-meta: 12px;
      --container: 1240px;
      --gutter: clamp(20px, 4vw, 56px);
      --section: clamp(72px, 10vw, 152px);
      --ease-out: cubic-bezier(.16, 1, .3, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--fg);
      font-family: var(--font-body);
      font-size: var(--fs-body);
      line-height: 1.55;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    h1, h2, h3, p { margin: 0; }
    h1, h2 { font-family: var(--font-display); text-wrap: balance; }
    p { text-wrap: pretty; }
    section[id] { scroll-margin-top: 92px; }

    .container {
      width: min(100%, var(--container));
      margin-inline: auto;
      padding-inline: var(--gutter);
    }
    .section { padding-block: var(--section); }
    .section-tight { padding-block: clamp(56px, 8vw, 112px); }
    .section-black { background: var(--fg); color: var(--bg); }
    .section-black .eyebrow,
    .section-black .muted,
    .section-black .lead { color: var(--muted); }

    .eyebrow {
      margin-bottom: 18px;
      color: var(--muted);
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .lead { max-width: 64ch; color: var(--muted); font-size: var(--fs-lead); line-height: 1.45; }
    .muted { color: var(--muted); }

    .topnav {
      position: sticky;
      top: 0;
      z-index: 30;
      border-bottom: 1px solid var(--border);
      background: color-mix(in oklch, var(--bg) 92%, transparent);
      backdrop-filter: blur(14px);
    }
    .topnav-inner {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 24px;
      min-height: 76px;
    }
    .wordmark {
      display: inline-flex;
      align-items: center;
      justify-self: start;
      width: max-content;
      font-family: var(--font-display);
      font-weight: 900;
      letter-spacing: .02em;
      line-height: .94;
      text-transform: uppercase;
    }
    .wordmark img { display: block; width: clamp(150px, 18vw, 220px); height: auto; }
    .desktop-nav { display: flex; justify-content: center; gap: 24px; }
    .desktop-nav a {
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .desktop-nav a:hover,
    .desktop-nav a[aria-current="page"] { color: var(--fg); }
    .nav-cta { justify-self: end; }
    .mobile-nav { display: none; position: relative; justify-self: end; }
    .mobile-nav summary {
      display: inline-flex;
      min-height: 42px;
      align-items: center;
      padding: 10px 14px;
      border: 1px solid var(--fg);
      border-radius: 999px;
      cursor: pointer;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .04em;
      list-style: none;
      text-transform: uppercase;
    }
    .mobile-nav summary::-webkit-details-marker { display: none; }
    .mobile-nav summary:focus-visible { outline: 3px solid var(--muted); outline-offset: 3px; }
    .mobile-nav-panel {
      position: absolute;
      top: calc(100% + 14px);
      right: 0;
      width: min(260px, calc(100vw - 40px));
      padding: 8px 18px;
      border: 1px solid var(--border);
      background: var(--bg);
      box-shadow: 0 14px 30px color-mix(in oklch, var(--fg) 12%, transparent);
    }
    .mobile-nav-panel nav { display: grid; }
    .mobile-nav-panel a { padding: 13px 0; border-bottom: 1px solid var(--border); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
    .mobile-nav-panel a:last-child { border-bottom: 0; }
    .mobile-nav-panel a:hover,
    .mobile-nav-panel a:focus-visible { color: var(--muted); }

    .btn {
      display: inline-flex;
      min-height: 46px;
      align-items: center;
      justify-content: center;
      padding: 12px 22px;
      border: 1px solid var(--fg);
      border-radius: 999px;
      background: var(--fg);
      color: var(--bg);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .02em;
      text-transform: uppercase;
      transition: color .18s ease, background .18s ease;
    }
    .btn:hover,
    .btn:focus-visible { background: var(--bg); color: var(--fg); outline: 0; }
    .btn-light { border-color: var(--bg); background: var(--bg); color: var(--fg); }
    .btn-light:hover,
    .btn-light:focus-visible { background: transparent; color: var(--bg); }
    .btn-ghost { border-color: var(--bg); background: transparent; color: var(--bg); }
    .btn-ghost:hover,
    .btn-ghost:focus-visible { background: var(--bg); color: var(--fg); }

    .page-hero {
      position: relative;
      min-height: calc(100svh - 76px);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      background: var(--fg);
      color: var(--bg);
    }
    .page-hero-background .page-hero-inner {
      position: relative;
      z-index: 1;
      display: block;
      width: min(100%, 1140px);
      padding-block: clamp(120px, 16vw, 200px);
      text-align: center;
    }
    .page-hero h1 {
      max-width: 16ch;
      margin-inline: auto;
      font-size: var(--fs-h1);
      font-style: italic;
      font-weight: 900;
      letter-spacing: -.035em;
      line-height: .92;
      text-transform: uppercase;
    }
    .page-hero-background .eyebrow { color: #c4c4c4; }
    .page-hero-background .lead { max-width: 58ch; margin: 22px auto 0; color: var(--bg); font-weight: 400; }
    .page-hero-actions { display: flex; justify-content: center; margin-top: 30px; }
    .page-hero-action { border-color: var(--bg); background: transparent; color: var(--bg); }
    .page-hero-action:hover,
    .page-hero-action:focus-visible { background: var(--bg); color: var(--fg); }

    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 32px;
      margin-bottom: 48px;
    }
    .section-head h2 {
      max-width: 14ch;
      font-size: var(--fs-h2);
      font-style: italic;
      font-weight: 900;
      letter-spacing: -.025em;
      line-height: .98;
      text-transform: uppercase;
    }
    .section-head .lead { max-width: 42ch; }

    .lead-feature {
      overflow: hidden;
      background: var(--fg);
      color: var(--bg);
    }
    .lead-feature-link {
      display: grid;
      grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr);
      min-height: 360px;
    }
    .lead-logo-stage,
    .press-logo-stage {
      display: grid;
      place-items: center;
      background: var(--bg);
    }
    .lead-logo-stage { padding: clamp(28px, 5vw, 72px); }
    .lead-logo-stage img,
    .press-logo-stage img {
      width: min(100%, 280px);
      height: 120px;
      object-fit: contain;
      filter: grayscale(1) contrast(1.08);
      transition: filter .24s ease;
    }
    .lead-logo-stage img { width: min(100%, 360px); height: 156px; }
    .press-card:hover .press-logo-stage img,
    .press-card:focus-visible .press-logo-stage img,
    .lead-feature-link:hover .lead-logo-stage img,
    .lead-feature-link:focus-visible .lead-logo-stage img { filter: grayscale(0) contrast(1.08); }
    .lead-feature-copy {
      display: grid;
      align-content: center;
      gap: 22px;
      padding: clamp(32px, 6vw, 80px);
    }
    .lead-feature-copy .eyebrow { color: var(--muted); margin-bottom: 0; }
    .lead-feature-copy h2 {
      max-width: 16ch;
      font-family: var(--font-display);
      font-size: clamp(28px, 4vw, 54px);
      font-style: italic;
      font-weight: 900;
      letter-spacing: -.03em;
      line-height: .98;
      text-transform: uppercase;
    }
    .press-link {
      color: var(--bg);
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .lead-feature-link:hover .press-link,
    .lead-feature-link:focus-visible .press-link { text-decoration: underline; text-underline-offset: 5px; }
    .lead-feature-link:focus-visible { outline: 3px solid var(--muted); outline-offset: -3px; }

    .press-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1px;
      border: 1px solid var(--border);
      background: var(--border);
    }
    .press-card {
      position: relative;
      isolation: isolate;
      display: grid;
      grid-template-rows: 170px 1fr;
      min-width: 0;
      overflow: hidden;
      background: var(--bg);
      transition: color .2s ease;
    }
    .press-card::before {
      content: "";
      position: absolute;
      inset: -1px;
      z-index: 0;
      background: var(--fg);
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform .42s var(--ease-out);
      pointer-events: none;
    }
    .press-logo-stage,
    .press-card-body { position: relative; z-index: 1; }
    .press-logo-stage { padding: 24px; border-bottom: 1px solid var(--border); }
    .press-logo-stage img { width: min(100%, 260px); height: 120px; }
    .press-card-body {
      display: grid;
      align-content: space-between;
      gap: 24px;
      min-height: 190px;
      padding: 24px;
    }
    .press-publication {
      color: var(--muted);
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .press-card h3 {
      margin-top: 12px;
      font-family: var(--font-display);
      font-size: clamp(18px, 1.6vw, 24px);
      font-weight: 900;
      line-height: 1.08;
    }
    .press-card .press-link { color: var(--fg); }
    .press-card:hover::before,
    .press-card:focus-visible::before { transform: scaleX(1); }
    .press-card:hover,
    .press-card:focus-visible { color: var(--bg); }
    .press-card:hover .press-card-body,
    .press-card:focus-visible .press-card-body { color: var(--bg); }
    .press-card:hover .press-publication,
    .press-card:focus-visible .press-publication,
    .press-card:hover .press-link,
    .press-card:focus-visible .press-link { color: var(--muted); }
    .press-card:focus-visible { outline: 3px solid var(--fg); outline-offset: 4px; }

    .cta { padding-block: clamp(84px, 13vw, 172px); text-align: center; }
    .cta h2 {
      max-width: 14ch;
      margin-inline: auto;
      font-size: var(--fs-h2);
      font-style: italic;
      font-weight: 900;
      letter-spacing: -.025em;
      line-height: .95;
      text-transform: uppercase;
    }
    .cta .lead { margin: 22px auto 0; color: var(--bg); }
    .cta-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 34px; }

    .footer { border-top: 1px solid var(--border); padding-block: 44px; color: var(--muted); }
    .footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 32px; }
    .footer h3 { margin-bottom: 12px; color: var(--fg); font-size: 13px; text-transform: uppercase; }
    .footer p { font-size: 14px; }
    .footer a:hover { color: var(--fg); }

    .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out); }
    .reveal.is-visible { opacity: 1; transform: translateY(0); }

    @media (max-width: 1080px) {
      .topnav-inner { grid-template-columns: 1fr auto 1fr; gap: 16px; min-height: 68px; }
      .desktop-nav { gap: 14px; }
      .desktop-nav a { font-size: 11px; }
      .nav-cta { padding: 10px 14px; font-size: 11px; }
      .page-hero-inner { grid-template-columns: 1fr; gap: 36px; }
      .page-hero h1 { max-width: 12ch; }
      .lead-feature-link { grid-template-columns: 1fr 1fr; }
      .press-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .footer-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 900px) {
      .topnav-inner { grid-template-columns: 1fr auto; }
      .desktop-nav,
      .topnav .nav-cta { display: none; }
      .mobile-nav { display: block; }
    }
    @media (max-width: 700px) {
      .topnav-inner { grid-template-columns: 1fr; min-height: 68px; }
      .mobile-nav { position: absolute; top: 13px; right: var(--gutter); }
      .page-hero { padding-block: 72px; }
      .page-hero-inner { gap: 28px; }
      .page-hero h1 { max-width: 10ch; font-size: clamp(42px, 12vw, 60px); }
      .lead-feature-link { grid-template-columns: 1fr; }
      .lead-logo-stage { min-height: 200px; }
      .press-grid { grid-template-columns: 1fr; }
      .section-head { display: block; }
      .section-head .lead { margin-top: 24px; }
      .footer-grid { grid-template-columns: 1fr; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .reveal { opacity: 1; transform: none; transition: none; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    }
