/* Unproven Thesis - shared polish layer.
   Loaded AFTER each page's inline <style>, so these rules refine it.
   Austere by intent: texture, hairlines, small-caps labels, restrained accent. */

:root{ --focus:#A33A2B; }

html{ -webkit-text-size-adjust:100%; }
body{
  font-optical-sizing:auto;
  /* warm paper: a barely-there vignette gives the flat color some depth */
  background-color:var(--paper);
  background-image:radial-gradient(125% 90% at 50% -8%, #FAF5EC 0%, var(--paper) 52%, #F0E9DB 100%);
  background-attachment:fixed;
}
/* fine paper grain, behind all content, never over the text itself */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27160%27%20height%3D%27160%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.9%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200%20%200%200%200%200%200%20%200%200%200%200%200%20%200%200%200%200.35%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E");
  background-size:160px 160px;opacity:.45;mix-blend-mode:multiply;
}

/* thesis-red nameplate rule riding the sticky masthead */
.topbar{ border-top:2px solid var(--thesis); }

/* highlighter selection, tied to the evidence gold */
::selection{ background:rgba(216,185,78,.32); color:var(--ink); }
::-moz-selection{ background:rgba(216,185,78,.32); color:var(--ink); }

/* visible keyboard focus */
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2px solid var(--focus);outline-offset:2px;border-radius:2px;
}

/* emblem lifts a touch off the paper */
.hero .mark{ filter:drop-shadow(0 3px 6px rgba(31,35,40,.10)); }

/* section labels: small-caps, letter-spaced, flanked by short hairlines */
.kicker{
  display:flex;align-items:center;justify-content:center;gap:14px;
  font-style:normal;text-transform:uppercase;letter-spacing:.18em;
  font-size:12px;color:var(--doubt);
}
.kicker::before,.kicker::after{
  content:"";height:1px;width:38px;background:var(--line);flex:0 0 auto;
}

/* section separators on the landing: a short centered rule with a gold aperture mark */
main > section{ border-top:0; position:relative; }
main > section + section{ padding-top:54px; }
main > section + section::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:72px;height:1px;background:var(--line);
}
main > section + section::after{
  content:"";position:absolute;top:-3px;left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:6px;height:6px;background:var(--evidence);
}

/* a hair more depth on cards and pipeline nodes, without noise */
.feature,.post,.node,.card,.entry,.stat{
  box-shadow:0 1px 2px rgba(31,35,40,.03);
}
.feature{ box-shadow:0 10px 30px rgba(31,35,40,.06); }

img{ max-width:100%; height:auto; }
