/* Neon — glowing type, gradient borders, dotted grid. Contrast comes from the palette; glow is decoration only. */
:root { --t-font-display: "Space Grotesk", system-ui, sans-serif; --t-font-body: "Inter", system-ui, sans-serif; --t-max: 1120px; --t-radius: 18px; --t-radius-sm: 10px; }
body { background-color: var(--t-bg); background-image: radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--t-text) 14%, transparent) 1px, transparent 0); background-size: 28px 28px; }

/* hero: cover faded into the grid, glowing name, photo in a gradient ring */
.t-hero--glow .t-cover { aspect-ratio: 16 / 6; max-height: 420px; opacity: .8; mask-image: linear-gradient(to bottom, #000 40%, transparent); -webkit-mask-image: linear-gradient(to bottom, #000 40%, transparent); }
.t-hero--glow .t-hero__inner { margin-block-start: clamp(-80px, -10vw, -140px); position: relative; z-index: 1; }
.t-hero--glow .t-hero__media { position: relative; margin: 0; padding: 4px; border-radius: 50%; background: conic-gradient(from 0deg, var(--t-accent), var(--t-accent2), var(--t-accent)); width: fit-content; }
.t-hero--glow .t-photo { width: clamp(112px, 16vw, 160px); border-radius: 50%; box-shadow: 0 0 0 4px var(--t-bg); }
.t-hero--glow .t-name { font-weight: 700; font-size: clamp(2.8rem, 7vw, 5rem); letter-spacing: -0.03em; text-shadow: 0 0 18px color-mix(in srgb, var(--t-accent) 55%, transparent), 0 0 60px color-mix(in srgb, var(--t-accent2) 35%, transparent); }
.t-hero--glow .t-eyebrow { color: var(--t-accent-text); }
.t-hero--glow .t-headline { font-weight: 500; font-size: clamp(1.15rem, 2.2vw, 1.5rem); }
.t-hero--glow .t-stats strong { color: var(--t-accent-text); text-shadow: 0 0 14px color-mix(in srgb, var(--t-accent) 50%, transparent); }
.btn-primary { box-shadow: 0 0 24px -6px color-mix(in srgb, var(--t-accent) 70%, transparent); }
.btn-outline-primary { border-image: linear-gradient(135deg, var(--t-accent), var(--t-accent2)) 1; border-radius: 0; }
.t-link { background: color-mix(in srgb, var(--t-surface) 70%, transparent); }
.t-link:hover { box-shadow: 0 0 18px -4px color-mix(in srgb, var(--t-accent) 70%, transparent); }

/* section titles with a gradient underline */
.t-section__title { font-weight: 700; font-size: clamp(1.6rem, 2.8vw, 2.1rem); letter-spacing: -0.02em; }
.t-section__title::after { content: ""; display: block; width: 72px; height: 3px; margin-block-start: 10px; border-radius: 3px; background: linear-gradient(90deg, var(--t-accent), var(--t-accent2)); box-shadow: 0 0 14px color-mix(in srgb, var(--t-accent) 60%, transparent); }
.t-section--summary .t-section__title { display: none; }
.t-summary { font-family: var(--t-font-display); font-size: clamp(1.3rem, 2.4vw, 1.8rem); font-weight: 500; max-width: 40ch; line-height: 1.35; }

/* gradient-border cards and quotes */
.card, .t-quote, .t-timeline__body { border: 1px solid transparent; background: linear-gradient(var(--t-surface), var(--t-surface)) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--t-accent) 70%, transparent), color-mix(in srgb, var(--t-accent2) 70%, transparent)) border-box; box-shadow: none; }
.t-timeline__body { padding: 14px 16px; border-radius: var(--t-radius-sm); }
.card:hover { box-shadow: 0 0 30px -10px color-mix(in srgb, var(--t-accent) 60%, transparent); }
.t-chip { background: transparent; border-color: color-mix(in srgb, var(--t-accent) 50%, var(--t-line)); }
.t-chip[data-level]::after { box-shadow: 0 0 8px color-mix(in srgb, var(--t-accent) 70%, transparent); }
.t-gallery__item figure { border: 1px solid color-mix(in srgb, var(--t-accent) 40%, transparent); }
.t-list li { border-color: color-mix(in srgb, var(--t-accent) 30%, var(--t-line)); }
.t-footer { border-color: color-mix(in srgb, var(--t-accent) 30%, var(--t-line)); }

/* light mode keeps the structure, drops the glow */
[data-mode="light"] .t-hero--glow .t-name, [data-mode="light"] .t-hero--glow .t-stats strong { text-shadow: none; }
[data-mode="light"] body { background-image: radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--t-text) 10%, transparent) 1px, transparent 0); }
