/* Early Light Labs — theme.css
   Palette derived from the mark. Light theme only. WCAG AA on --bg:
   --text 14.2:1 · --text-2 7.0:1 · --accent/link #B4540A 4.7:1 (all AA; --text AAA).
   Fonts self-hosted (OFL/OFL-like, no CDN): Archivo 600/500 display, Public Sans 400/600 text. */
@font-face{font-family:"Archivo";src:url("fonts/Archivo-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap;}
@font-face{font-family:"Archivo";src:url("fonts/Archivo-Medium.woff2") format("woff2");font-weight:500;font-display:swap;}
@font-face{font-family:"Public Sans";src:url("fonts/PublicSans-Regular.woff2") format("woff2");font-weight:400;font-display:swap;}
@font-face{font-family:"Public Sans";src:url("fonts/PublicSans-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap;}
:root{
  /* color */
  --bg:#FBF8F4;            /* warm white page */
  --bg-raised:#F3EFE9;     /* tinted panels */
  --text:#2A2622;          /* primary ink — 14.2:1 on --bg */
  --text-2:#5C554C;        /* secondary — 7.0:1 on --bg */
  --accent:#B4540A;        /* deep amber, text-safe — 4.7:1 */
  --accent-bright:#E8890C; /* graphic use only, never body text */
  --link:var(--accent);
  --link-hover:#8F4208;
  --border:#E4DDD2;        /* hairlines */
  /* type */
  --font-display:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-text:"Public Sans",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --fs-xs:0.8125rem; --fs-s:0.9375rem; --fs-m:1.0625rem;   /* body */
  --fs-l:1.375rem;  --fs-xl:1.875rem; --fs-2xl:2.625rem;   /* headings */
  --lh-text:1.6; --lh-heading:1.15;
  /* rhythm */
  --sp-1:0.25rem; --sp-2:0.5rem; --sp-3:1rem; --sp-4:1.5rem;
  --sp-5:2.5rem; --sp-6:4rem; --sp-7:6rem;
  --content-max:44rem; --page-max:66rem;
  --radius-s:4px; --radius-m:8px;
}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-text);font-size:var(--fs-m);line-height:var(--lh-text);}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:var(--lh-heading);letter-spacing:-0.01em;margin:0 0 var(--sp-3);}
h1{font-size:var(--fs-2xl);} h2{font-size:var(--fs-xl);} h3{font-size:var(--fs-l);}
p{margin:0 0 var(--sp-3);max-width:var(--content-max);text-wrap:pretty;}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:2px;}
a:hover{color:var(--link-hover);}
hr{border:0;border-top:1px solid var(--border);margin:var(--sp-5) 0;}
