    :root { --ink: #f2f0ec; --muted: #a29e98; --paper: #111110; --line: #4b4a47; --accent: #d9d6d1; }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'Inter', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
    a { color: inherit; }
    a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
    .page { max-width: 1600px; margin: 0 auto; padding: 0 clamp(22px, 5.2vw, 82px); }
    .site-header { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding-top: 30px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
    .wordmark { font-weight: 500; font-size: clamp(17px, 1.6vw, 23px); letter-spacing: -.05em; text-decoration: none; }
    .header-side { display: flex; gap: clamp(18px, 3vw, 52px); align-items: baseline; }
    .header-side span, .header-side a { font-size: 12px; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
    .header-side span { color: var(--muted); }
    .header-side a:hover, .foot-links a:hover { color: var(--accent); }
    main { padding-top: clamp(64px, 9vw, 140px); }
    .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: .16em; color: var(--muted); margin: 0 0 28px; }
    .brand-motion { overflow: hidden; display: flex; align-items: center; height: clamp(190px, 27vw, 390px); margin: -10px 0 clamp(30px, 4vw, 64px); }
    .brand-motion-track { display: flex; width: max-content; animation: brand-travel 46s linear infinite; will-change: transform; }
    .brand-motion-track span { flex: none; white-space: nowrap; font: 700 clamp(120px, 20vw, 310px)/.88 'Inter', Arial, sans-serif; letter-spacing: -.09em; }
    @keyframes brand-travel { to { transform: translate3d(-50%, 0, 0); } }
    .manifesto { border-top: 1px solid var(--ink); }
    .manifesto-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4.2vw, 72px); padding: clamp(31px, 4vw, 56px) 0 clamp(78px, 9vw, 145px); border-bottom: 1px solid var(--line); }
    .manifesto-row .number { font: 11px 'JetBrains Mono', monospace; color: var(--muted); padding-top: 8px; }
    .manifesto-row h1, .manifesto-row h2 { margin: 0; font-weight: 400; letter-spacing: -.055em; line-height: 1.08; text-wrap: balance; }
    .manifesto-row h1 { font-size: clamp(40px, 4.7vw, 72px); }
    .manifesto-row h2 { font-size: clamp(34px, 3.5vw, 54px); }
    .manifesto-copy { max-width: 54ch; }
    .manifesto-copy p { margin: 0 0 18px; color: var(--muted); font-size: clamp(16px, 1.25vw, 19px); line-height: 1.56; text-wrap: pretty; }
    .manifesto-copy p:last-child { margin-bottom: 0; }
    .manifesto-copy .lead { color: var(--ink); font-weight: 500; }
    .manifesto-copy .question { color: var(--ink); font-size: clamp(30px, 3vw, 46px); letter-spacing: -.055em; line-height: 1.1; margin: 31px 0; }
    .question-stack { margin: 26px 0 32px; }
    .question-stack p { color: var(--ink); margin-bottom: 8px; }
    .manifesto-copy .trajectory-end { color: var(--ink); margin-top: 32px; }
    .letterfield { margin-top: clamp(70px, 9vw, 130px); width: 100%; height: clamp(440px, 68vw, 980px); display: block; }
    .field-caption { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding: 17px 0 84px; font: 11px 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
    .closing { border-top: 1px solid var(--line); display: grid; grid-template-columns: 2fr 1fr; gap: 32px; padding-top: clamp(62px, 7vw, 110px); padding-bottom: clamp(90px, 10vw, 150px); }
    .closing p { margin: 0; font-size: clamp(30px, 4.8vw, 76px); line-height: 1.06; letter-spacing: -.055em; font-weight: 400; max-width: 18ch; text-wrap: balance; }
    .closing a { justify-self: end; align-self: end; font: 12px 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: .08em; text-decoration: none; border-bottom: 1px solid var(--ink); padding-bottom: 10px; }
    .closing a:hover { color: var(--accent); border-color: var(--accent); }
    footer { border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: start; gap: 24px; padding-top: 22px; padding-bottom: 34px; font-size: 12px; line-height: 1.5; color: var(--muted); }
    .foot-links { display: flex; gap: 25px; flex-wrap: wrap; }
    .foot-links a { text-decoration: none; }
    @media (max-width: 900px) { .manifesto-row { grid-template-columns: 78px 1fr; } .manifesto-copy { grid-column: 2; } }
    @media (max-width: 700px) {
      .site-header { padding-top: 24px; } .header-side span { display: none; }
      main { padding-top: 64px; } .manifesto-row { grid-template-columns: 1fr; gap: 24px; padding: 28px 0 85px; }
      .manifesto-row .number { padding: 0; } .manifesto-row h1 { font-size: clamp(40px, 11vw, 56px); }
      .manifesto-row h2 { font-size: clamp(35px, 9vw, 48px); } .manifesto-copy { grid-column: 1; }
      .letterfield { margin-top: 70px; height: 570px; }
      .field-caption { padding-bottom: 74px; } .closing { grid-template-columns: 1fr; gap: 45px; }
      .closing a { justify-self: start; } footer { display: block; } .foot-links { margin-top: 20px; }
    }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .brand-motion-track { animation: none; will-change: auto; } }

    /* One monochrome typographic material forms the entrance and page artwork. */
    .letter-intro {
      position: fixed; inset: 0; z-index: 100; overflow: hidden;
      background: var(--paper); color: var(--ink);
      opacity: 1; transition: opacity .65s ease;
    }
    .letter-intro.is-leaving { opacity: 0; pointer-events: none; }
    .intro-top, .intro-bottom {
      position: absolute; left: clamp(22px, 5.2vw, 82px); right: clamp(22px, 5.2vw, 82px);
      z-index: 2; display: flex; justify-content: space-between; align-items: baseline; gap: 22px;
    }
    .intro-top { top: 30px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
    .intro-top span:first-child { font-size: clamp(17px, 1.6vw, 23px); font-weight: 500; letter-spacing: -.05em; }
    .intro-top span:last-child, .intro-bottom { font: 11px 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
    .intro-bottom { bottom: 32px; padding-top: 18px; border-top: 1px solid var(--line); }
    .intro-bottom button { border: 0; border-bottom: 1px solid var(--ink); padding: 0 0 7px; background: transparent; color: var(--ink); font: inherit; text-transform: uppercase; letter-spacing: inherit; cursor: pointer; }
    .intro-bottom button:hover { color: var(--accent); border-color: var(--accent); }
    .intro-bottom button:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
    #introCanvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
    @media (max-width: 700px) {
      .intro-top { top: 24px; }
      .intro-top span:last-child { max-width: 14ch; text-align: right; }
      .intro-bottom { bottom: 24px; }
      .intro-bottom span { max-width: 19ch; }
    }
    @media (prefers-reduced-motion: reduce) { .letter-intro { display: none; } }

    /* Subpages share the same type, spacing, rules and navigation. */
    .subpage { min-height: 100vh; display: flex; flex-direction: column; }
    .subpage .page { width: 100%; min-height: 100vh; display: flex; flex-direction: column; }
    .subpage main { flex: 1; padding-top: clamp(70px, 9vw, 135px); padding-bottom: clamp(90px, 10vw, 150px); }
    .subpage footer { margin-top: auto; }
    .nav-links { display: flex; align-items: baseline; gap: clamp(16px, 2.8vw, 42px); }
    .nav-links a, .nav-links button { font: 12px 'Inter', Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: var(--ink); }
    .nav-links a:hover, .nav-links button:hover { color: var(--accent); }
    .nav-links .active { color: var(--muted); }
    .lang-toggle { display: flex; align-items: baseline; gap: 8px; margin-left: clamp(4px, 1vw, 16px); }
    .lang-toggle button { border: 0; padding: 0; background: none; cursor: pointer; }
    .lang-toggle button[aria-pressed="false"] { color: var(--muted); }
    .sub-eyebrow { margin: 0 0 30px; font: 11px 'JetBrains Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
    .page-title { margin: 0; font-size: clamp(52px, 8.2vw, 132px); line-height: .94; letter-spacing: -.075em; font-weight: 400; text-wrap: balance; }
    .page-intro { margin: 42px 0 0; max-width: 48ch; font-size: clamp(17px, 1.45vw, 22px); line-height: 1.48; color: var(--muted); }
    .page-rule { border-top: 1px solid var(--line); margin-top: clamp(70px, 8vw, 124px); }
    .contact-hero { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(40px, 7vw, 120px); align-items: end; }
    .contact-hero .page-title { max-width: 12ch; }
    .contact-hero p { margin: 0 0 10px; max-width: 32ch; color: var(--muted); font-size: clamp(17px, 1.45vw, 22px); line-height: 1.48; }
    .contact-channel { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 20px clamp(28px, 5vw, 76px); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); padding: 24px 0 42px; margin-top: clamp(100px, 11vw, 170px); }
    .side-label { font: 11px 'JetBrains Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); padding-top: 12px; }
    .email-link { display: inline-block; justify-self: start; font-size: clamp(28px, 4vw, 62px); line-height: 1.15; letter-spacing: -.055em; text-decoration: none; overflow-wrap: anywhere; }
    .email-link:hover { color: var(--accent); }
    .contact-channel p { grid-column: 2; margin: 0; max-width: 40ch; color: var(--muted); font-size: 16px; line-height: 1.55; }
    .contact-field { height: clamp(280px, 35vw, 470px); margin-top: 65px; }
    .contact-field + .field-caption { padding-bottom: 0; }
    .practice-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 8vw, 140px); align-items: end; }
    .practice-intro .page-title { font-size: clamp(47px, 6vw, 92px); line-height: 1.02; }
    .practice-intro-copy { max-width: 45ch; }
    .practice-intro-copy p { margin: 0 0 18px; color: var(--muted); font-size: clamp(16px, 1.25vw, 19px); line-height: 1.56; }
    .practice-intro-copy .lead { color: var(--ink); font-weight: 500; }
    .practice-list { margin-top: clamp(85px, 9vw, 145px); border-top: 1px solid var(--ink); }
    .practice-row { display: grid; grid-template-columns: 80px minmax(0, 1fr) minmax(0, 1fr); gap: clamp(22px, 4vw, 75px); padding: 38px 0 44px; border-bottom: 1px solid var(--line); }
    .practice-row .idx { font: 11px 'JetBrains Mono', monospace; color: var(--muted); padding-top: 8px; }
    .practice-row h2 { margin: 0; font-size: clamp(25px, 3vw, 46px); line-height: 1.08; font-weight: 400; letter-spacing: -.055em; text-wrap: balance; }
    .practice-row-copy { max-width: 49ch; }
    .practice-row-copy p { margin: 0 0 17px; color: var(--muted); font-size: clamp(16px, 1.2vw, 19px); line-height: 1.55; }
    .practice-row-copy p:last-child { margin-bottom: 0; }
    .practice-lines { margin: 25px 0 30px; }
    .practice-lines p { color: var(--ink); margin-bottom: 7px; }
    .practice-end { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 8vw, 140px); margin-top: clamp(78px, 9vw, 140px); }
    .practice-end h2 { margin: 0; font-weight: 400; max-width: 18ch; font-size: clamp(38px, 5vw, 78px); line-height: 1.06; letter-spacing: -.055em; text-wrap: balance; }
    .practice-end-copy { max-width: 45ch; }
    .practice-end-copy > p { margin: 0 0 25px; color: var(--muted); font-size: clamp(16px, 1.25vw, 19px); line-height: 1.56; }
    .practice-end-copy .practice-signoff { margin: 38px 0; color: var(--ink); font-size: clamp(27px, 3vw, 44px); line-height: 1.15; letter-spacing: -.04em; }
    .practice-end a { display: inline-block; margin-top: 12px; text-decoration: none; border-bottom: 1px solid var(--ink); padding-bottom: 9px; font: 12px 'JetBrains Mono', monospace; text-transform: uppercase; }
    .practice-end a:hover { color: var(--accent); border-color: var(--accent); }
    .legal-head { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; }
    .legal-head .page-title { font-size: clamp(48px, 7.2vw, 110px); }
    .legal-head p { justify-self: end; max-width: 34ch; margin: 0 0 7px; color: var(--muted); font-size: 15px; line-height: 1.55; }
    .legal-content { max-width: 790px; margin: clamp(80px, 9vw, 140px) 0 0 auto; }
    .legal-content .lang-content { display: none; }
    .legal-content .lang-content.active { display: block; }
    .legal-content h1 { display: none; }
    .legal-content h2 { border-top: 1px solid var(--line); margin: 40px 0 20px; padding-top: 16px; font: 12px 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
    .legal-content h2:first-of-type { margin-top: 0; }
    .legal-content h3 { margin: 27px 0 10px; font-size: 17px; font-weight: 500; letter-spacing: -.02em; }
    .legal-content p, .legal-content li { color: var(--muted); font-size: 15px; line-height: 1.72; }
    .legal-content p { margin: 0 0 17px; }
    .legal-content strong { color: var(--ink); font-weight: 500; }
    .legal-content ul { padding-left: 20px; margin: 0 0 21px; }
    .legal-content li { margin-bottom: 7px; }
    .legal-content a { color: var(--ink); text-underline-offset: 3px; overflow-wrap: anywhere; }
    .legal-content a:hover { color: var(--accent); }
    @media (max-width: 900px) { .practice-intro { grid-template-columns: 1fr; } .practice-row { grid-template-columns: 50px 1fr; } .practice-row-copy { grid-column: 2; } .practice-end { grid-template-columns: 1fr; } }
    @media (max-width: 700px) {
      .subpage .site-header { align-items: start; }
      .legal-page .site-header { display: block; }
      .legal-page .nav-links { justify-content: flex-start; margin-top: 22px; }
      .subpage .nav-links { flex-wrap: wrap; justify-content: flex-end; column-gap: 18px; row-gap: 9px; }
      .nav-links a, .nav-links button { font-size: 11px; }
      .contact-hero, .legal-head { grid-template-columns: 1fr; }
      .contact-hero { gap: 35px; }
      .contact-channel { grid-template-columns: 1fr; gap: 21px; margin-top: 90px; }
      .contact-channel p { grid-column: 1; }
      .practice-intro { gap: 30px; }
      .practice-list { margin-top: 80px; }
      .practice-row { padding: 28px 0 35px; gap: 14px 16px; }
      .practice-end { gap: 45px; } .practice-end a { margin-top: 28px; }
      .legal-head { gap: 30px; } .legal-head p { justify-self: start; }
      .legal-content { margin-top: 80px; }
    }
