/* Elite Custom Websites — shared design system.
   Tokens + primitives used by every page. Page-specific styles stay
   in each page's own <style> block, which loads after this file. */

:root{
  --ink:#13100C;
  --ink-2:#1A1712;
  --ink-3:#221E18;
  --ivory:#F2EDE2;
  --ivory-dim:#B8B0A2;
  --taupe:#8C8578;
  --brass:#C9A961;
  --brass-soft:#A98F55;
  --line:rgba(242,237,226,.12);
  --line-brass:rgba(201,169,97,.35);
  --max:1200px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:var(--ink);
  color:var(--ivory);
  font-family:'Instrument Sans',sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
/* film-grain overlay */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}
::selection{background:var(--brass);color:var(--ink)}
h1,h2,h3,.serif{font-family:'Fraunces',serif;font-weight:400;letter-spacing:-.01em}
.mono{font-family:'IBM Plex Mono',monospace}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--brass);display:flex;align-items:center;gap:14px;
}
.eyebrow::before{content:"";display:block;width:32px;height:1px;background:var(--line-brass)}
.logo{font-family:'Fraunces',serif;font-size:19px}
.logo em{font-style:italic;color:var(--brass)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;border-radius:100px;
  font-size:15px;font-weight:500;transition:background .3s,color .3s,border-color .3s;cursor:pointer;
  border:1px solid transparent;font-family:'Instrument Sans',sans-serif;will-change:transform;
}
.btn-brass{background:var(--brass);color:var(--ink)}
.btn-brass:hover{background:var(--ivory)}
.btn-ghost{border-color:var(--line);color:var(--ivory)}
.btn-ghost:hover{border-color:var(--line-brass)}
footer{border-top:1px solid var(--line);padding:40px 0}
.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;color:var(--taupe);font-size:13px}
/* scroll reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.rv.in{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
