/* Intenibris brand tokens (logo kit "The Beam", Jeff 11-10): bone on void, no accent colour, Cinzel for display.
   Restraint is the brand: state is shown by fill, weight and the beam glow, never by colour. */
@font-face { font-family:"Cinzel"; font-weight:400; font-style:normal; font-display:swap; src:url("fonts/cinzel-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family:"Cinzel"; font-weight:700; font-style:normal; font-display:swap; src:url("fonts/cinzel-latin-700-normal.woff2") format("woff2"); }
:root {
  --bone:#E8E4DA; --void:#0A0A0A; --halo:#191918; --glow:#363533;
  --bone-70:rgba(232,228,218,.72); --bone-50:rgba(232,228,218,.5); --bone-30:rgba(232,228,218,.3); --bone-15:rgba(232,228,218,.15); --bone-07:rgba(232,228,218,.07);
  --display:"Cinzel", "Trajan Pro", Georgia, serif;
  --read:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
}

/* Type scale (12/15/17/21/28/40/56) and space (4/8). Cinzel for display and labels only, never for body text. */
:root {
  --t-12:12px; --t-15:15px; --t-17:17px; --t-21:21px; --t-28:28px; --t-40:40px; --t-56:56px;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-6:24px; --s-8:32px; --s-12:48px;
  --radius:2px; --panel:#121211; --ease:cubic-bezier(.2,.7,.2,1);
}

/* Buttons: primary (bone fill), secondary (bone outline), ghost (text link). 44px minimum target, 2px corners, state by fill and ring, never colour. */
.ib-btn { display:inline-flex; align-items:center; justify-content:center; gap:var(--s-2); min-height:44px; padding:10px 24px;
  border-radius:var(--radius); border:1px solid var(--bone); font:700 14px/1 var(--display); letter-spacing:.2em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; transition:box-shadow .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease); }
.ib-btn:focus-visible { outline:2px solid var(--bone); outline-offset:4px; }
.ib-btn:active { transform:translateY(1px); }
.ib-btn[disabled], .ib-btn[aria-disabled="true"] { opacity:.4; cursor:not-allowed; box-shadow:none; transform:none; }
.ib-primary { background:var(--bone); color:var(--void); }
.ib-primary:hover { box-shadow:0 0 0 6px var(--bone-15), 0 0 0 14px var(--bone-07); }
.ib-secondary { background:transparent; color:var(--bone); border-color:var(--bone-30); }
.ib-secondary:hover { border-color:var(--bone); background:var(--bone-07); }
.ib-ghost { background:none; border-color:transparent; color:var(--bone-70); font:var(--t-15)/1.4 var(--read); letter-spacing:0; text-transform:none;
  text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--bone-30); padding:10px 4px; }
.ib-ghost:hover { color:var(--bone); text-decoration-color:var(--bone); }
@media (prefers-reduced-motion: reduce) { .ib-btn { transition:none; } }
