:root {
    --ink: #29211d;
    --muted: #695f58;
    --cream: #f7f3ed;
    --paper: #fffdf9;
    --brown: #7a3d2d;
    --gold: #d4ae88;
    --line: #ded5ca;
}

* { box-sizing: border-box; }
img, iframe { max-width: 100%; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    overflow-x: hidden;
    color: var(--ink);
    background: var(--paper);
    font-family: 'Lexend', sans-serif;
    line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
.page-width { width: min(1120px, calc(100% - 3rem)); margin: 0 auto; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 10; padding: .5rem 1rem; background: var(--paper); }
.site-header { background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 5; }
.nav { align-items: center; display: flex; justify-content: space-between; min-height: 76px; gap: 2rem; }
.brand, h1, h2 { font-family: 'Campaign-Slab', 'Courier New', monospace; }
.brand { color: var(--brown); font-size: 1.45rem; }
.nav-links { align-items: center; display: flex; gap: 1.5rem; font-size: .78rem; }
.nav-links a:not(.button) { color: var(--muted); }
.nav-links a:not(.button):hover, .text-link:hover, .resource-link:hover { color: var(--brown); }
.button { background: var(--brown); border: 1px solid var(--brown); color: #fff; display: inline-block; font: 600 .78rem 'Lexend', sans-serif; letter-spacing: .04em; padding: .9rem 1.3rem; transition: .2s ease; }
.button:hover { background: #5f2e22; border-color: #5f2e22; transform: translateY(-2px); }
.button-small { padding: .65rem 1rem; }
.hero { background: linear-gradient(100deg, rgba(37,27,22,.9), rgba(37,27,22,.4)), url("../img/frm-cover.jpg") center/cover; color: #fff; min-height: 620px; display: grid; align-items: center; }
.hero-content { padding: 7rem 0; }
.eyebrow { color: var(--brown); font-size: .7rem; font-weight: 700; letter-spacing: .18em; margin: 0 0 1.1rem; text-transform: uppercase; }
.hero .eyebrow { color: var(--gold); }
h1 { font-size: clamp(3rem, 7vw, 6.2rem); font-weight: 400; line-height: 1.02; margin: 0; max-width: 830px; }
h1 em { color: var(--gold); font-style: normal; }
.hero-copy { color: rgba(255,255,255,.78); font-size: 1.05rem; margin: 1.7rem 0 2rem; max-width: 530px; }
.hero-actions { align-items: center; display: flex; gap: 1.5rem; }
.text-link, .resource-link { color: var(--brown); font-size: .82rem; font-weight: 600; }
.hero .text-link { color: #fff; }
.featured-video { background: var(--cream); padding: 5rem 0 6rem; }
.featured-video .section-heading { margin-bottom: 2rem; }
.featured-video .video-frame { box-shadow: 0 1.5rem 3rem rgba(41,33,29,.16); }
.page-banner { background: linear-gradient(100deg, rgba(37,27,22,.9), rgba(37,27,22,.45)), url("../img/frm-cover.jpg") center/cover; color: #fff; padding: 7rem 0; }
.page-banner .eyebrow { color: var(--gold); }
.page-banner h1 { font-size: clamp(3rem, 7vw, 5.5rem); }
.section { padding: 7rem 0; }
.intro-grid, .scope-grid, .support { display: grid; gap: 5rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1.1; margin: 0; }
.prose { color: var(--muted); font-size: .98rem; max-width: 520px; }
.prose p { margin: 0 0 1.25rem; }
.section-dark { background: var(--brown); color: #fff; }
.section-dark .eyebrow { color: var(--gold); }
.scope-list { border-top: 1px solid rgba(255,255,255,.3); }
.scope-list article { border-bottom: 1px solid rgba(255,255,255,.3); padding: 1.5rem 0; position: relative; padding-left: 3.5rem; }
.scope-list .number { color: var(--gold); font-size: .7rem; left: 0; position: absolute; top: 1.7rem; }
h3 { font-size: 1.05rem; margin: 0 0 .3rem; }
.scope-list p { color: rgba(255,255,255,.7); font-size: .85rem; margin: 0; }
.section-heading { margin-bottom: 2.5rem; max-width: 600px; }
.section-heading > p:last-child { color: var(--muted); font-size: .95rem; }
.video-frame { background: #201a17; aspect-ratio: 16 / 9; margin-bottom: 1.25rem; }
.video-frame iframe { border: 0; height: 100%; width: 100%; }
.resource-link { display: inline-flex; gap: .5rem; }
.newsletter { background: var(--cream); }
.newsletter-inner { align-items: center; display: grid; gap: 4rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.newsletter-inner > a.button { justify-self: start; }
.newsletter h2 { font-size: clamp(2rem, 3vw, 3rem); }
.newsletter p:not(.eyebrow) { color: var(--muted); font-size: .9rem; }
.form-row { display: flex; }
input { border: 1px solid var(--line); font: .85rem 'Lexend', sans-serif; min-width: 0; padding: 1rem; width: 100%; }
input:focus { border-color: var(--brown); outline: 2px solid rgba(122,61,45,.15); }
.form-row .button { cursor: pointer; white-space: nowrap; }
.support { align-items: start; }
.biography { max-width: 980px; }
.biography-image { margin-bottom: 4rem; }
.biography-image img { display: block; height: auto; max-height: 540px; object-fit: cover; width: 100%; }
.biography .prose { max-width: 760px; margin: 0 auto; }
.biography-heading { margin-top: 3.5rem; }
.scope-intro { display: grid; gap: 5rem; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.scope-intro > *, .scope-story > *, .international > *, .newsletter-inner > *, .intro-grid > *, .scope-grid > *, .support > * { min-width: 0; }
.scope-intro .prose { max-width: 680px; }
.scope-intro h3 { color: var(--brown); font-family: 'Campaign-Slab', 'Courier New', monospace; font-size: 1.7rem; font-weight: 400; margin-bottom: 1.2rem; }
.scope-story { display: grid; gap: 5rem; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.scope-story-heading h2 { max-width: 380px; }
.prose-light { color: rgba(255,255,255,.78); max-width: 700px; }
.international { display: grid; gap: 5rem; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.international-copy .prose { max-width: 650px; }
.ministry-gallery { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; }
.gallery-item { aspect-ratio: 1.25; overflow: hidden; min-width: 0; }
.gallery-item img { display: block; height: 100%; object-fit: cover; width: 100%; }
.partnership { background: var(--cream); text-align: center; }
.partnership-inner { max-width: 790px; }
.partnership h2 { margin: 0 auto 1.5rem; max-width: 760px; }
.partnership > .page-width > p:not(.eyebrow):not(.closing-word) { color: var(--muted); margin: 0 auto 2rem; max-width: 600px; }
.partnership .hero-actions { justify-content: center; }
.partnership .text-link { color: var(--brown); }
.resources-list { max-width: 780px; }
.resources-list .section-heading > p:last-child { color: var(--ink); font-size: 1rem; font-weight: 500; margin-top: 1.5rem; }
.link-list { border-top: 1px solid var(--line); list-style: none; margin: 0 0 2.5rem; padding: 0; }
.link-list li { align-items: baseline; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: .3rem 1rem; padding: 1.35rem 0; }
.link-list a { color: var(--brown); display: inline-flex; font-size: 1.1rem; font-weight: 600; gap: .4rem; }
.link-list a:hover { color: var(--gold); }
.link-meta { color: var(--muted); font-size: .85rem; }
.contact-intro { padding-bottom: 0; text-align: center; }
.contact-intro p { color: var(--muted); font-size: 1.05rem; margin: 0 auto; max-width: 620px; }
.contact-tables { display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.contact-table { border: 1px solid var(--line); border-radius: .75rem; overflow: hidden; }
.contact-table h2 { background: var(--cream); border-bottom: 1px solid var(--line); font-size: 1.1rem; margin: 0; padding: 1.1rem 1.5rem; }
.contact-table dl { margin: 0; }
.contact-table dl > div { border-bottom: 1px solid var(--line); padding: 1.1rem 1.5rem; }
.contact-table dl > div:last-child { border-bottom: none; }
.contact-table dt { color: var(--ink); font-size: .95rem; font-weight: 600; margin-bottom: .35rem; }
.contact-table dd { color: var(--muted); font-size: .9rem; line-height: 1.6; margin: 0; }
.contact-table dd a { color: var(--brown); }
.contact-table dd a:hover { color: var(--gold); }
.closing-word { border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; margin: 3rem auto 0; padding-top: 2rem; }
.site-footer { background: #221b18; color: #fff; padding: 5rem 0 1.5rem; }
.site-footer .eyebrow { color: var(--gold); }
.site-footer h2 { font-size: 2rem; }
.site-footer p { color: rgba(255,255,255,.7); font-size: .85rem; }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }
.footer-contact { align-self: end; }
.footer-contact > a { color: var(--gold); }
.social-links { display: flex; gap: 1rem; margin-top: 1.5rem; }
.social-links a { border-bottom: 1px solid rgba(255,255,255,.3); font-size: .8rem; padding-bottom: .2rem; }
.copyright { border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.45); font-size: .7rem; margin: 4rem auto 0; padding-top: 1rem; width: min(1120px, calc(100% - 3rem)); }
.sr-only { height: 1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0,0,0,0); }
@media (max-width: 760px) {
    .page-width { width: min(100% - 2rem, 34rem); }
    .nav { align-items: flex-start; flex-direction: column; padding: 1rem 0; }
    .nav-links { flex-wrap: wrap; gap: .8rem 1rem; }
    .nav-links .button { display: none; }
    .hero { min-height: 560px; }
    .hero-content { padding: 5rem 0; }
    .section { padding: 4rem 0; }
    .intro-grid, .scope-grid, .scope-intro, .scope-story, .international, .newsletter-inner, .support, .footer-grid, .contact-tables { gap: 2.5rem; grid-template-columns: 1fr; }
    .ministry-gallery { order: -1; }
    .form-row { flex-direction: column; gap: .6rem; }
    .form-row .button { width: 100%; }
    .footer-contact { align-self: auto; }
}
