/* XeniaMind landing — page styles on top of the design-system tokens.
   tokens.css ends by remapping the type ramp to the PRODUCTIVE register
   (the mockup's default). This is a brand surface — the reader is reading,
   not working — so restore the EXPRESSIVE register here, per the Quire
   rule: expressive when reading, productive when working; never mix sets
   within one surface. */
:root {
  --display: clamp(2.625rem, 7vw, 4.75rem);
  --display-lh: 1.08;
  --heading-03: 2.25rem;  --heading-03-lh: 2.75rem;
  --heading-02: 1.5rem;   --heading-02-lh: 2rem;
  --body-long: 1.25rem;   --body-long-lh: 2rem;
  --body-short: 1.125rem; --body-short-lh: 1.75rem;
  --label-02: 1rem;       --label-02-lh: 1.25rem;
  --label-01: 0.875rem;   --label-01-lh: 1.125rem;
}

html { font-size: 100%; }
* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--f-serif);
  font-size: var(--body-long);
  line-height: var(--body-long-lh);
  -webkit-font-smoothing: antialiased;
}

.wrap { width: 100%; max-width: 1040px; margin: 0 auto; padding: 0 var(--sp-07); }
main.wrap { flex: 1; display: flex; align-items: center; }

.mast { padding: var(--layout-02) 0; }

.sc {
  font-variant: small-caps;
  letter-spacing: 0.14em;
  text-transform: lowercase;
  font-size: var(--label-02);
  line-height: var(--label-02-lh);
  color: var(--ink-3);
  font-weight: 500;
  margin: 0 0 var(--sp-05);
}

h1 {
  margin: 0;
  font-size: var(--display);
  line-height: var(--display-lh);
  font-weight: 400;
  letter-spacing: -0.02em;
  max-width: 18ch;
}

footer { border-top: 1px solid var(--rule-2); }
footer .mono {
  font-family: var(--f-mono);
  font-size: var(--label-01);
  line-height: var(--label-01-lh);
  letter-spacing: 0.02em;
  color: var(--ink-3);
  padding: var(--sp-06) 0;
  margin: 0;
}

@media (max-width: 480px) {
  .wrap { padding: 0 var(--sp-05); }
}
