/* Caseload guide pages — matches the main site's design tokens */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(/fonts/figtree_v9__Xms-HUzqDCFdgfMm4S9DaRvzig.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: 'Fraunces';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(/fonts/fraunces_v38_6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92usiIk_WBq8U_9v0c2Wa0KxC9TeP2Xz5c.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: 'Spline Sans Mono';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/splinesansmono_v13_R70BjzAei_CDNLfgZxrW6wrZOF2WX5yZmE-Z-lxguQ.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;
}

:root {
  --navy-0: #33493C;
  --navy-2: #395243;
  --paper: #FAFBF9;
  --paper-2: #EDF2EA;
  --gold: #8FBE7C;
  --gold-deep: #527E47;
  --slate: #67766B;
  --line: rgba(57,82,67,0.14);
  --display: 'Fraunces', Georgia, serif;
  --body: 'Figtree', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--body);
  background: var(--paper);
  color: var(--navy-2);
  -webkit-font-smoothing: antialiased;
  line-height: 1.65;
}

.g-nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(250,251,249,.92); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.g-nav-inner {
  max-width: 72rem; margin: 0 auto; padding: 0 20px; height: 68px;
  display: flex; align-items: center; justify-content: space-between;
}
.g-logo { font-family: var(--display); font-weight: 600; font-size: 22px; color: var(--navy-0); text-decoration: none; letter-spacing: -0.01em; }
.g-logo span { color: var(--gold-deep); }
.g-nav a.g-cta {
  padding: 10px 22px; border-radius: 99px; background: var(--gold);
  color: var(--navy-0); font-size: 14px; font-weight: 600; text-decoration: none;
  box-shadow: 0 2px 14px rgba(143,190,124,.3);
}

.g-main { max-width: 46rem; margin: 0 auto; padding: 48px 20px 80px; }

.g-crumbs { font-size: 13px; color: var(--slate); margin-bottom: 28px; }
.g-crumbs a { color: var(--gold-deep); text-decoration: none; }
.g-crumbs a:hover { text-decoration: underline; }

.g-kicker { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 14px; }
h1 { font-family: var(--display); font-weight: 550; font-size: clamp(30px, 5vw, 42px); line-height: 1.15; color: var(--navy-0); letter-spacing: -0.01em; margin-bottom: 18px; }
.g-meta { font-size: 14px; color: var(--slate); margin-bottom: 30px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }

.g-answer {
  background: var(--paper-2); border-left: 3px solid var(--gold);
  border-radius: 0 12px 12px 0; padding: 20px 24px; margin-bottom: 36px;
  font-size: 17px;
}
.g-answer strong { color: var(--navy-0); }

article h2 { font-family: var(--display); font-weight: 550; font-size: 26px; color: var(--navy-0); margin: 44px 0 14px; line-height: 1.25; }
article h3 { font-family: var(--display); font-weight: 550; font-size: 20px; color: var(--navy-0); margin: 30px 0 10px; }
article p { margin-bottom: 16px; font-size: 16.5px; }
article ul, article ol { margin: 0 0 16px 22px; font-size: 16.5px; }
article li { margin-bottom: 8px; }
article a { color: var(--gold-deep); }
article table { border-collapse: collapse; width: 100%; margin: 0 0 20px; font-size: 15px; }
article th, article td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; vertical-align: top; }
article th { background: var(--paper-2); font-weight: 600; color: var(--navy-0); }

.g-faq { margin-top: 8px; }
.g-faq details { border-bottom: 1px solid var(--line); padding: 14px 0; }
.g-faq summary { font-weight: 600; color: var(--navy-0); cursor: pointer; font-size: 16.5px; }
.g-faq details p { margin: 10px 0 0; }

.g-sources { margin-top: 44px; padding: 22px 24px; background: var(--paper-2); border-radius: 12px; }
.g-sources h2 { margin-top: 0; font-size: 20px; }
.g-sources ol { margin: 10px 0 0 20px; font-size: 14.5px; color: var(--slate); }
.g-sources li { margin-bottom: 8px; overflow-wrap: anywhere; }

.g-ctabox {
  margin-top: 44px; background: var(--navy-0); border-radius: 16px;
  padding: 32px 30px; color: var(--paper);
}
.g-ctabox h2 { font-family: var(--display); font-weight: 550; color: var(--paper); font-size: 24px; margin: 0 0 10px; }
.g-ctabox p { color: rgba(250,251,249,.85); font-size: 15.5px; margin-bottom: 18px; }
.g-ctabox a {
  display: inline-block; padding: 12px 26px; border-radius: 99px;
  background: var(--gold); color: var(--navy-0); font-weight: 600; font-size: 15px; text-decoration: none;
}

.g-footer { border-top: 1px solid var(--line); }
.g-footer-inner { max-width: 72rem; margin: 0 auto; padding: 28px 20px; font-size: 13.5px; color: var(--slate); display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; }
.g-footer a { color: var(--gold-deep); text-decoration: none; margin-right: 18px; }
.g-footer a:hover { text-decoration: underline; }

/* Big shared footer, mirrors the SPA footer */
.g-bigfoot { background: var(--navy-0); border-top: 1px solid rgba(250,251,249,.08); }
.g-bigfoot-inner { max-width: 72rem; margin: 0 auto; padding: 64px 24px 0; }
.g-bigfoot-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px 32px; padding-bottom: 48px; }
.g-bigfoot-brand { max-width: 280px; }
.g-bigfoot-logo { text-decoration: none; display: inline-block; margin-bottom: 14px; }
.g-bigfoot-logo .cl-logo, .g-logo .cl-logo { display: inline-flex; align-items: center; line-height: 1; }
.g-bigfoot-logo .cl-word, .g-logo .cl-word { font-family: var(--display); font-weight: 520; letter-spacing: -0.015em; white-space: nowrap; }
.g-bigfoot-logo .cl-word em, .g-logo .cl-word em { font-style: italic; font-weight: 480; }
.g-bigfoot-logo .cl-ink { stroke: rgba(250,251,249,.9); }
.g-bigfoot-logo .cl-accent { stroke: #A7D18F; }
.g-bigfoot-logo .cl-word { color: rgba(250,251,249,.9); }
.g-bigfoot-logo .cl-word em { color: #A7D18F; }
.g-logo .cl-ink { stroke: #395243; }
.g-logo .cl-accent { stroke: #527E47; }
.g-logo .cl-word { color: #395243; }
.g-logo .cl-word em { color: #527E47; }
.g-bigfoot-brand p { font-size: 13.5px; line-height: 1.65; color: rgba(250,251,249,.55); margin: 0 0 18px; }
.g-bigfoot-trust { font-family: 'Spline Sans Mono', monospace; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.g-bigfoot-col h2 { font-family: 'Spline Sans Mono', monospace; font-weight: 400; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,251,249,.45); margin: 0 0 14px; }
.g-bigfoot-col a { display: block; font-size: 13.5px; line-height: 1.4; color: rgba(250,251,249,.72); text-decoration: none; margin-bottom: 10px; }
.g-bigfoot-col a:hover { color: #A7D18F; }
.g-bigfoot-bar { border-top: 1px solid rgba(250,251,249,.08); padding: 22px 0 26px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.g-bigfoot-bar p, .g-bigfoot-bar a { font-family: 'Spline Sans Mono', monospace; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; margin: 0; }
.g-bigfoot-bar p { color: rgba(250,251,249,.3); }
.g-bigfoot-bar a { color: rgba(250,251,249,.45); text-decoration: none; }
