/* Orbit — the photo at the centre of rings, links in orbit (CSS only; stacks on phones). */
:root { --t-font-display: "Unbounded", system-ui, sans-serif; --t-font-body: "Inter", system-ui, sans-serif; --t-max: 1080px; --t-radius: 24px; --t-radius-sm: 14px; --t-ring: color-mix(in srgb, var(--t-accent) 35%, transparent); }
body { background-image: radial-gradient(circle at 50% -10%, color-mix(in srgb, var(--t-accent) 22%, transparent), transparent 55%); }

.t-hero--orbit .t-hero__inner { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 12px; padding-block: clamp(32px, 6vw, 72px) clamp(20px, 3vw, 40px); }
.t-hero--orbit .t-hero__media { position: relative; width: clamp(200px, 40vw, 360px); aspect-ratio: 1; display: grid; place-items: center; margin: 0; }
.t-hero--orbit .t-hero__media::before, .t-hero--orbit .t-hero__media::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--t-ring); }
.t-hero--orbit .t-hero__media::after { inset: 18%; border-style: dashed; animation: orbit-spin 60s linear infinite; }
@keyframes orbit-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .t-hero--orbit .t-hero__media::after { animation: none; } }
.t-hero--orbit .t-photo { width: 44%; border-radius: 50%; box-shadow: 0 0 0 6px var(--t-bg), 0 0 0 7px var(--t-accent), 0 30px 60px -20px color-mix(in srgb, var(--t-accent) 60%, transparent); position: relative; z-index: 2; }
.t-hero--orbit .t-name { font-weight: 700; font-size: clamp(1.8rem, 4.5vw, 3rem); letter-spacing: -0.01em; line-height: 1.1; }
.t-hero--orbit .t-headline { margin-inline: auto; font-weight: 500; }
.t-hero--orbit .t-tagline { margin-inline: auto; }
.t-hero--orbit .t-meta, .t-hero--orbit .t-actions { justify-content: center; }
.t-hero--orbit .t-links--hero { width: 100%; }
.t-hero--orbit .t-links { justify-content: center; gap: 10px; }
.t-hero--orbit .t-link { border-radius: 999px; background: var(--t-surface); border-color: var(--t-ring); box-shadow: 0 10px 30px -18px rgba(0,0,0,.4); }
.t-hero--orbit .t-stats { justify-content: center; gap: 24px 48px; text-align: center; }
.t-hero--orbit .t-stats strong { font-weight: 700; color: var(--t-accent-text); }

/* on wide screens the first six links become satellites around the photo */
@media (min-width: 1100px) {
  .t-hero--orbit .t-hero__inner { grid-template-columns: 420px minmax(0, 1fr); text-align: start; justify-items: start; align-items: center; gap: 40px; }
  .t-hero--orbit .t-hero__media { width: 420px; grid-row: 1 / span 4; }
  .t-hero--orbit .t-meta, .t-hero--orbit .t-actions { justify-content: flex-start; }
  .t-hero--orbit .t-headline, .t-hero--orbit .t-tagline { margin-inline: 0; }
  .t-hero--orbit .t-stats { grid-column: 2; justify-content: flex-start; text-align: start; }
  .t-hero--orbit .t-links--hero { grid-column: 1 / -1; }
  .t-hero--orbit .t-links { justify-content: flex-start; }
}
.btn { --bs-btn-font-weight: 700; }

.t-section__title { font-weight: 700; font-size: clamp(1.3rem, 2.4vw, 1.8rem); display: flex; align-items: center; gap: 12px; }
.t-section__title::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--t-accent); box-shadow: 0 0 0 4px var(--t-ring); flex: none; }
.t-section--summary .t-section__title { display: none; }
.t-summary { font-size: clamp(1.15rem, 2.2vw, 1.5rem); font-weight: 500; max-width: 52ch; }
.card, .t-quote, .t-timeline__body { border-color: var(--t-ring); background: var(--t-surface); }
.t-timeline__body { padding: 14px 16px; border: 1px solid var(--t-ring); border-radius: var(--t-radius-sm); }
.t-chip { border-radius: 999px; border-color: var(--t-ring); }
.t-gallery__item figure { border-radius: 50% 50% var(--t-radius) var(--t-radius) / 30% 30% var(--t-radius) var(--t-radius); }
.t-footer { border-color: var(--t-ring); }
