/* Water Treatment Teachings: shared look for every page.
   Colours are tokens on :root, with a dark set. Page-specific styles stay in each page. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
:root{
  --bg:#EEF3F3; --surface:#FFFFFF; --sunk:#E3EBEC; --fg:#12232A; --muted:#566A70; --line:#CCD8DA;
  --accent:#0C6870; --accent-ink:#FFFFFF; --bar:#2E8C97; --bar-part:#9CC6CB;
  --ok:#2F8455; --warn:#B97C0C; --bad:#B4402D;
  --z-ok:#D4EADB; --z-warn:#F4E4BE; --z-bad:#F2D3CC;
  --f-display:"Barlow Semi Condensed","Arial Narrow",system-ui,sans-serif;
  --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-data:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C1618; --surface:#132226; --sunk:#0F1C1F; --fg:#E2ECEC; --muted:#93A7AB; --line:#25393D;
  --accent:#5CC3C8; --accent-ink:#06282B; --bar:#4FB3BC; --bar-part:#2B5A5F;
  --ok:#62C48F; --warn:#E2B14E; --bad:#E57A64;
  --z-ok:#173A28; --z-warn:#3D3116; --z-bad:#42221C; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0C1618; --surface:#132226; --sunk:#0F1C1F; --fg:#E2ECEC; --muted:#93A7AB; --line:#25393D;
  --accent:#5CC3C8; --accent-ink:#06282B; --bar:#4FB3BC; --bar-part:#2B5A5F;
  --ok:#62C48F; --warn:#E2B14E; --bad:#E57A64;
  --z-ok:#173A28; --z-warn:#3D3116; --z-bad:#42221C; color-scheme:dark}

body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.45}
.wrap{max-width:1280px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header.site{background:var(--surface);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;padding-block:18px 0}
.brand{padding-bottom:14px}
.brand small{display:block;font:600 12px/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.brand h1{margin:0;font:700 clamp(24px,3.2vw,32px)/1.05 var(--f-display);text-wrap:balance}
nav.tabs{display:flex;flex-wrap:wrap;gap:4px}
nav.tabs a{font:600 15px/1 var(--f-display);letter-spacing:.02em;color:var(--muted);text-decoration:none;padding:12px 14px 13px;border-bottom:3px solid transparent}
nav.tabs a[aria-current="page"]{color:var(--fg);border-bottom-color:var(--accent)}
nav.tabs a:hover{color:var(--fg)}
a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

main .wrap{padding-block:22px 48px}
.intro{max-width:70ch;margin:0 0 18px;color:var(--muted)}
.intro b{color:var(--fg);font-weight:600}
.brand a.home{color:inherit;text-decoration:none}
.brand a.home:hover{color:var(--accent)}
.callout{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:6px;padding:12px 14px}
footer.site{border-top:1px solid var(--line);color:var(--muted);font-size:13px}
footer.site .wrap{padding-block:16px 28px}
