/* Airy Digital — site styles. Built on brand-v1 tokens. */

@font-face { font-family:"Outfit"; font-weight:300; font-display:swap; src:url("font/Outfit-300.woff2") format("woff2"); }
@font-face { font-family:"Outfit"; font-weight:400; font-display:swap; src:url("font/Outfit-400.woff2") format("woff2"); }
@font-face { font-family:"Outfit"; font-weight:500; font-display:swap; src:url("font/Outfit-500.woff2") format("woff2"); }
@font-face { font-family:"Outfit"; font-weight:600; font-display:swap; src:url("font/Outfit-600.woff2") format("woff2"); }
@font-face { font-family:"Outfit"; font-weight:700; font-display:swap; src:url("font/Outfit-700.woff2") format("woff2"); }

:root {
  --onyx:#141619; --graphite:#1D1F24; --mist:#8C9099;
  --violet:#6A53F5; --violet-dark:#5B43D6;
  --vapor:#F2F3F5; --hairline:#2C2F36;
  --font:"Outfit", ui-sans-serif, system-ui, sans-serif;
  --maxw:1080px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--onyx); color:var(--vapor);
  font-family:var(--font); font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  min-height:100vh; display:flex; flex-direction:column;
  line-height:1.6;
}

/* ambient: one soft violet glow, top-center. Restraint: a single light source. */
body::before {
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(60% 50% at 50% -10%, rgba(106,83,245,0.16), transparent 70%),
    radial-gradient(40% 40% at 85% 110%, rgba(106,83,245,0.06), transparent 70%);
}

a { color:inherit; text-decoration:none; }

/* ---- chrome: nav + footer, shared ---- */
.nav, .foot { position:relative; z-index:2; width:100%; max-width:var(--maxw);
  margin:0 auto; padding:28px 32px; display:flex; align-items:center; justify-content:space-between; }
.nav img { height:30px; display:block; }
.nav img.brandmark { height:34px; width:34px; border:1px solid var(--hairline); }
.nav .links { display:flex; gap:28px; font-size:15px; font-weight:500; color:var(--mist); }
.nav .links a { transition:color .18s ease; }
.nav .links a:hover, .nav .links a.active { color:var(--vapor); }

.foot { padding:28px 32px 36px; color:var(--mist); font-size:13px;
  border-top:1px solid var(--hairline); }
.foot .dot { color:var(--violet); }
.foot span:last-child { opacity:.7; }
.foot a { color:var(--mist); transition:color .18s ease; }
.foot a:hover { color:var(--vapor); }

/* ---- shared content frame ---- */
main { position:relative; z-index:1; flex:1; width:100%; max-width:var(--maxw);
  margin:0 auto; padding:0 32px; display:flex; flex-direction:column; justify-content:center; }

.accent { color:var(--violet); }

@media (max-width:640px) {
  .nav, .foot { padding-left:22px; padding-right:22px; }
  main { padding:0 22px; }
  .nav .links { gap:20px; }
}
