*,*::before,*::after{box-sizing:border-box}
html,body,h1,h2,h3,h4,h5,p,figure,blockquote,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
img,picture,svg,video,canvas{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,textarea,select{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}

:root{
  --navy:#0a1628;
  --navy-2:#0c1a30;
  --navy-3:#11203a;
  --navy-elev:rgba(17,32,58,.62);
  --navy-elev-hi:rgba(17,32,58,.82);
  --cream:#ece4d3;
  --cream-2:#d8cfba;
  --cream-mut:rgba(236,228,211,.62);
  --cream-dim:rgba(236,228,211,.38);
  --gold:#c9a961;
  --gold-hi:#e8d098;
  --gold-soft:rgba(201,169,97,.15);
  --gold-mid:rgba(201,169,97,.32);
  --gold-strong:rgba(201,169,97,.55);
  --emerald:#2f6e5e;
  --emerald-soft:rgba(47,110,94,.22);
  --warn:#b88a3a;
  --line:rgba(201,169,97,.15);
  --line-hi:rgba(201,169,97,.4);
  --hairline:rgba(236,228,211,.08);

  --font-serif:'Fraunces',Georgia,serif;
  --font-sans:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;

  --r-xs:2px;
  --r-sm:4px;
  --r-md:6px;
  --r-lg:10px;

  --shadow-card:0 1px 0 rgba(255,255,255,.03) inset,0 20px 60px -30px rgba(0,0,0,.7);
  --shadow-glow:0 0 0 1px var(--gold-mid),0 18px 50px -22px rgba(201,169,97,.45);

  --ease:cubic-bezier(.2,.9,.3,1);
  --ease-soft:cubic-bezier(.4,0,.2,1);
  --tr-fast:.18s var(--ease);
  --tr:.32s var(--ease);
  --tr-slow:.6s var(--ease);

  --nav-h:72px;
  --maxw:1200px;
  --pad-x:clamp(20px,4vw,40px);

  color-scheme:dark;
}

html{scroll-behavior:smooth}
body{
  font-family:var(--font-sans);
  font-weight:400;
  font-size:16px;
  line-height:1.6;
  color:var(--cream);
  background:var(--navy);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  min-height:100vh;
  overflow-x:hidden;
}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

::selection{background:var(--gold);color:var(--navy)}
