:root {
    --orange: #f7931e; /* adjust to match the logo exactly */
    --grey: #58595b;
    --grey-light: #f4f4f4;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: 'Open Sans', Arial, sans-serif;
    color: var(--grey);
    line-height: 1.7;
}

h1, h2, h3 { line-height: 1.2; font-weight: 300; }
h2 { color: var(--orange); font-size: 2rem; margin-top: 0; }

.container { max-width: 1040px; margin: 0 auto; padding: 0 1.25rem; }

header { border-bottom: 4px solid var(--orange); background: #fff; }
header .container { display: flex; justify-content: center; padding-top: 1rem; padding-bottom: 1rem; }
header img { width: 18rem; height: auto; display: block; }

.hero { background: var(--orange); color: #fff; padding: 4rem 0; text-align: center; }
.hero h1 { font-size: 3rem; margin: 0 0 .25rem; }
.hero .definition { font-style: italic; font-size: 1.15rem; margin: 0 0 1.5rem; }
.hero .definition strong { font-weight: 700; font-style: normal; }
.hero .mission { max-width: 760px; margin: 0 auto; font-size: 1.15rem; }

section { padding: 3.5rem 0; }
section.alt { background: var(--grey-light); }

.grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.card { background: #fff; border-top: 4px solid var(--orange); padding: 1.5rem; box-shadow: 0 1px 4px rgba(0,0,0,.1); }
.card h3 { margin-top: 0; color: var(--orange); }

footer { background: var(--grey); color: #fff; text-align: center; padding: 1.5rem 0; font-size: .9rem; }
