/* Poster — Swiss typography: giant name, strict grid, numbered sections, no cards. */
:root { --t-font-display: "Inter Tight", "Inter", system-ui, sans-serif; --t-font-body: "Inter Tight", "Inter", system-ui, sans-serif; --t-font-mono: "IBM Plex Mono", monospace; --t-max: 1200px; --t-radius: 0; --t-radius-sm: 0; --t-radius-pill: 0; --t-shadow: none; }

/* poster hero: mono labels top, the name spanning the width */
.t-hero--poster .t-hero__inner { grid-template-columns: 1fr; gap: 28px; padding-block: clamp(24px, 4vw, 40px) clamp(24px, 4vw, 48px); border-block-end: 2px solid var(--t-text); }
.t-hero--poster .t-hero__media { order: 2; }
.t-hero--poster .t-photo { width: clamp(96px, 14vw, 140px); border-radius: 0; box-shadow: none; filter: grayscale(1) contrast(1.1); }
.t-hero--poster .t-eyebrow { font-family: var(--t-font-mono); text-transform: none; letter-spacing: 0; color: var(--t-text); border-block-start: 2px solid var(--t-text); padding-block-start: 8px; }
.t-hero--poster .t-name { font-weight: 900; font-size: clamp(3.2rem, 13vw, 10rem); line-height: .86; letter-spacing: -0.05em; text-transform: uppercase; max-width: none; }
.t-hero--poster .t-headline { font-size: clamp(1.2rem, 2.6vw, 2rem); font-weight: 500; max-width: 28ch; margin-block-start: 18px; }
.t-hero--poster .t-tagline { font-family: var(--t-font-mono); font-size: var(--t-size-0); max-width: 60ch; }
.t-hero--poster .t-meta { font-family: var(--t-font-mono); font-size: var(--t-size-0); }
.t-hero--poster .t-stats { border-block-start: 1px solid var(--t-text); padding-block-start: 16px; gap: 0; }
.t-hero--poster .t-stats li { flex: 1; min-width: 120px; border-inline-end: 1px solid var(--t-line); padding-inline: 0 16px; }
.t-hero--poster .t-stats li:last-child { border: 0; }
.t-hero--poster .t-stats strong { font-weight: 900; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -0.04em; }
.t-hero--poster .t-stats span { font-family: var(--t-font-mono); }
@media (min-width: 900px) { .t-hero--poster .t-hero__inner { grid-template-columns: minmax(0, 1fr) auto; } .t-hero--poster .t-hero__media { order: 0; grid-column: 2; grid-row: 1; align-self: end; } .t-hero--poster .t-hero__text { grid-column: 1; grid-row: 1; } .t-hero--poster .t-stats { grid-column: 1 / -1; } }
.btn { --bs-btn-border-radius: 0; --bs-btn-font-weight: 700; --bs-btn-border-width: 2px; text-transform: uppercase; letter-spacing: .08em; font-size: var(--t-size-0); }
.t-link { border-radius: 0; border-color: var(--t-text); font-family: var(--t-font-mono); font-size: var(--t-size-0); }

/* numbered sections on a two-column grid */
.t-main { counter-reset: poster; gap: 0; }
.t-section { counter-increment: poster; padding-block: clamp(28px, 4vw, 48px); border-block-end: 1px solid var(--t-text); }
.t-section__title { font-weight: 900; text-transform: uppercase; letter-spacing: -0.03em; font-size: clamp(1.4rem, 2.6vw, 2rem); display: flex; align-items: baseline; gap: 16px; }
.t-section__title::before { content: counter(poster, decimal-leading-zero); font-family: var(--t-font-mono); font-weight: 400; font-size: var(--t-size-0); letter-spacing: 0; color: var(--t-accent-text); }
@media (min-width: 900px) { .t-section { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; } .t-section__title { margin: 0; flex-direction: column; gap: 6px; } .t-section > :not(.t-section__title) { grid-column: 2; } }
.t-section--summary .t-section__title { display: none; }
.t-summary { font-size: clamp(1.4rem, 3vw, 2.4rem); font-weight: 500; letter-spacing: -0.02em; line-height: 1.2; max-width: 36ch; }
@media (min-width: 900px) { .t-section--summary { display: block; } }
.t-timeline__when { font-family: var(--t-font-mono); color: var(--t-text); }
.t-item__title { font-weight: 800; letter-spacing: -0.01em; }
.t-list li { border-color: var(--t-line); }
.t-list span { font-family: var(--t-font-mono); }
.t-chip { border: 1px solid var(--t-text); background: transparent; font-family: var(--t-font-mono); }
.t-numbered__item::before { font-family: var(--t-font-mono); font-size: var(--t-size-1); }
.t-quote { border: 0; border-block-start: 2px solid var(--t-text); border-radius: 0; background: transparent; padding-inline: 0; }
.t-quote blockquote { font-family: var(--t-font-body); font-weight: 500; font-size: var(--t-size-3); letter-spacing: -0.01em; }
.t-quote__mark { display: none; }
.t-gallery__item figure { border-radius: 0; }
.form-control { border-radius: 0; border: 2px solid var(--t-text); }
.t-footer { font-family: var(--t-font-mono); border-block-start: 2px solid var(--t-text); }
