:root {
	--copper: #b46b45;
	--patina: #6f8f7f;
	--evergreen: #163c36;
	--ivory: #f8f5ef;
	--bronze: #2a2b2d;
	--sky: #d7e7ea;
	--gold: #d8b56d;
	--white: #fff;
	--radius: 8px;
	--shadow: 0 18px 42px rgb(42 43 45 / 12%);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body { margin: 0; color: var(--bronze); background: var(--white); line-height: 1.6; }
a { color: var(--evergreen); }
.skip-link { position: absolute; left: -999px; top: 1rem; background: var(--evergreen); color: white; padding: .75rem 1rem; z-index: 20; }
.skip-link:focus { left: 1rem; }
.site-header { position: sticky; top: 0; z-index: 10; background: rgb(255 255 255 / 94%); backdrop-filter: blur(16px); border-bottom: 1px solid rgb(42 43 45 / 10%); }
.site-header__inner { max-width: 1180px; margin: 0 auto; padding: .75rem 1.25rem; display: flex; align-items: center; gap: 1rem; }
.site-brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; font-weight: 800; color: var(--evergreen); }
.site-brand__mark { position: relative; width: 44px; height: 44px; border-radius: 50% 50% 6px 6px; background: radial-gradient(circle at 50% 18%, var(--sky) 0 18%, transparent 19%), linear-gradient(135deg, var(--gold), var(--copper) 50%, var(--patina)); box-shadow: inset 0 0 0 3px rgb(255 255 255 / 70%); flex: 0 0 auto; }
.site-brand__mark::before { content: ""; position: absolute; left: 20px; top: 10px; width: 4px; height: 24px; background: var(--evergreen); border-radius: 999px; }
.site-brand__mark::after { content: ""; position: absolute; left: 13px; top: 18px; width: 18px; height: 4px; background: var(--evergreen); border-radius: 999px; }
.site-brand__text { display: grid; line-height: 1.05; }
.site-brand__text small { font-size: .76rem; font-weight: 650; color: var(--copper); }
.primary-menu { margin-left: auto; }
.primary-menu ul { display: flex; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.primary-menu a { text-decoration: none; font-weight: 650; }
.header-actions { display: flex; align-items: center; gap: .75rem; }
.language-switcher { display: flex; gap: .25rem; border: 1px solid rgb(42 43 45 / 15%); border-radius: 999px; padding: .2rem; }
.language-switcher a { padding: .25rem .55rem; border-radius: 999px; text-decoration: none; font-size: .82rem; }
.language-switcher [aria-current="true"] { background: var(--evergreen); color: white; }
.menu-toggle { display: none; }
.button, button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: .65rem 1rem; border-radius: var(--radius); border: 1px solid transparent; background: var(--evergreen); color: white; text-decoration: none; font-weight: 760; cursor: pointer; }
.button--light { background: var(--ivory); color: var(--bronze); border-color: rgb(180 107 69 / 25%); }
.button--quiet { background: #fff; color: var(--evergreen); border-color: rgb(22 60 54 / 22%); }
.hero { min-height: 76vh; display: grid; align-items: center; background: linear-gradient(90deg, rgb(248 245 239 / 96%) 0%, rgb(248 245 239 / 88%) 44%, rgb(248 245 239 / 34%) 78%), var(--hero-image) center/cover; color: var(--bronze); }
.hero__content { max-width: 820px; padding: 8vh clamp(1.25rem, 6vw, 7rem); }
.eyebrow { text-transform: uppercase; letter-spacing: .06em; font-weight: 800; color: var(--copper); background: rgb(255 255 255 / 70%); display: inline-block; padding: .25rem .5rem; border-radius: 4px; }
.hero h1 { font-family: Georgia, serif; font-size: clamp(2.8rem, 6.2vw, 6rem); line-height: .98; max-width: 760px; margin: .45rem 0 1rem; color: var(--evergreen); }
.hero p { max-width: 650px; font-size: 1.18rem; color: #31413d; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.service-pill { display: inline-block; margin-top: 1.25rem; padding: .65rem .9rem; background: white; border: 1px solid rgb(180 107 69 / 30%); border-radius: 999px; color: var(--evergreen); box-shadow: 0 8px 24px rgb(42 43 45 / 10%); }
.live-band, .welcome-band, .content-band, .cta-band, .section-grid, .archive-layout, .page-layout { max-width: 1180px; margin: 0 auto; padding: clamp(2.5rem, 6vw, 5rem) 1.25rem; }
.live-band { display: flex; justify-content: space-between; gap: 2rem; align-items: center; }
.countdown { padding: 1rem 1.25rem; border-radius: var(--radius); background: var(--copper); color: white; font-weight: 800; min-width: 220px; text-align: center; }
.welcome-band { display: grid; grid-template-columns: 92px minmax(0, 1180px); gap: 1.5rem; align-items: center; background: linear-gradient(90deg, #fff, var(--ivory)); border-top: 1px solid rgb(180 107 69 / 18%); border-bottom: 1px solid rgb(180 107 69 / 18%); max-width: none; justify-content: center; }
.welcome-band__cross { width: 72px; height: 72px; margin: 0 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: var(--evergreen); color: white; font-size: 3rem; font-family: Georgia, serif; line-height: 1; }
.welcome-band h2 { margin: 0 0 .45rem; font-family: Georgia, serif; color: var(--evergreen); font-size: clamp(2rem, 4vw, 3.6rem); }
.welcome-band p { max-width: 820px; margin: 0; }
.section-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.section-grid article, .content-card, .trinity-card { border: 1px solid rgb(42 43 45 / 12%); border-radius: var(--radius); padding: 1.35rem; background: white; box-shadow: 0 8px 30px rgb(42 43 45 / 7%); }
.section-grid span { color: var(--copper); font-weight: 850; text-transform: uppercase; font-size: .82rem; }
.section-grid h2, .content-band h2, .cta-band h2, .page-header h1 { font-family: Georgia, serif; line-height: 1.05; }
.content-band--ivory { background: var(--ivory); max-width: none; }
.content-band--ivory > * { max-width: 1180px; margin-left: auto; margin-right: auto; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.trinity-list { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.trinity-card h3 { margin-top: 0; }
.cta-band { text-align: center; background: linear-gradient(135deg, var(--evergreen), #24594f); color: white; max-width: none; }
.site-footer { background: var(--evergreen); color: white; padding: 3rem 1.25rem; }
.site-footer__grid { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2rem; }
.site-footer a { color: white; }
.site-footer__meta { max-width: 1180px; margin: 2rem auto 0; color: rgb(255 255 255 / 70%); }
.accessibility-controls { display: flex; flex-wrap: wrap; gap: .5rem; }
.accessibility-controls button { font-size: .85rem; background: transparent; border-color: rgb(255 255 255 / 25%); }
.has-high-contrast { background: #000 !important; color: #fff !important; }
.has-large-text { font-size: 120%; }
.has-reduced-motion *, .has-reduced-motion *::before, .has-reduced-motion *::after { animation: none !important; transition: none !important; }
@media (max-width: 820px) {
	.site-header__inner { flex-wrap: wrap; }
	.menu-toggle { display: inline-flex; margin-left: auto; }
	.primary-menu { display: none; width: 100%; order: 4; }
	.primary-menu.is-open { display: block; }
	.primary-menu ul { display: grid; gap: .5rem; }
	.header-actions { width: 100%; justify-content: space-between; }
	.hero { min-height: 76vh; }
	.live-band, .welcome-band, .section-grid, .split, .site-footer__grid { grid-template-columns: 1fr; display: grid; }
	.welcome-band__cross { margin: 0; }
}
