@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Unbounded:wght@500;700&display=swap');
:root { --ink:#17201d; --paper:#f7f4ed; --green:#265a4e; --lime:#d7e16b; --line:rgba(23,32,29,.16); --muted:#69716c; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 'DM Sans', Arial, sans-serif; }
a { color:inherit; text-underline-offset:3px; }
.site-shell { min-height:100vh; display:flex; flex-direction:column; }
.site-header { background:var(--green); color:#fff; border-bottom:4px solid var(--lime); }
.site-header__inner, .site-footer__inner, .container { width:min(1120px, calc(100% - 40px)); margin:auto; }
.site-header__inner { min-height:88px; display:flex; gap:30px; align-items:center; justify-content:space-between; }
.brand { flex:0 0 auto; font:700 19px/1 'Unbounded', sans-serif; letter-spacing:-.08em; text-decoration:none; white-space:nowrap; }
.brand span { color:var(--lime); }
.site-nav { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:7px 17px; }
.site-nav a { color:#fff; font-size:12px; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.site-nav a:hover { color:var(--lime); }
main { flex:1; padding:76px 0; }
.page-header { max-width:760px; margin:0 auto 42px; }
.page-kicker { margin:0 0 12px; color:var(--green); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
h1, h2, h3 { line-height:1.13; }
h1 { margin:0; font:700 clamp(2.4rem,6vw,5.4rem)/1.04 'Unbounded', sans-serif; letter-spacing:-.07em; }
h2 { font:700 clamp(1.5rem,3vw,2.5rem)/1.15 'Unbounded', sans-serif; letter-spacing:-.06em; }
.lede { max-width:670px; margin:24px 0 0; color:var(--muted); font-size:1.22rem; }
.prose { max-width:760px; margin:auto; }
.prose p { margin:0 0 1.25rem; }
.cards, .event-list, .media-grid { display:flex; flex-wrap:wrap; gap:20px; }
.card, .event, .media-card { flex:1 1 260px; padding:25px; background:#fff; border:1px solid var(--line); border-radius:4px; }
.card h2, .event h2, .media-card h2 { margin-top:0; font-size:1.35rem; }
.event time { color:var(--green); font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.hero { background:var(--green); color:#fff; padding:clamp(60px,12vw,145px) 0; }
.hero .page-kicker { color:var(--lime); }
.hero .lede { color:#e4ebe7; }
.section { padding:58px 0; }
.section--tint { background:#ece8dc; }
.button { display:inline-block; padding:12px 18px; background:var(--lime); border-radius:2px; color:var(--ink); font-weight:700; text-decoration:none; }
.video { aspect-ratio:16/9; width:100%; border:0; }
.site-footer { margin-top:auto; padding:27px 0; background:#17201d; color:#e8e6de; }
.site-footer__inner { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:.85rem; }
.social-links { display:flex; gap:18px; }
.blog-container { max-width:760px; margin:auto; }
.blog-grid { display:flex; flex-wrap:wrap; gap:20px; }
.blog-card { flex:1 1 280px; padding:22px; background:#fff; border:1px solid var(--line); }
.blog-title { margin:0; font-size:1.25rem; }
.blog-title a { text-decoration:none; }
.romlicontainer { max-width:760px; margin:auto; }
@media (max-width:760px) { .site-header__inner { padding:18px 0; align-items:flex-start; flex-direction:column; } .site-nav { justify-content:flex-start; } main { padding:48px 0; } .site-footer__inner { align-items:flex-start; flex-direction:column; } }
