/* self-hosted webfonts (S3) */
@font-face { font-family: 'Fjalla One'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/fjallaone-yq6r-lcawcx3-6ky7fafrox6kigt.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Fjalla One'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/fjallaone-yq6r-lcawcx3-6ky7fafro56kigt.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Fjalla One'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/fjallaone-yq6r-lcawcx3-6ky7fafro96kigt.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Fjalla One'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/fjallaone-yq6r-lcawcx3-6ky7fafrof6kg.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzmkidh18smxg.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzmkido18smxg.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzmkidg18smxg.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzmkidv18smxg.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzmkidj18smxg.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzmkidi18smxg.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzmkids18q.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk1dsbykcsv-lcoeqqfx1ryoo3qpz7qsdjt9g.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk1dsbykcsv-lcoeqqfx1ryoo3qpz7jsdjt9g.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk1dsbykcsv-lcoeqqfx1ryoo3qpz7rsdjt9g.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk1dsbykcsv-lcoeqqfx1ryoo3qpz7ksdjt9g.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk1dsbykcsv-lcoeqqfx1ryoo3qpz7osdjt9g.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk1dsbykcsv-lcoeqqfx1ryoo3qpz7psdjt9g.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk1dsbykcsv-lcoeqqfx1ryoo3qpz7nsdi.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzclsdh18smxg.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzclsdo18smxg.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzclsdg18smxg.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzclsdv18smxg.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzclsdj18smxg.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzclsdi18smxg.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: italic; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkwdsbykcsv-lcoeqqfx1ryoo3qpzzclsds18q.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ik4zwmhduz8a.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ik4zwkxduz8a.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ik4zwmxduz8a.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ik4zwlbduz8a.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ik4zwmbduz8a.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ik4zwmrduz8a.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ik4zwlxdu.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk3dsbykcsv-lcoeqqfx1ryoo3qna7lqdy.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk3dsbykcsv-lcoeqqfx1ryoo3qpk7lqdy.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk3dsbykcsv-lcoeqqfx1ryoo3qnk7lqdy.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk3dsbykcsv-lcoeqqfx1ryoo3qo67lqdy.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk3dsbykcsv-lcoeqqfx1ryoo3qn67lqdy.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk3dsbykcsv-lcoeqqfx1ryoo3qnq7lqdy.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xk3dsbykcsv-lcoeqqfx1ryoo3qok7l.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ig4vwmhduz8a.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ig4vwkxduz8a.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ig4vwmxduz8a.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ig4vwlbduz8a.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ig4vwmbduz8a.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ig4vwmrduz8a.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Sans Pro'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://cdn.425tutoring.org/sourcesanspro-6xkydsbykcsv-lcoeqqfx1ryoo3ig4vwlxdu.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* 425 Tutoring public marketing site. Hand-authored, no GoDaddy. Served at
 * /site.css by sitemirror.py and shared by every public page.
 * Design: clean, editorial, trustworthy. Deep teal + warm neutrals, strong type
 * (Fjalla One display / Source Sans Pro body), generous whitespace, thin rules,
 * small radii. Deliberately not the "AI template" look (no big gradients, no
 * pill-rounded everything, no glassy cards). */

:root{
  --ink:#19211f; --body:#3c4a47; --muted:#6b7976;
  --teal:#2f7a76; --teal-dark:#235e5b; --teal-tint:#eaf2f1;
  --gold:#d8973c;
  --bg:#ffffff; --bg-alt:#f5f7f6; --line:#e2e8e6;
  --maxw:1140px; --radius:6px;
  --shadow:0 1px 2px rgba(20,40,38,.06), 0 8px 24px rgba(20,40,38,.06);
}

/* The `hidden` attribute is only `display:none` in the USER AGENT stylesheet,
   so any author rule that sets `display` silently beats it. `.navlink` is
   `display:inline-block` and `.drawer a` is `display:block`, which meant the
   header shipped `hidden` on My Account and Sign Out, site.js dutifully toggled
   the attribute, and all three of Sign In, My Account and Sign Out rendered at
   once to every signed-out visitor. This one line is what makes the attribute
   mean what it says; `!important` because `.drawer a` is the more specific
   selector and would otherwise still win. */
[hidden]{display:none !important}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--body);
  font-family:"Source Sans Pro",-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--teal);text-decoration:none}
a:hover{color:var(--teal-dark)}
h1,h2,h3,h4{font-family:"Fjalla One",Arial,sans-serif;color:var(--ink);
  font-weight:400;line-height:1.12;letter-spacing:.01em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem)}
h3{font-size:1.25rem}
p{margin:0 0 1rem}
/* Every page needs an h1, and only two pages had one: the home hero and the
 * privacy policy. The other five opened at h2, so their heading tree started
 * one level down and /faq's started at h3 - which is the page title missing for
 * a screen reader, and the most basic on-page signal missing for a crawler, on
 * the four pages meant to convert.
 *
 * The ELEMENT changes and the size does not. A page title set at section scale
 * is still a page title; `h1`'s own size is the hero's, which is right on the
 * home page and too large everywhere else.
 *
 * `:not(.eyebrow)` because /faq's title IS its eyebrow (below), and this
 * selector carries an element as well as a class - so without the exclusion it
 * out-specifies `.eyebrow` and blows that 13px label up to 38px. */
.section__head h1:not(.eyebrow){font-size:clamp(1.7rem,3.4vw,2.4rem)}
/* ...except the privacy page, whose title is the whole page and has always been
 * set at hero scale. `.section__title` was a class with no rule behind it, so
 * that h1 was simply rendering at the element default; this says so out loud
 * rather than leaving it to be a coincidence the rule above would break. */
.section__head h1.section__title{font-size:clamp(2.1rem,5vw,3.4rem)}
/* Stated rather than inherited, because an eyebrow is a heading on one page:
 * /faq has no title of its own, so ITS eyebrow is the h1. A `p` inherits the
 * body's 1.65 and an `h1` would take the heading rule's 1.12, which would move
 * the text. This pins both to what the `p` already computes. */
.eyebrow{font-family:"Fjalla One",Arial,sans-serif;letter-spacing:.16em;
  text-transform:uppercase;font-size:.82rem;color:var(--teal);margin:0 0 .6rem;
  line-height:1.65;font-weight:400}

/* layout */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:84px 0}
.section--alt{background:var(--bg-alt)}
.section--tight{padding:56px 0}
.lead{font-size:1.2rem;color:var(--body);max-width:60ch}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.section__head{max-width:62ch;margin:0 0 44px}
.section__head.center{margin-left:auto;margin-right:auto;max-width:100%}

/* buttons */
.btn{display:inline-block;font-family:"Fjalla One",Arial,sans-serif;letter-spacing:.03em;
  font-size:1rem;padding:13px 26px;border-radius:var(--radius);border:2px solid transparent;
  cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.btn--primary{background:var(--teal);color:#fff}
.btn--primary:hover{background:var(--teal-dark);color:#fff}
.btn--ghost{background:transparent;color:var(--teal);border-color:var(--teal)}
.btn--ghost:hover{background:var(--teal);color:#fff}
.btn--gold{background:var(--gold);color:#231a07}
.btn--gold:hover{background:#c4862e;color:#231a07}
.btn--lg{padding:15px 32px;font-size:1.08rem}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.center .btn-row{justify-content:center}

/* header / nav */
.hdr{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4);
  border-bottom:1px solid var(--line)}
.hdr__bar{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:16px;padding:10px 24px}
.hdr__zone{display:flex;align-items:center;gap:2px;flex:1 1 0;min-width:0}
.hdr__zone.is-right{justify-content:flex-end}
.hdr__logo{flex:0 0 auto;line-height:0}
.hdr__logo img{height:52px;width:auto}
.navlink{display:inline-block;padding:8px 12px;color:var(--ink);font-size:1rem;white-space:nowrap;
  border:0;background:none;cursor:pointer;font-family:inherit;border-bottom:2px solid transparent}
.navlink:hover{color:var(--teal)}
.navlink.is-active{color:var(--teal);border-bottom-color:var(--teal);font-weight:600}
.navlink--cta{color:var(--teal);font-weight:600}
.more{position:relative}
.more__menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow);border-radius:var(--radius);padding:6px 0;min-width:168px;display:none}
.more[data-open] .more__menu{display:block}
.more__menu a{display:block;padding:9px 18px;color:var(--ink);white-space:nowrap}
.more__menu a:hover{background:var(--teal-tint);color:var(--teal)}
.burger{display:none;font-size:26px;line-height:1;background:none;border:0;cursor:pointer;color:var(--ink);padding:6px 8px}
.backdrop{position:fixed;inset:0;background:rgba(15,28,26,.46);z-index:1090;opacity:0;visibility:hidden;transition:opacity .2s}
.backdrop[data-open]{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100%;width:290px;max-width:86vw;background:#fff;
  box-shadow:-2px 0 22px rgba(15,28,26,.2);transform:translateX(105%);z-index:1100;display:flex;
  flex-direction:column;padding:56px 0 24px;overflow-y:auto;
  font-family:"Source Sans Pro",Arial,sans-serif}
/* Two mechanisms, not one. The transform alone only MOVES the panel: it stayed
   focusable and in the accessibility tree off-screen, so a keyboard user tabbing
   past the footer landed in an invisible menu. `visibility:hidden` takes it out
   of both, and still animates (it is a discrete property, applied at the end of
   the transition on the way out and immediately on the way in). site.js also
   toggles the `hidden` attribute, which is what covers a no-JS or
   mid-transition state. */
.drawer:not([data-open]){visibility:hidden}
.drawer[data-open]{transform:translateX(0);visibility:visible}
.drawer{transition:transform .22s ease,visibility 0s linear .22s}
.drawer[data-open]{transition:transform .22s ease,visibility 0s}
/* Sign Out in the drawer must look like every other row. It is now a plain
   link to /logout (it was a <button> whose only job was to navigate there, which
   made signing out depend on JavaScript for no reason), so `.drawer a` already
   covers it - but the `.signout` half of each selector stays, because the button
   form is what these rules were written against and the class is what carries
   the color below. */
.drawer a,.drawer .signout{display:block;width:100%;text-align:left;padding:14px 26px;color:var(--ink);
  font-size:1.05rem;line-height:inherit;border:0;border-bottom:1px solid var(--line);background:none;
  font-family:inherit;cursor:pointer}
.drawer a.is-active{color:var(--teal);font-weight:700}
.drawer a:hover,.drawer .signout:hover{background:var(--bg-alt)}
.drawer__close{position:absolute;top:12px;right:14px;font-size:26px;line-height:1;background:none;
  border:0;color:var(--ink);cursor:pointer;padding:6px 10px;width:auto;border-bottom:0}
/* Both selectors, or the drawer rule above (two classes) out-specifies this one
   and Sign Out loses its color there. */
.signout,.drawer .signout{color:#b0473f;font-weight:600}
@media (max-width:860px){
  .hdr__zone{display:none}
  .burger{display:block;flex:0 0 auto}
  .hdr__logo{margin:0 auto}
}

/* hero */
.hero{background:var(--bg-alt);border-bottom:1px solid var(--line)}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
  padding:76px 24px}
.hero__art{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  aspect-ratio:4/3;background:var(--teal-tint)}
.hero__art img{width:100%;height:100%;object-fit:cover}
.hero h1{margin-bottom:.35em}
.hero .lead{margin-bottom:1.6rem}

/* stat band */
.stats{background:var(--teal);color:#fff}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:46px 24px;text-align:center}
.stat__num{font-family:"Fjalla One",Arial,sans-serif;font-size:2.4rem;line-height:1;color:#fff}
.stat__label{font-size:.95rem;color:#d6e7e5;margin-top:6px;letter-spacing:.02em}

/* feature cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 28px;box-shadow:var(--shadow)}
.card__ico{width:44px;height:44px;color:var(--teal);margin-bottom:14px}
.card h3{margin-bottom:.4em}
.card p{color:var(--muted);margin:0}

/* split content (story / image) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split__art{border-radius:var(--radius);overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow);background:var(--teal-tint)}
.split__art img{width:100%;height:100%;object-fit:cover}

/* video */
.video{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;
  box-shadow:var(--shadow);background:#000;max-width:840px;margin:0 auto}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* CTA strip */
.cta{background:var(--ink);color:#fff;text-align:center}
.cta h2{color:#fff}
.cta .lead{color:#c4cfcd;margin:0 auto 1.5rem}

/* team (rendered by site.js) */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:24px}
.tm{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 22px;text-align:center;box-shadow:var(--shadow)}
.tm__photo{width:118px;height:118px;border-radius:50%;object-fit:cover;margin:0 auto 15px;
  display:block;background:var(--teal-tint)}
.tm__initials{display:flex;align-items:center;justify-content:center;
  font-family:"Fjalla One",Arial,sans-serif;font-size:40px;color:#fff;background:var(--teal)}
.tm__name{font-family:"Fjalla One",Arial,sans-serif;font-size:1.2rem;color:var(--ink);margin:0 0 3px}
.tm__role{color:var(--teal);font-weight:600;font-size:.82rem;text-transform:uppercase;
  letter-spacing:.05em;margin:0 0 12px}
.tm__text{font-size:.96rem;line-height:1.55;color:var(--muted);margin:0}
.tm__fact{font-size:.95rem;line-height:1.5;color:var(--muted);margin:5px 0}
.tm__fact b{color:var(--ink);font-weight:700}
.team-empty{grid-column:1/-1;text-align:center;color:var(--muted)}
.team-sub{font-family:"Fjalla One",Arial,sans-serif;font-size:1.5rem;color:var(--ink);
  text-align:center;margin:64px 0 30px}

/* FAQ accordion */
.faq{max-width:780px;margin:0 auto}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{width:100%;text-align:left;background:none;border:0;cursor:pointer;
  font-family:"Fjalla One",Arial,sans-serif;font-size:1.12rem;color:var(--ink);
  padding:22px 40px 22px 0;position:relative}
.faq__q::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-size:1.5rem;color:var(--teal);line-height:1}
.faq__q[aria-expanded="true"]::after{content:"\2212"}
.faq__a{max-height:0;overflow:hidden;transition:max-height .25s ease}
.faq__a p{color:var(--muted);padding:0 0 22px}

/* simple prose blocks (donate / join / about / privacy) */
.prose{max-width:64ch}
.prose h2{margin-top:0}
/* A long read rather than a landing page: the measure is narrower than the
   section default, and each heading gets air above it so the notice can be
   skimmed for the one section somebody came for. */
.wrap--narrow{max-width:760px}
.prose__h{font-family:"Fjalla One",Arial,sans-serif;font-size:1.35rem;
  letter-spacing:.01em;margin:40px 0 12px;padding-top:18px;border-top:1px solid var(--line)}
.prose__h:first-child{margin-top:0;padding-top:0;border-top:0}
.prose p{color:var(--muted);margin:0 0 14px}
.prose p b{color:var(--ink)}
.note{background:var(--teal-tint);border-left:3px solid var(--teal);border-radius:0 var(--radius) var(--radius) 0;
  padding:18px 22px;color:var(--ink)}
.note p:last-child{margin:0}

/* two-up panels (join us: students / tutors) */
.panels{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.panel{border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px;background:var(--bg);
  box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start}
.panel h2{font-size:1.6rem}
/* Grid stretches both panels to the taller one, so without this the shorter
   panel's button floats mid-card with a drop of empty space under it. Pinned to
   the bottom, the two calls to action line up however long the lists get. */
.panel .btn{margin-top:auto}
/* Checklist inside a panel: what a tutor actually gets, one line each. The tick
   is a pseudo-element so the text wraps in line with itself, not under the mark. */
.ticks{list-style:none;margin:18px 0 26px;padding:0}
.ticks li{position:relative;padding:0 0 0 28px;margin:0 0 14px;color:var(--muted);line-height:1.55}
.ticks li:last-child{margin-bottom:0}
.ticks li b{color:var(--ink)}
.ticks li::before{content:"";position:absolute;left:2px;top:6px;width:13px;height:7px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);
  transform:rotate(-45deg)}

/* footer */
.foot{background:var(--ink);color:#b9c5c2;padding:56px 0 28px}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.foot__brand img{height:54px;width:auto;margin-bottom:12px;opacity:.92}
.foot h4{color:#fff;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.foot a{color:#b9c5c2;display:block;padding:4px 0}
.foot a:hover{color:#fff}
.foot__social{display:flex;gap:14px;margin-top:6px}
.foot__social a{padding:0}
.foot__social svg{width:22px;height:22px;fill:#b9c5c2}
.foot__social a:hover svg{fill:#fff}
.foot__bar{border-top:1px solid #2c3a38;margin-top:40px;padding-top:22px;
  display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;font-size:.9rem;color:#8a9794}
.foot__legal{display:flex;flex-wrap:wrap;gap:8px 18px}

/* responsive */
@media (max-width:880px){
  .hero__grid,.split,.panels{grid-template-columns:1fr;gap:32px}
  .hero__grid{padding:52px 24px}
  /* stacked layout reads text first; images follow (never an image-first page) */
  .hero__art,.split__art{order:2}
  .cards{grid-template-columns:1fr 1fr}
  .stats__grid{grid-template-columns:1fr 1fr;gap:30px 18px;padding:40px 24px}
  .foot__grid{grid-template-columns:1fr 1fr}
  .section{padding:60px 0}
}
@media (max-width:560px){
  .cards,.foot__grid{grid-template-columns:1fr}
  .section{padding:46px 0}
  .stat__num{font-size:2rem}
  .team-sub{margin:40px 0 22px}
}
