/* ═══════════════════════════════════════════════════════════════
   Humanuity — shared fonts, tokens and reset for the sub-pages.
   (index.html carries the same block inline; keep the two in sync.)
   ═══════════════════════════════════════════════════════════════ */
@font-face{font-family:"Inter";src:url("fonts/InterVariable.woff2") format("woff2-variations"),url("fonts/InterVariable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"SF Pro Display";src:url("fonts/SFPRODISPLAYREGULAR.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"SF Pro Display";src:url("fonts/SFPRODISPLAYMEDIUM.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"SF Pro Display";src:url("fonts/SFPRODISPLAYBOLD.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}

:root{
  --purple-300:#B98DF7; --purple-400:#9C68F1; --purple-500:#7C3AED;
  --blue-400:#60A5FA; --blue-500:#3B82F6;
  --bg-0:#08080A;
  --fg-1:#F5F5F7; --fg-2:#A1A1AA; --fg-3:#71717A; --fg-4:#52525B;
  --border:rgba(255,255,255,0.08); --border-strong:rgba(255,255,255,0.14);
  --glass-04:rgba(255,255,255,0.04); --glass-06:rgba(255,255,255,0.06);
  --font-display:"SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif;
  --font-text:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  --ease-standard:cubic-bezier(0.23,1,0.32,1);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--bg-0);color:var(--fg-1);font-family:var(--font-text);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;position:relative;min-height:100%;}

/* one soft aurora wash at the top so the sub-pages feel part of the site */
.wash{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.wash i{position:absolute;border-radius:50%;filter:blur(100px);display:block;}
.wash i.w1{width:60vw;height:60vw;left:-18vw;top:-30vw;opacity:0.34;
  background:radial-gradient(circle at 50% 50%, #7C3AED 0%, rgba(124,58,237,0) 68%);}
.wash i.w2{width:52vw;height:52vw;right:-16vw;top:-24vw;opacity:0.26;
  background:radial-gradient(circle at 50% 50%, #3B82F6 0%, rgba(59,130,246,0) 68%);}
.wash::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,8,10,0) 0,rgba(8,8,10,0.7) 55%,#08080A 100%);}

.grain{position:fixed;inset:0;z-index:6;pointer-events:none;opacity:0.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

@keyframes rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,0.45);}70%{box-shadow:0 0 0 8px rgba(34,197,94,0);}100%{box-shadow:0 0 0 0 rgba(34,197,94,0);}}
