@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url('/assets/fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/jost-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/jost-latin-500-normal.woff2') format('woff2'); }

:root {
  /* Colour — "light paper, dark film, one red" */
  --c-paper: #FFFFFF;
  --c-wing: #F4F2EF;
  --c-rule: #E2DDD7;
  --c-ink: #16130F;
  --c-muted: #5C554E;
  --c-film: #0E0C0B;
  --c-film-text: #EDE6DC;
  --c-film-soft: #CFC7BD;
  --c-film-muted: #A39A91;
  --c-film-rule: #2A2421;
  --c-placeholder: #B9B2A9;
  --c-sindoor: #B8322A;

  /* Line-work on film */
  --c-line-1: #5A5048;
  --c-line-2: #3E3632;
  --c-line-3: #2C2623;
  --c-placeholder-dim: #8A817A;

  /* Type */
  --f-display: 'Cormorant Garamond', 'Times New Roman', serif;
  --f-body: 'Jost', system-ui, sans-serif;
  --fw-regular: 400;
  --fw-medium: 500;

  --fs-label-xs: 11px;
  --fs-label: 12px;
  --fs-small: 13px;
  --fs-meta: 14px;
  --fs-body-s: 15px;
  --fs-body: 17px;
  --fs-body-l: 18px;
  --fs-lede: 19px;
  --fs-h-card: 26px;
  --fs-h-tile: 30px;
  --fs-h-pillar: 40px;
  --fs-marquee: 34px;
  --fs-wordmark: 19px;
  --fs-beat: clamp(22px, 2.6vw, 34px);
  --fs-question: clamp(23px, 2.8vw, 40px);
  --fs-intro: clamp(27px, 3.4vw, 48px);
  --fs-h2: clamp(36px, 4.4vw, 64px);
  --fs-h2-caps: clamp(48px, 6vw, 88px);
  --fs-hero-name: clamp(30px, 9.4vw, 40px);
  --fs-hero-name-wide: clamp(40px, 6.2vw, 96px);
  --fs-research-h1: clamp(52px, 7.4vw, 116px);
  --fs-project-h1: clamp(64px, 11vw, 176px);
  --fs-feature: clamp(56px, 8vw, 120px);
  --fs-next: clamp(44px, 6vw, 96px);
  --fs-email: clamp(36px, 6vw, 88px);
  --fs-pillars-band: clamp(80px, 12vw, 200px);
  --fs-epigraph: clamp(24px, 2.6vw, 34px);
  --fs-question-l: clamp(30px, 3vw, 44px);

  --lh-tight: 0.92;
  --lh-display: 1;
  --lh-heading: 1.16;
  --lh-snug: 1.3;
  --lh-body: 1.65;

  --ls-caps-xl: 0.26em;
  --ls-caps-l: 0.22em;
  --ls-caps: 0.18em;
  --ls-caps-s: 0.14em;
  --ls-display: 0.12em;
  --ls-display-s: 0.06em;

  /* Space */
  --gutter: clamp(20px, 4vw, 56px);
  --max-w: 1440px;
  --inner-w: 1328px;
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 40px;
  --s-8: 56px;
  --s-9: 64px;
  --s-10: 96px;
  --s-11: 120px;
  --s-12: clamp(96px, 11vw, 160px);
  --s-section: clamp(72px, 9vw, 120px);

  --tap: 44px;
  --radius-pill: 999px;
  --radius-reel: 4px;

  /* Motion — long, soft, film-like */
  --ease-film: cubic-bezier(.2, .7, .2, 1);
  --ease-draw: cubic-bezier(.3, .6, .2, 1);
  --d-fast: .4s;
  --d-med: .8s;
  --d-slow: 1.3s;
  --d-still: 1.2s;
  --d-follow: 1.4s;
}
