/* ============================================================
   SOI 2026 — Global scale (client: "everything ~20% smaller")
   Loaded LAST so its token redefinitions + section-local overrides win.
   Retune in ONE place: --soi-scale (1 = original size, 0.8 = 20% smaller).
   Line-heights, weights, colors and layout max-widths are intentionally
   left unscaled. Breakpoints are unaffected (this only changes sizes).
   ============================================================ */
:root {
	--soi-scale: 0.8;

	/* === Font sizes === */
	--font-size-display-soi: calc(43.75rem * var(--soi-scale));
	--font-size-display-128: calc(8rem * var(--soi-scale));
	--font-size-stat-number-100: calc(6.25rem * var(--soi-scale));
	--font-size-hero: calc(4.375rem * var(--soi-scale));
	--font-size-h1: calc(3.125rem * var(--soi-scale));
	--font-size-h2: calc(3.125rem * var(--soi-scale));
	--font-size-h3: calc(2.5rem * var(--soi-scale));
	--font-size-h4: calc(2rem * var(--soi-scale));
	--font-size-title: calc(1.875rem * var(--soi-scale));
	--font-size-body-lg: calc(1.5625rem * var(--soi-scale));
	--font-size-body: calc(1.5rem * var(--soi-scale));
	--font-size-body-23: calc(1.4375rem * var(--soi-scale));
	--font-size-link-italic: calc(1.375rem * var(--soi-scale));
	--font-size-body-sm: calc(1.25rem * var(--soi-scale));
	--font-size-nav: calc(1.125rem * var(--soi-scale));
	--font-size-caption: calc(1rem * var(--soi-scale));

	/* === Spacing === */
	--space-3xs: calc(0.25rem * var(--soi-scale));
	--space-2xs: calc(0.5rem * var(--soi-scale));
	--space-xs: calc(1rem * var(--soi-scale));
	--space-sm: calc(1.5rem * var(--soi-scale));
	--space-md: calc(2rem * var(--soi-scale));
	--space-lg: calc(3rem * var(--soi-scale));
	--space-xl: calc(4rem * var(--soi-scale));
	--space-2xl: calc(6rem * var(--soi-scale));
	--space-3xl: calc(8rem * var(--soi-scale));
	--space-nav-height: calc(7.5625rem * var(--soi-scale));
	--space-footer-height: calc(21.4375rem * var(--soi-scale));
	--space-section-vertical-default: calc(6rem * var(--soi-scale));

	/* === Component dimensions === */
	--pill-height-primary: calc(92px * var(--soi-scale));
	--pill-height-secondary: calc(74px * var(--soi-scale));
	--pill-width-primary-md: calc(400px * var(--soi-scale));
	--pill-width-primary-lg: calc(494px * var(--soi-scale));
	--pill-width-tag-sm: calc(318px * var(--soi-scale));
	--pill-width-tag-md: calc(358px * var(--soi-scale));
	--pill-width-tag-lg: calc(474px * var(--soi-scale));
	--stat-tile-width: calc(244px * var(--soi-scale));
	--stat-tile-height: calc(248px * var(--soi-scale));
	--person-card-speaker-size: calc(363px * var(--soi-scale));
	--person-card-committee-size: calc(382px * var(--soi-scale));

	/* === Radii === */
	--pill-radius: calc(80px * var(--soi-scale));
	--radius-card-schedule: calc(22px * var(--soi-scale));
	--radius-card-stat: calc(30px * var(--soi-scale));
	--radius-card-topic: calc(33px * var(--soi-scale));
}

/* === Hero heights (section-local px in components.css) === */
.c-hero--xl         { --hero-height: calc(1082px * var(--soi-scale)); }
.c-hero--md         { --hero-height: calc(611px * var(--soi-scale)); }
.c-hero--sm         { --hero-height: calc(654px * var(--soi-scale)); }
.c-hero--solid-tall { --hero-height: calc(884px * var(--soi-scale)); }
.c-hero--solid-md   { --hero-height: calc(649px * var(--soi-scale)); }
.c-hero--solid-sm   { --hero-height: calc(634px * var(--soi-scale)); }

/* === Section-local graphic dimensions === */
.section-homa-stats__list    { --circle-size: calc(76px * var(--soi-scale)); }
.section-homa-about__inner   { --portrait-w: calc(476px * var(--soi-scale)); }
.section-homa-news__grid     {
	--card-w: calc(406px * var(--soi-scale));
	--card-min-h: calc(559px * var(--soi-scale));
	--thumb-size: calc(148px * var(--soi-scale));
}
.section-homa-partners__list {
	--logo-h: calc(116px * var(--soi-scale));
	--logo-max-w: calc(207px * var(--soi-scale));
}
.section-homa-hero__meta     { width: calc(853px * var(--soi-scale)); }
.section-key-dates__timeline { --marker-size: calc(78px * var(--soi-scale)); }
.section-program-schedule    {
	--dot-size: calc(46px * var(--soi-scale));
	--schedule-card-min-h: calc(103px * var(--soi-scale));
}
