/* Shared look for every somnalab.ai page except the home page (which inlines its own copy).
   New page: copy site/_template/ to site/<name>/, edit, push. See site/README.md. */
:root {
  --night:#14163a; --night-2:#1d2050; --line:#34387a; --paper:#edebf7; --muted:#b3b1d0; --trace:#9fe3d0; --rem:#f2a7c3;
  --serif:"Spectral", Georgia, "Times New Roman", serif; --sans:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  box-sizing:border-box; padding-top:env(safe-area-inset-top, 0px); padding-bottom:env(safe-area-inset-bottom, 0px);
}
*, *::before, *::after { box-sizing:inherit; }
body { margin:0; background:var(--night); color:var(--paper); font-family:var(--sans); font-size:1.0625rem; line-height:1.65; }
a { color:var(--trace); }
:focus-visible { outline:2px solid var(--trace); outline-offset:3px; }
.wrap { width:min(1120px, 100% - 40px); margin:0 auto; }
nav { display:flex; justify-content:space-between; align-items:center; padding:22px 0; gap:16px; }
.brand { font-family:var(--serif); font-size:1.5rem; font-weight:600; color:var(--paper); text-decoration:none; }
nav ul { list-style:none; display:flex; flex-wrap:wrap; gap:8px 24px; margin:0; padding:0; }
nav ul a { color:var(--muted); text-decoration:none; font-size:.95rem; }
nav ul a:hover { color:var(--paper); }
.page { max-width:70ch; padding:48px 0 24px; }
.page h1 { font-family:var(--serif); font-weight:400; font-size:clamp(2.1rem, 5vw, 3rem); line-height:1.15; margin:0 0 12px; text-wrap:balance; }
.page .lede { color:var(--muted); font-size:1.15rem; margin:0 0 36px; }
.page h2 { font-family:var(--serif); font-weight:600; font-size:1.45rem; margin:40px 0 10px; text-wrap:balance; }
.page p, .page li { color:var(--paper); }
.page ul { padding-left:1.2em; }
.page .meta { color:var(--muted); font-size:.9rem; }
.btn { display:inline-block; background:var(--trace); color:var(--night); padding:12px 22px; border-radius:6px; text-decoration:none; font-weight:600; }
footer { margin-top:90px; padding:32px 0 48px; border-top:1px solid var(--line); color:var(--muted); font-size:.88rem; }
footer p { max-width:80ch; margin:0 0 10px; }
