/* Editorial — magazine typography: masthead, drop cap, columns, pull quotes. */
:root { --t-font-display: "Playfair Display", Georgia, serif; --t-font-body: "Source Sans 3", system-ui, sans-serif; --t-max: 960px; --t-radius: 4px; --t-radius-sm: 4px; --t-size-1: 1.0625rem; }
body { line-height: 1.6; }

/* masthead: cover as a thin strip, name enormous, meta in small caps with rules */
.t-hero--masthead .t-cover { aspect-ratio: 5 / 1; max-height: 220px; }
.t-hero--masthead .t-hero__inner { grid-template-columns: 1fr; text-align: center; justify-items: center; padding-block: clamp(28px, 5vw, 56px); }
.t-hero--masthead .t-hero__media { margin-block-start: clamp(-64px, -10vw, -96px); }
.t-hero--masthead .t-photo { width: clamp(120px, 18vw, 180px); border-radius: 50%; box-shadow: 0 0 0 6px var(--t-bg); }
.t-hero--masthead .t-eyebrow { letter-spacing: .3em; }
.t-hero--masthead .t-name { font-size: clamp(2.8rem, 8vw, 5.5rem); font-weight: 400; line-height: .98; letter-spacing: -0.02em; margin-block-start: 8px; }
.t-hero--masthead .t-headline { font-family: var(--t-font-display); font-style: italic; font-size: clamp(1.2rem, 2.4vw, 1.6rem); max-width: 36ch; margin-inline: auto; }
.t-hero--masthead .t-tagline { margin-inline: auto; }
.t-hero--masthead .t-meta { justify-content: center; font-variant: small-caps; letter-spacing: .08em; border-block: 1px solid var(--t-text); padding-block: 8px; margin-block-start: 18px; }
.t-hero--masthead .t-actions { justify-content: center; }
.btn { --bs-btn-border-radius: 2px; --bs-btn-font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: var(--t-size-0); }

/* sections: hairline above, title centred in the rule */
.t-main { gap: clamp(36px, 6vw, 72px); }
.t-section__title { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 400; text-align: center; position: relative; margin-block-end: 24px; }
.t-section__title::before { content: ""; position: absolute; inset-inline: 0; top: 50%; height: 1px; background: var(--t-line); z-index: -1; }
.t-section__title::after { content: ""; position: absolute; inset: 0; background: var(--t-bg); z-index: -1; margin-inline: auto; width: calc(100% - 2px); }
.t-section__title { background: var(--t-bg); display: table; margin-inline: auto; padding-inline: 20px; }

/* summary as the standfirst; about with a drop cap in two columns */
.t-section--summary .t-section__title { display: none; }
.t-summary { font-family: var(--t-font-display); font-size: clamp(1.3rem, 2.4vw, 1.7rem); line-height: 1.4; text-align: center; max-width: 42ch; margin-inline: auto; }
.t-section--about .t-prose { column-gap: 40px; }
@media (min-width: 760px) { .t-section--about .t-prose { column-count: 2; } }
.t-section--about .t-prose p:first-of-type::first-letter { font-family: var(--t-font-display); font-size: 4.2em; float: inline-start; line-height: .8; padding-inline-end: 10px; padding-block-start: 6px; color: var(--t-accent-text); }

/* timeline as entries with the date as a small-caps running head */
.t-timeline__when { font-variant: small-caps; letter-spacing: .06em; color: var(--t-text); }
.t-item__title { font-family: var(--t-font-display); font-size: 1.25rem; font-weight: 600; }

/* pull quotes */
.t-quotes { grid-template-columns: 1fr; }
.t-quote { background: transparent; border: 0; border-inline-start: 3px solid var(--t-accent); border-radius: 0; padding: 4px 0 4px 24px; max-width: 60ch; margin-inline: auto; }
.t-quote blockquote { font-size: clamp(1.3rem, 2.4vw, 1.7rem); font-style: italic; }
.t-quote__mark { display: none; }

/* cards flat, gallery tight */
.card { box-shadow: none; border-radius: 0; }
.t-card .t-item__title { font-family: var(--t-font-display); }
.t-chip { border-radius: 2px; }
.t-link { border-radius: 2px; }
