/* ============================================================
   PHC Theme — design system (T1)
   - :root design tokens (phc- prefix, distinct from legacy --phc-* )
   - Modern Normalize baseline reset
   - base typography bound to tokens
   Enqueued site-wide via mu-plugin phc-theme.php
   ============================================================ */

/* --- Modern Normalize (baseline) --- */
*,::before,::after{box-sizing:border-box}
*:not(fieldset,legend,progress,meter){margin:0}
html{-webkit-text-size-adjust:100%;line-height:1.5}
body{margin:0;min-height:100vh}
main{display:block}
h1{font-size:2em;line-height:1.2}
h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
hr{box-sizing:content-box;height:0;overflow:visible}
pre,code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1em}
a{background-color:transparent}
abbr[title]{text-decoration:underline dotted}
b,strong{font-weight:bolder}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
img,svg,video,canvas,audio,iframe,embed,object{max-width:100%;display:block}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}
button,input{overflow:visible}
button,select{text-transform:none}
button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}
fieldset{padding:0.35em 0.75em 0.625em}
legend{padding:0;box-sizing:border-box;color:inherit;display:table;max-width:100%;white-space:normal}
progress{vertical-align:baseline}
textarea{overflow:auto}
[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}
details{display:block}
summary{display:list-item}
template,[hidden]{display:none}
[hidden]{display:none!important}
table{border-collapse:collapse}
ol,ul{list-style:none;padding:0}

/* --- Design tokens --- */
:root{
  /* brand */
  --phc-color-primary:#2563EB;
  --phc-color-primary-dark:#1D4ED8;
  --phc-color-primary-light:#DBEAFE;
  --phc-color-accent:#F59E0B;
  --phc-color-accent-dark:#D97706;
  /* neutrals */
  --phc-color-bg:#FFFFFF;
  --phc-color-surface:#F8FAFC;
  --phc-color-surface-2:#F1F5F9;
  --phc-color-border:#E2E8F0;
  --phc-color-text:#0F172A;
  --phc-color-text-muted:#64748B;
  /* fonts */
  --phc-font-sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --phc-font-heading:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
  /* type scale (rem) */
  --phc-fs-xs:0.75rem;
  --phc-fs-sm:0.875rem;
  --phc-fs-base:1rem;
  --phc-fs-lg:1.125rem;
  --phc-fs-xl:1.375rem;
  --phc-fs-2xl:1.75rem;
  --phc-fs-3xl:2.25rem;
  --phc-fs-4xl:3rem;
  /* spacing */
  --phc-space-1:0.25rem; --phc-space-2:0.5rem; --phc-space-3:0.75rem;
  --phc-space-4:1rem;    --phc-space-5:1.5rem;  --phc-space-6:2rem;
  --phc-space-8:3rem;    --phc-space-10:4rem;   --phc-space-16:6rem;
  /* radius */
  --phc-radius-sm:6px; --phc-radius-md:10px; --phc-radius-lg:16px; --phc-radius-full:9999px;
  /* shadow */
  --phc-shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --phc-shadow-md:0 4px 12px rgba(15,23,42,.08);
  --phc-shadow-lg:0 12px 32px rgba(15,23,42,.12);
  /* containers */
  --phc-container:1200px;
  --phc-container-narrow:760px;
}

/* --- Base typography bound to tokens --- */
body{
  font-family:var(--phc-font-sans);
  font-size:var(--phc-fs-base);
  line-height:1.6;
  color:var(--phc-color-text);
  background:var(--phc-color-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--phc-font-heading);
  color:var(--phc-color-text);
  line-height:1.2;
  font-weight:700;
}
a{color:var(--phc-color-primary);text-decoration:none}
a:hover{text-decoration:underline}
img{height:auto}
