@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root { --ink:#2d2417; --muted:#706452; --honey:#d88a05; --honey-dark:#a85c00; --cream:#fffaf0; --paper:#fffdf8; --leaf:#40532f; --line:#eadfca; --shadow:0 18px 45px rgba(67,42,6,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font:16px/1.7 'DM Sans',Arial,sans-serif; }
a { color:inherit; }
.skip-link { position:absolute; left:-999px; top:0; z-index:100; padding:.75rem 1rem; background:#fff; }
.skip-link:focus { left:1rem; top:1rem; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,253,248,.93); backdrop-filter:blur(12px); border-bottom:1px solid rgba(234,223,202,.8); }
.bar { width:min(1120px, calc(100% - 2.5rem)); min-height:76px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand { text-decoration:none; display:flex; align-items:center; gap:.7rem; font:700 1.35rem/1 'Playfair Display',serif; letter-spacing:.02em; }
.grant-logo { display:flex; align-items:center; margin-left:auto; padding:.2rem .5rem; border-radius:7px; }
.grant-logo:hover { background:#f7efdf; }
.grant-logo img { display:block; width:118px; height:34px; object-fit:contain; }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; border-radius:50% 50% 46% 46%; background:var(--honey); color:#fff; font:1rem/1 Arial; }
.nav-toggle { display:none; border:0; background:none; font:inherit; cursor:pointer; padding:.6rem; }
.nav ul { display:flex; gap:.15rem; padding:0; margin:0; list-style:none; }
.nav a { display:block; text-decoration:none; padding:.55rem .7rem; border-radius:8px; color:#514432; font-size:.92rem; font-weight:600; }
.nav a:hover,.nav a[aria-current=page] { color:var(--honey-dark); background:#fff1cd; }
.hero { min-height:510px; display:grid; align-items:center; background:linear-gradient(90deg,rgba(28,20,6,.72),rgba(28,20,6,.22)), url('../index_htm_files/1.png') center/cover; color:#fff; }
.hero-inner,.container { width:min(1120px, calc(100% - 2.5rem)); margin:auto; }
.hero-content { max-width:630px; padding:4rem 0; }
.eyebrow { margin:0 0:.55rem; color:#f8c75a; font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3 { font-family:'Playfair Display',Georgia,serif; line-height:1.15; }
h1 { font-size:clamp(2.65rem,6vw,5rem); margin:0 0:1rem; }
h2 { font-size:clamp(2rem,4vw,3.1rem); margin:0 0:1rem; }
h3 { font-size:1.45rem; margin:.1rem 0 .5rem; }
.lead { font-size:1.18rem; max-width:58ch; }
.button { display:inline-flex; align-items:center; gap:.5rem; margin-top:.7rem; padding:.8rem 1.15rem; background:var(--honey); color:#fff; text-decoration:none; border-radius:999px; font-weight:700; box-shadow:0 9px 22px rgba(170,96,0,.25); }
.button:hover { background:var(--honey-dark); transform:translateY(-1px); }
.section { padding:5rem 0; }
.section.tint { background:#f7efdf; }
.intro { max-width:735px; }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.2rem; }
.card { padding:1.6rem; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 4px 18px rgba(73,48,13,.04); }
.card p { margin-bottom:0; color:var(--muted); }
.product-card { padding:0; overflow:hidden; }
.product-card img { display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; background:#f7f2e8; }
.product-card div { padding:1.35rem 1.6rem 1.6rem; }
.icon { font-size:1.8rem; }
.page-hero { padding:5.2rem 0 4.4rem; background:radial-gradient(circle at 82% 10%,#ffd66e 0,transparent 26%), #493819; color:#fff; }
.page-hero h1 { font-size:clamp(2.5rem,5vw,4.2rem); }
.page-hero .lead { color:#f7eedb; }
.prose { max-width:790px; font-size:1.06rem; }
.prose p { margin:0 0:1.15rem; }
.quote { margin:2rem 0; padding:1.35rem 1.5rem; border-left:4px solid var(--honey); background:#fff6dd; font:1.25rem/1.5 'Playfair Display',serif; }
.contact { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:stretch; }
.project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:2rem; }
.project-card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.project-card img { display:block; width:100%; max-height:390px; object-fit:contain; background:#f7f2e8; }
.project-card div { padding:1.25rem 1.5rem 1.5rem; }
.contact-card { padding:2.1rem; border-radius:18px; background:var(--leaf); color:#fff; }
.contact-card a { color:#ffe08a; font-weight:700; }
.details { padding:2.1rem; border:1px solid var(--line); border-radius:18px; background:#fff; }
.site-footer { padding:2rem 0; background:#2d2417; color:#e9dfcb; font-size:.9rem; }
.footer-inner { width:min(1120px,calc(100% - 2.5rem)); margin:auto; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.funding-logos { width:min(1120px,calc(100% - 2.5rem)); margin:1.4rem auto 0; padding-top:1.25rem; border-top:1px solid rgba(233,223,203,.25); display:flex; align-items:center; justify-content:center; gap:1.3rem; flex-wrap:wrap; }
.funding-logos img { display:block; max-width:145px; max-height:45px; width:auto; height:auto; object-fit:contain; opacity:.96; }
.funding-logos img:nth-child(3) { max-width:205px; }
@media (max-width:760px) { .bar { min-height:64px; width:min(100% - 1.5rem,1120px); } .nav-toggle { display:block; } .nav { position:absolute; top:100%; left:0; right:0; padding:.6rem .75rem 1rem; background:var(--paper); border-bottom:1px solid var(--line); display:none; } .nav.open { display:block; } .nav ul { display:block; } .nav a { padding:.7rem .85rem; } .hero { min-height:480px; } .hero-inner,.container { width:min(100% - 2rem,1120px); } .hero-content { padding:3.5rem 0; } .section { padding:3.5rem 0; } .grid,.contact,.project-grid { grid-template-columns:1fr; } .funding-logos { justify-content:flex-start; gap:.9rem; } .funding-logos img { max-width:105px; max-height:37px; } .funding-logos img:nth-child(3) { max-width:150px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button:hover { transform:none; } }
@media (max-width:760px) { .grant-logo { margin-left:auto; padding:0; } .grant-logo img { width:95px; height:30px; } }
