/* base.css — resets + tokens */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; }
img, svg, video { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; }
a { color: inherit; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); border: 0;
}

:root {
  /* Arctic editorial palette — custom, not Nexus */
  --ink:            #0F1B2A;       /* midnight ink */
  --ink-soft:       #26364B;
  --paper:          #F6F1E7;       /* warm cream */
  --paper-alt:      #EEE7D6;       /* deeper cream, alt sections */
  --paper-white:    #FDFBF6;
  --line:           #D9D0BC;
  --line-soft:      #E7DFCB;
  --muted:          #6B7891;
  --accent:         #B87333;       /* copper — Arctic sunset */
  --accent-soft:    #D9975A;
  --sea:            #204862;       /* deep sea */
  --sea-2:          #315C77;
  --ice:            #C2D4E2;
  --success:        #4A8062;
  --hold:           #C48B3E;
  --taken:          #A94A3A;

  /* Type scale */
  --text-xs:  0.75rem;   /* 12 */
  --text-sm:  0.875rem;  /* 14 */
  --text-base: 1rem;     /* 16 */
  --text-md:  1.125rem;  /* 18 */
  --text-lg:  1.35rem;   /* 21.6 */
  --text-xl:  1.75rem;   /* 28 */
  --text-2xl: 2.25rem;   /* 36 */
  --text-3xl: 3rem;      /* 48 */
  --text-4xl: 4rem;      /* 64 */
  --text-hero: clamp(2.5rem, 6vw, 5.5rem);

  /* Spacing */
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem;
  --s-5: 1.5rem; --s-6: 2rem; --s-7: 3rem; --s-8: 4rem;
  --s-9: 6rem; --s-10: 8rem;

  /* Fonts */
  --font-display: 'Boska', 'Iowan Old Style', Georgia, serif;
  --font-body: 'Satoshi', 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --radius: 10px;
  --radius-lg: 18px;
  --shadow: 0 30px 80px -30px rgba(15,27,42,.25);
  --shadow-sm: 0 4px 16px -6px rgba(15,27,42,.15);
  --ease: cubic-bezier(.6,.05,.2,1);
  --dur: 380ms;
}

body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  font-size: var(--text-base);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.015em;
  line-height: 1.08;
  margin: 0;
}
p { margin: 0 0 var(--s-4); }

::selection { background: var(--accent); color: var(--paper-white); }
