/* Phase 1 tokens. Exact art direction awaits Phase 2 approval. */
:root {
	--vestige-black: #111;
	--vestige-white: #fff;
	--vestige-grey-100: #f5f5f3;
	--vestige-grey-300: #d6d6d2;
	--vestige-grey-600: #595959;
	--vestige-color-primary: var(--vestige-black);
	--vestige-color-secondary: var(--vestige-grey-600);
	--vestige-background: var(--vestige-white);
	--vestige-text: var(--vestige-black);
	--vestige-border: var(--vestige-grey-300);
	--vestige-font-body: Arial, Helvetica, sans-serif;
	--vestige-font-editorial: Georgia, "Times New Roman", serif;
	--vestige-text-small: .875rem;
	--vestige-text-base: 1rem;
	--vestige-text-title: clamp(2rem, 5vw, 3.5rem);
	--vestige-weight-normal: 400;
	--vestige-weight-bold: 600;
	--vestige-leading-body: 1.6;
	--vestige-leading-heading: 1.15;
	--vestige-space-1: .25rem;
	--vestige-space-2: .5rem;
	--vestige-space-3: .75rem;
	--vestige-space-4: 1rem;
	--vestige-space-6: 1.5rem;
	--vestige-space-8: 2rem;
	--vestige-space-12: 3rem;
	--vestige-space-16: 4rem;
	--vestige-width-content: 48rem;
	--vestige-width-wide: 80rem;
	--vestige-gutter: clamp(1rem, 4vw, 3rem);
	--vestige-grid-gap: 1.5rem;
	--vestige-radius: 0;
	--vestige-transition: 160ms ease;
	/* Reference values only: CSS variables cannot be used in media queries. */
	--vestige-breakpoint-tablet: 48rem;
	--vestige-breakpoint-laptop: 64rem;
	--vestige-breakpoint-desktop: 80rem;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--vestige-background); color: var(--vestige-text); font-family: var(--vestige-font-body); font-size: var(--vestige-text-base); line-height: var(--vestige-leading-body); }
img, video { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a { color: inherit; text-underline-offset: .2em; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
button, input, select, textarea { font: inherit; }
button, input[type="submit"] { cursor: pointer; }
[hidden] { display: none !important; }
.layout-container { width: min(calc(100% - 2 * var(--vestige-gutter)), var(--vestige-width-wide)); margin-inline: auto; }
.site-main { min-height: 45vh; padding-block: var(--vestige-space-12); overflow-wrap: anywhere; }
.site-main-full-width { padding-block: 0; }
.page-heading h1 { font-family: var(--vestige-font-editorial); font-size: var(--vestige-text-title); font-weight: var(--vestige-weight-normal); line-height: var(--vestige-leading-heading); }
.entry-content > :where(p, ul, ol, blockquote, h2, h3, h4) { max-width: var(--vestige-width-content); }
.entry-content > .alignwide { max-width: var(--vestige-width-wide); }
.entry-content > .alignfull { max-width: none; }
.site-main-full-width .entry-content > * { max-width: none; }
.entry-summary { padding-block: var(--vestige-space-8); border-bottom: 1px solid var(--vestige-border); }
.entry-summary img { max-height: 28rem; width: auto; }
.site-header { border-bottom: 1px solid var(--vestige-border); }
.site-header-inner { display: flex; flex-wrap: wrap; align-items: center; gap: var(--vestige-space-6); padding-block: var(--vestige-space-4); }
.site-header-inner > * { min-width: 0; }
.site-brand { margin-inline-end: auto; font-family: var(--vestige-font-editorial); font-size: 2rem; }
.site-brand a { text-decoration: none; }
.custom-logo { display: block; max-width: 100%; max-height: 5rem; width: auto; }
.site-brand .custom-logo-link { display: block; max-width: 15rem; }
.primary-navigation { flex-basis: 100%; overflow-wrap: anywhere; }
.primary-navigation ul, .header-utilities ul, .site-footer nav ul { list-style: none; margin: 0; padding: 0; }
.primary-navigation > ul, .header-utilities, .header-utilities ul { display: flex; flex-wrap: wrap; gap: var(--vestige-space-4); }
.primary-navigation .sub-menu { padding-inline-start: var(--vestige-space-4); }
.header-search { flex: 1 1 15rem; }
.search-form { display: flex; flex-wrap: wrap; gap: var(--vestige-space-2); }
.search-form input { flex: 1 1 8rem; min-width: 0; max-width: 100%; }
.search-form input, .search-form button, .menu-toggle { padding: .5rem .75rem; border: 1px solid var(--vestige-grey-600); border-radius: var(--vestige-radius); background: var(--vestige-white); color: var(--vestige-text); min-height: 2.75rem; }
.site-footer { border-top: 1px solid var(--vestige-border); padding-block: var(--vestige-space-8); overflow-wrap: anywhere; }
.footer-grid { display: grid; gap: var(--vestige-grid-gap); }
.footer-grid > * { min-width: 0; }
.site-footer h2 { font-size: var(--vestige-text-base); }
.site-footer li { margin-block: var(--vestige-space-2); }
.copyright { color: var(--vestige-color-secondary); font-size: var(--vestige-text-small); }
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
.skip-link:focus { clip-path: none; height: auto; width: auto; top: 1rem; left: 1rem; padding: 1rem; background: white; color: black; z-index: 100000; }
@media (min-width: 48rem) { .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .primary-navigation { flex-basis: auto; } .header-search { max-width: 22rem; } }
@media (min-width: 80rem) { .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
