/* Atlas — the classic professional profile. Serif display, facts rail, clear timeline. */
:root { --t-font-display: "Fraunces", Georgia, serif; --t-font-body: "Inter", system-ui, sans-serif; --t-max: 1120px; --t-radius: 14px; }

/* hero: cover, photo overlapping, name set large in the serif */
.t-hero--cover .t-cover { max-height: 300px; }
.t-hero--cover .t-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 55%, var(--t-bg)); pointer-events: none; }
.t-hero--cover .t-cover { position: relative; }
.t-hero__inner { padding-block-start: 8px; }
.t-photo { width: clamp(112px, 16vw, 168px); border-radius: 22px; box-shadow: 0 0 0 5px var(--t-bg), var(--t-shadow); }
.t-name { font-size: clamp(2.4rem, 5.5vw, 3.6rem); font-weight: 500; font-variation-settings: "opsz" 144; }
.t-headline { font-family: var(--t-font-display); font-size: clamp(1.15rem, 2vw, 1.4rem); font-weight: 400; font-style: italic; color: var(--t-text); }
.t-eyebrow { margin-block-end: 8px; }
.t-stats { padding-block-start: 22px; border-block-start: 1px solid var(--t-line); margin-block-start: 28px; gap: 28px 44px; }
.t-stats strong { color: var(--t-accent-text); }

/* sections: hairline rules with the title to the side on wide screens */
.t-section__title { position: relative; padding-block-end: 10px; }
.t-section__title::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-end: 0; width: 44px; height: 2px; background: var(--t-accent); }
.t-summary { font-family: var(--t-font-display); font-size: clamp(1.2rem, 2.2vw, 1.5rem); line-height: 1.4; max-width: 60ch; }
.t-section--summary .t-section__title { display: none; }

/* timeline with a vertical rule and dots */
.t-timeline { padding-inline-start: 0; }
.t-timeline__item { padding-inline-start: 26px; position: relative; }
.t-timeline__item::before { content: ""; position: absolute; inset-inline-start: 6px; top: 8px; bottom: -22px; width: 1px; background: var(--t-line); }
.t-timeline__item:last-child::before { display: none; }
.t-timeline__item::after { content: ""; position: absolute; inset-inline-start: 2px; top: 6px; width: 9px; height: 9px; border-radius: 50%; background: var(--t-accent); box-shadow: 0 0 0 3px var(--t-bg); }
@media (min-width: 600px) { .t-timeline__item { grid-template-columns: 150px minmax(0, 1fr); } }

/* cards softer, chips neutral */
.t-card { border-radius: var(--t-radius); }
.t-card .t-item__title { font-family: var(--t-font-display); font-size: 1.2rem; font-weight: 500; }
.t-quote blockquote { font-style: italic; }

/* rail */
.t-rail .t-section__title { font-size: var(--t-size-0); text-transform: uppercase; letter-spacing: .12em; font-family: var(--t-font-body); font-weight: 600; color: var(--t-muted); margin-block-end: 10px; }
.t-rail .t-section__title::after { display: none; }
.t-rail .t-form { gap: 10px; }
.t-rail .t-form textarea { min-height: 110px; }
.t-facts { border-radius: var(--t-radius); }

/* dossier header: photo · identity · a numbered contents index (the Atlas signature) */
.t-dossier { align-items: start; }
@media (min-width: 900px) { .t-dossier { grid-template-columns: auto minmax(0, 1fr) 280px; } .t-dossier > .t-stats { grid-column: 1 / -1; } }
.t-toc { border: 1px solid var(--t-line); border-radius: var(--t-radius); padding: 16px 18px; background: var(--t-surface); align-self: start; }
.t-toc__title { margin: 0 0 8px; font-family: var(--t-font-display); font-size: var(--t-size-3); font-weight: 500; border-block-end: 2px solid var(--t-accent); padding-block-end: 6px; }
.t-toc ol { list-style: decimal-leading-zero; margin: 0; padding-inline-start: 2.2em; display: grid; gap: 4px; font-variant-numeric: tabular-nums; }
.t-toc li::marker { color: var(--t-accent-text); font-weight: 600; font-size: var(--t-size-0); }
.t-toc a { display: flex; align-items: baseline; gap: 6px; text-decoration: none; color: var(--t-text); font-size: var(--t-size-1); }
.t-toc a:hover span:first-child { text-decoration: underline; }
.t-toc__leader { flex: 1; border-block-end: 1px dotted var(--t-line); transform: translateY(-4px); }
.t-toc__meta { margin: 10px 0 0; font-size: var(--t-size-0); color: var(--t-muted); }
