/**
 * Focusline Prep: fonts and design tokens. Loads first, on every page.
 * Generated by the theme builder from the approved page design. Edit the builder, not this file.
 *
 * Every value used in the theme's CSS is a token here, and every var() in the
 * theme carries the same value as its fallback.
 * Media queries cannot use tokens, so the two Astra breakpoints are written out:
 * tablet max-width 921px, phone max-width 544px.
 */

/* Fonts: self-hosted Latin subsets (SIL Open Font License, see assets/fonts/). */
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url("../fonts/SourceSerif4-normal-200-900.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url("../fonts/SourceSans3-normal-200-900.woff2") format("woff2")}
/* The same two files under names with no number at the end, for Astra's typography settings.
   Astra writes font names without quotes, and an unquoted name ending in a number is not valid CSS. */
@font-face{font-family:"Focusline Serif";font-style:normal;font-weight:200 900;font-display:swap;src:url("../fonts/SourceSerif4-normal-200-900.woff2") format("woff2")}
@font-face{font-family:"Focusline Sans";font-style:normal;font-weight:200 900;font-display:swap;src:url("../fonts/SourceSans3-normal-200-900.woff2") format("woff2")}

:root{
  /* Color: palette */
  --fl-ink:#14231F;
  --fl-paper:#FAF8F4;
  --fl-stone:#F1EEE6;
  --fl-teal:#0F6B5C;
  --fl-teal-dark:#0B5248;
  --fl-amber:#E0A100;
  --fl-line:#D9D4C7;
  /* Color: roles (what each color is used for) */
  --fl-c-bg:var(--fl-paper, #FAF8F4);
  --fl-c-alt:var(--fl-stone, #F1EEE6);
  --fl-c-card:var(--fl-paper, #FAF8F4);
  --fl-c-text:var(--fl-ink, #14231F);
  --fl-c-muted:#4A5752;
  --fl-c-line:var(--fl-line, #D9D4C7);
  --fl-c-accent:var(--fl-teal, #0F6B5C);
  --fl-c-btn-bg:var(--fl-teal, #0F6B5C);
  --fl-c-btn-fg:var(--fl-paper, #FAF8F4);
  --fl-c-btn-hover:var(--fl-teal-dark, #0B5248);
  --fl-c-dot:var(--fl-amber, #E0A100);
  --fl-c-focus:var(--fl-teal, #0F6B5C);
  --fl-c-hero-bg:var(--fl-c-bg, #FAF8F4);
  --fl-c-hero-text:var(--fl-c-text, #14231F);
  --fl-c-hero-muted:var(--fl-c-muted, #4A5752);
  --fl-c-hero-accent:var(--fl-c-accent, #0F6B5C);
  --fl-c-hero-btn-bg:var(--fl-c-btn-bg, #0F6B5C);
  --fl-c-hero-btn-fg:var(--fl-c-btn-fg, #FAF8F4);
  --fl-c-hero-btn-hover:var(--fl-c-btn-hover, #0B5248);
  --fl-c-hero-link:var(--fl-c-accent, #0F6B5C);
  --fl-c-hero-focus:var(--fl-c-focus, #0F6B5C);
  --fl-c-cta-bg:var(--fl-ink, #14231F);
  --fl-c-cta-text:var(--fl-paper, #FAF8F4);
  --fl-c-cta-muted:#C9D3CF;
  --fl-c-cta-btn-bg:var(--fl-amber, #E0A100);
  --fl-c-cta-btn-fg:var(--fl-ink, #14231F);
  --fl-c-cta-btn-hover:#F2B51C;
  --fl-c-cta-focus:var(--fl-amber, #E0A100);
  --fl-c-cta-line:var(--fl-paper, #FAF8F4);
  /* Type: families and headings */
  --fl-h1:60px;
  --fl-h2:44px;
  --fl-cta-h:48px;
  --fl-body:18px;
  --fl-head-w:600;
  --fl-f-head:"Source Serif 4",Georgia,serif;
  --fl-f-body:"Source Sans 3",system-ui,sans-serif;
  /* Layout */
  --fl-pad:32px;
  --fl-sec-pad:96px;
  /* Radius */
  --fl-r-btn:4px;
  --fl-r-card:4px;
  --fl-r-4:4px;
  /* Color: other colors used by components */
  --fl-amber-hover:#F2B51C;
  --fl-on-teal-muted:#CDE7E0;
  --fl-teal-light:#A8D8CC;
  --fl-on-dark-muted:#C9D3CF;
  --fl-on-dark-line:#2C3B36;
  --fl-teal-line:#3E877A;
  --fl-input-border:#737C77;
  --fl-error:#8E1B1B;
  --fl-error-line:#B3261E;
  --fl-error-bg:#FBEAE8;
  --fl-error-text:#7A1B14;
  /* Space: margins, padding, gaps and offsets */
  --fl-sp-1:1px;
  --fl-sp-2:2px;
  --fl-sp-3:3px;
  --fl-sp-3-5:3.5px;
  --fl-sp-4:4px;
  --fl-sp-4-5:4.5px;
  --fl-sp-5:5px;
  --fl-sp-6:6px;
  --fl-sp-8:8px;
  --fl-sp-10:10px;
  --fl-sp-12:12px;
  --fl-sp-14:14px;
  --fl-sp-16:16px;
  --fl-sp-18:18px;
  --fl-sp-20:20px;
  --fl-sp-22:22px;
  --fl-sp-24:24px;
  --fl-sp-25:25px;
  --fl-sp-26:26px;
  --fl-sp-28:28px;
  --fl-sp-30:30px;
  --fl-sp-32:32px;
  --fl-sp-36:36px;
  --fl-sp-40:40px;
  --fl-sp-44:44px;
  --fl-sp-48:48px;
  --fl-sp-56:56px;
  --fl-sp-60:60px;
  --fl-sp-64:64px;
  --fl-sp-72:72px;
  --fl-sp-80:80px;
  --fl-sp-88:88px;
  --fl-sp-96:96px;
  --fl-sp-104:104px;
  /* Type: font sizes */
  --fl-fs-14:14px;
  --fl-fs-15:15px;
  --fl-fs-16:16px;
  --fl-fs-17:17px;
  --fl-fs-18:18px;
  --fl-fs-19:19px;
  --fl-fs-20:20px;
  --fl-fs-21:21px;
  --fl-fs-22:22px;
  --fl-fs-23:23px;
  --fl-fs-24:24px;
  --fl-fs-26:26px;
  --fl-fs-27:27px;
  --fl-fs-28:28px;
  --fl-fs-30:30px;
  --fl-fs-32:32px;
  --fl-fs-34:34px;
  --fl-fs-40:40px;
  --fl-fs-42:42px;
  --fl-fs-56:56px;
  /* Size: widths and heights */
  --fl-size-1:1px;
  --fl-size-8:8px;
  --fl-size-9:9px;
  --fl-size-10:10px;
  --fl-size-22:22px;
  --fl-size-26:26px;
  --fl-size-36:36px;
  --fl-size-40:40px;
  --fl-size-44:44px;
  --fl-size-50:50px;
  --fl-size-52:52px;
  --fl-size-76:76px;
  --fl-size-96:96px;
  --fl-size-230:230px;
  --fl-size-260:260px;
  --fl-size-320:320px;
  --fl-size-620:620px;
  --fl-size-760:760px;
  --fl-size-820:820px;
  --fl-size-900:900px;
  --fl-size-980:980px;
  --fl-size-1000:1000px;
  --fl-size-1100:1100px;
  --fl-size-1200:1200px;
  --fl-size-9999:9999px;
  /* Border, outline and underline widths */
  --fl-bw-1:1px;
  --fl-bw-1-5:1.5px;
  --fl-bw-2:2px;
  --fl-bw-3:3px;
  --fl-bw-4:4px;
}
@media (max-width:921px){:root{--fl-pad:24px;--fl-sec-pad:72px;--fl-h1:46px;--fl-h2:36px;--fl-cta-h:38px}}
@media (max-width:544px){:root{--fl-pad:16px;--fl-sec-pad:56px;--fl-h1:36px;--fl-h2:30px;--fl-cta-h:30px;--fl-body:17px}}
