/* Zine — typewriter, stamps, dotted leaders, photocopies. */
:root { --t-font-display: "Courier Prime", "Courier New", monospace; --t-font-body: "Courier Prime", "Courier New", monospace; --t-font-mono: "Courier Prime", monospace; --t-max: 820px; --t-radius: 0; --t-radius-sm: 0; --t-radius-pill: 0; --t-shadow: none; --t-size-1: 1rem; }
body { background-image: radial-gradient(color-mix(in srgb, var(--t-text) 7%, transparent) 1px, transparent 1px); background-size: 4px 4px; line-height: 1.6; }

.t-hero--typed .t-hero__inner { grid-template-columns: 1fr; gap: 10px; padding-block: clamp(40px, 8vw, 96px) clamp(16px, 3vw, 32px); border-block-end: 2px solid var(--t-text); }
.t-hero--typed .t-hero__media { margin: 0; }
.t-hero--typed .t-photo { width: 120px; border-radius: 0; filter: grayscale(1) contrast(1.25); border: 1px solid var(--t-text); box-shadow: 4px 4px 0 var(--t-line); }
.t-hero--typed .t-eyebrow { text-transform: none; letter-spacing: 0; color: var(--t-muted); }
.t-hero--typed .t-eyebrow::before { content: "RE: "; }
.t-hero--typed .t-name { font-weight: 700; font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.1; letter-spacing: -0.02em; text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.t-hero--typed .t-headline { font-style: italic; }
.t-hero--typed .t-tagline { padding-inline-start: 1.5ch; border-inline-start: 2px solid var(--t-line); }
.t-hero--typed .t-stats { gap: 16px 40px; }
.t-hero--typed .t-stats strong { font-weight: 700; }
.t-hero--typed .t-stats strong::before { content: "["; color: var(--t-muted); } .t-hero--typed .t-stats strong::after { content: "]"; color: var(--t-muted); }
.btn { --bs-btn-border-radius: 0; --bs-btn-border-width: 2px; --bs-btn-font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.btn-primary, .btn-outline-primary { --bs-btn-border-color: var(--t-text); --bs-btn-hover-border-color: var(--t-text); --bs-btn-active-border-color: var(--t-text); }
.t-link { border: 1px solid var(--t-text); border-radius: 0; background: transparent; }
.t-link::before { content: "→ "; }

/* ASCII rules and stamps */
.t-main { gap: clamp(32px, 5vw, 56px); }
.t-section__title { font-weight: 700; font-size: var(--t-size-2); text-transform: uppercase; letter-spacing: .1em; }
.t-section__title::before { content: "=========================================================" / ""; display: block; overflow: hidden; white-space: nowrap; color: var(--t-line); font-weight: 400; letter-spacing: 0; margin-block-end: 6px; }
.t-section__title::after { content: "--------------------------------------------------------" / ""; display: block; overflow: hidden; white-space: nowrap; color: var(--t-line); font-weight: 400; letter-spacing: 0; margin-block-start: 6px; }
.t-section--summary .t-section__title { display: none; }
.t-summary { font-size: var(--t-size-2); }
.t-summary::before { content: "> "; color: var(--t-muted); }
.t-list li { border-block-end: 1px dashed var(--t-text); }
.t-list span::before { content: "// "; }
.t-timeline__when { color: var(--t-text); }
.t-timeline__when::before { content: "* "; }
.t-item__title { font-weight: 700; }
.t-item__highlights { list-style: "- "; }
.t-chip { border: 1px solid var(--t-text); background: transparent; border-radius: 0; text-transform: uppercase; font-size: var(--t-size-0); letter-spacing: .06em; transform: rotate(-1deg); }
.t-chips li:nth-child(even) .t-chip { transform: rotate(1.2deg); }
/* awards as rubber stamps */
.t-section--awards .t-list { display: flex; flex-wrap: wrap; gap: 14px; }
.t-section--awards .t-list li { border: 3px double var(--t-accent); color: var(--t-accent-text); padding: 8px 14px; text-transform: uppercase; letter-spacing: .08em; transform: rotate(-3deg); display: grid; gap: 2px; font-weight: 700; }
.t-section--awards .t-list li:nth-child(even) { transform: rotate(2deg); }
.t-section--awards .t-list span { color: var(--t-accent-text); font-weight: 400; text-transform: none; letter-spacing: 0; }
.t-section--awards .t-list span::before { content: ""; }
.t-menu__leader { border-block-end: 2px dotted var(--t-text); }
.t-quote { border: 0; background: transparent; padding: 0; }
.t-quote blockquote { font-family: var(--t-font-body); font-style: italic; }
.t-quote blockquote::before { content: "“"; } .t-quote blockquote::after { content: "”"; }
.t-quote__mark { display: none; }
.card { border: 1px solid var(--t-text); }
.t-gallery__item img { filter: grayscale(1) contrast(1.2); }
.t-gallery__item figure { border: 1px solid var(--t-text); }
.form-control { border: 1px solid var(--t-text); border-radius: 0; }
.t-footer { border-block-start: 2px solid var(--t-text); }
