/*
 * site.css — ahuman.fun/human, framework-free rebuild.
 *
 * Curated VERBATIM from the original compiled stylesheet
 *   _next/static/immutable/chunks/26pt2l9oc1asp.css  (Tailwind v4 + tw-animate-css + shadcn tokens + custom classes)
 * Selectors, escaping and values are unchanged. Only rules for classes the page never renders were left out
 * (listed in reports/designer.md). Do not "fix" odd-looking values such as `filter:blur()` (= blur(0)),
 * `translate(0)` or `--lightningcss-dark: ;` — they are the compiler's output and render identically.
 *
 * Cascade notes
 *  - Layer order is pinned below and is identical to the original's first-appearance order.
 *  - Everything outside @layer (fonts' helper class, shadcn :root/.dark tokens, the custom components such as
 *    .hero-recede / .manifesto-line / .trailer-card / .wall-mark) is UNLAYERED and therefore beats every
 *    utility regardless of specificity — exactly as on the live site.
 *  - <html> must carry class "cinzel_8535cd02-module__uV0qfG__variable" (defines --font-cinzel),
 *    <body> class "antialiased", and <main> class "dark ..." (shadcn dark tokens: --foreground etc.).
 */

@layer properties, theme, base, components, utilities;

/* ==========================================================================
   1. TOKENS
   Tailwind theme variables (@layer theme), shadcn light/dark tokens (unlayered),
   @property registrations, and the @layer properties fallback for browsers without @property.
   ========================================================================== */

@layer theme {
  :root,:host {
    --font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --spacing:.25rem;
    --container-5xl:64rem;
    --container-7xl:80rem;
    --text-xs:.75rem;
    --text-xs--line-height:calc(1 / .75);
    --text-sm:.875rem;
    --text-sm--line-height:calc(1.25 / .875);
    --text-base:1rem;
    --text-base--line-height:calc(1.5 / 1);
    --text-2xl:1.5rem;
    --text-2xl--line-height:calc(2 / 1.5);
    --text-3xl:1.875rem;
    --text-3xl--line-height:calc(2.25 / 1.875);
    --text-4xl:2.25rem;
    --text-4xl--line-height:calc(2.5 / 2.25);
    --text-5xl:3rem;
    --text-5xl--line-height:1;
    --text-6xl:3.75rem;
    --text-6xl--line-height:1;
    --text-7xl:4.5rem;
    --text-7xl--line-height:1;
    --text-9xl:8rem;
    --text-9xl--line-height:1;
    --font-weight-medium:500;
    --font-weight-semibold:600;
    --font-weight-bold:700;
    --font-weight-black:900;
    --tracking-tighter:-.05em;
    --tracking-tight:-.025em;
    --leading-tight:1.25;
    --leading-relaxed:1.625;
    --radius-md:calc(var(--radius) * .8);
    --blur-sm:8px;
    --blur-md:12px;
    --default-transition-duration:.15s;
    --default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);
    --default-font-family:var(--font-sans);
    --default-mono-font-family:var(--font-mono);
    --color-ice:#d5ecf8;
    --color-ice-edge:#b4d3e32e;
    --color-blood:#d60016;
    --color-void:#030202;
    --color-ember:#b97340;
    --color-bone:#f9f8f6;
  }
  @supports (color:lab(0% 0 0)) {
    :root,:host {
      --color-ice:lab(91.9908% -6.23932 -8.69906);
      --color-ice-edge:lab(82.7418% -8.19221 -11.539/.18);
      --color-blood:lab(45.3521% 75.9981 61.0045);
      --color-void:lab(.655142% .171706 .211358);
      --color-ember:lab(55.3976% 24.8155 39.4478);
      --color-bone:lab(97.6924% .0796616 1.13988);
    }
  }
}

/* shadcn/ui tokens. Light by default on :root; the page sets class "dark" on <main>.
   Also switches on prefers-color-scheme: dark for :root:not(.light) (affects body background only). */

:root {
  --lightningcss-light:initial;
  --lightningcss-dark: ;
  color-scheme:light;
  --background:#fff;
  --foreground:#0a0a0a;
  --card:#fff;
  --card-foreground:#0a0a0a;
  --popover:#fff;
  --popover-foreground:#0a0a0a;
  --primary:#171717;
  --primary-foreground:#fafafa;
  --secondary:#f5f5f5;
  --secondary-foreground:#171717;
  --muted:#f5f5f5;
  --muted-foreground:#737373;
  --accent:#f5f5f5;
  --accent-foreground:#171717;
  --destructive:#e40014;
  --border:#e5e5e5;
  --input:#e5e5e5;
  --ring:#a1a1a1;
  --chart-1:#d4d4d4;
  --chart-2:#737373;
  --chart-3:#525252;
  --chart-4:#404040;
  --chart-5:#262626;
  --radius:.625rem;
  --sidebar:#fafafa;
  --sidebar-foreground:#0a0a0a;
  --sidebar-primary:#171717;
  --sidebar-primary-foreground:#fafafa;
  --sidebar-accent:#f5f5f5;
  --sidebar-accent-foreground:#171717;
  --sidebar-border:#e5e5e5;
  --sidebar-ring:#a1a1a1;
}
@supports (color:lab(0% 0 0)) {
  :root {
    --background:lab(100% 0 0);
    --foreground:lab(2.75381% 0 0);
    --card:lab(100% 0 0);
    --card-foreground:lab(2.75381% 0 0);
    --popover:lab(100% 0 0);
    --popover-foreground:lab(2.75381% 0 0);
    --primary:lab(7.78201% -.0000149012 0);
    --primary-foreground:lab(98.26% 0 0);
    --secondary:lab(96.52% -.0000298023 .0000119209);
    --secondary-foreground:lab(7.78201% -.0000149012 0);
    --muted:lab(96.52% -.0000298023 .0000119209);
    --muted-foreground:lab(48.496% 0 0);
    --accent:lab(96.52% -.0000298023 .0000119209);
    --accent-foreground:lab(7.78201% -.0000149012 0);
    --destructive:lab(48.4493% 77.4328 61.5452);
    --border:lab(90.952% 0 -.0000119209);
    --input:lab(90.952% 0 -.0000119209);
    --ring:lab(66.128% -.0000298023 .0000119209);
    --chart-1:lab(84.92% 0 -.0000119209);
    --chart-2:lab(48.496% 0 0);
    --chart-3:lab(34.924% 0 0);
    --chart-4:lab(27.036% 0 0);
    --chart-5:lab(15.204% 0 -.00000596046);
    --sidebar:lab(98.26% 0 0);
    --sidebar-foreground:lab(2.75381% 0 0);
    --sidebar-primary:lab(7.78201% -.0000149012 0);
    --sidebar-primary-foreground:lab(98.26% 0 0);
    --sidebar-accent:lab(96.52% -.0000298023 .0000119209);
    --sidebar-accent-foreground:lab(7.78201% -.0000149012 0);
    --sidebar-border:lab(90.952% 0 -.0000119209);
    --sidebar-ring:lab(66.128% -.0000298023 .0000119209);
  }
}
.dark {
  --lightningcss-light: ;
  --lightningcss-dark:initial;
  color-scheme:dark;
  --background:#0a0a0a;
  --foreground:#fafafa;
  --card:#171717;
  --card-foreground:#fafafa;
  --popover:#171717;
  --popover-foreground:#fafafa;
  --primary:#e5e5e5;
  --primary-foreground:#171717;
  --secondary:#262626;
  --secondary-foreground:#fafafa;
  --muted:#262626;
  --muted-foreground:#a1a1a1;
  --accent:#262626;
  --accent-foreground:#fafafa;
  --destructive:#ff6568;
  --border:#ffffff1a;
  --input:#ffffff26;
  --ring:#737373;
  --chart-1:#d4d4d4;
  --chart-2:#737373;
  --chart-3:#525252;
  --chart-4:#404040;
  --chart-5:#262626;
  --sidebar:#171717;
  --sidebar-foreground:#fafafa;
  --sidebar-primary:#1447e6;
  --sidebar-primary-foreground:#fafafa;
  --sidebar-accent:#262626;
  --sidebar-accent-foreground:#fafafa;
  --sidebar-border:#ffffff1a;
  --sidebar-ring:#737373;
}
@supports (color:lab(0% 0 0)) {
  .dark {
    --background:lab(2.75381% 0 0);
    --foreground:lab(98.26% 0 0);
    --card:lab(7.78201% -.0000149012 0);
    --card-foreground:lab(98.26% 0 0);
    --popover:lab(7.78201% -.0000149012 0);
    --popover-foreground:lab(98.26% 0 0);
    --primary:lab(90.952% 0 -.0000119209);
    --primary-foreground:lab(7.78201% -.0000149012 0);
    --secondary:lab(15.204% 0 -.00000596046);
    --secondary-foreground:lab(98.26% 0 0);
    --muted:lab(15.204% 0 -.00000596046);
    --muted-foreground:lab(66.128% -.0000298023 .0000119209);
    --accent:lab(15.204% 0 -.00000596046);
    --accent-foreground:lab(98.26% 0 0);
    --destructive:lab(63.7053% 60.745 31.3109);
    --border:lab(100% 0 0/.1);
    --input:lab(100% 0 0/.15);
    --ring:lab(48.496% 0 0);
    --chart-1:lab(84.92% 0 -.0000119209);
    --chart-2:lab(48.496% 0 0);
    --chart-3:lab(34.924% 0 0);
    --chart-4:lab(27.036% 0 0);
    --chart-5:lab(15.204% 0 -.00000596046);
    --sidebar:lab(7.78201% -.0000149012 0);
    --sidebar-foreground:lab(98.26% 0 0);
    --sidebar-primary:lab(36.9089% 35.0961 -85.6872);
    --sidebar-primary-foreground:lab(98.26% 0 0);
    --sidebar-accent:lab(15.204% 0 -.00000596046);
    --sidebar-accent-foreground:lab(98.26% 0 0);
    --sidebar-border:lab(100% 0 0/.1);
    --sidebar-ring:lab(48.496% 0 0);
  }
}
@media (prefers-color-scheme:dark) {
  :root:not(.light) {
    --lightningcss-light: ;
    --lightningcss-dark:initial;
    color-scheme:dark;
    --background:#0a0a0a;
    --foreground:#fafafa;
    --card:#171717;
    --card-foreground:#fafafa;
    --popover:#171717;
    --popover-foreground:#fafafa;
    --primary:#e5e5e5;
    --primary-foreground:#171717;
    --secondary:#262626;
    --secondary-foreground:#fafafa;
    --muted:#262626;
    --muted-foreground:#a1a1a1;
    --accent:#262626;
    --accent-foreground:#fafafa;
    --destructive:#ff6568;
    --border:#ffffff1a;
    --input:#ffffff26;
    --ring:#737373;
    --chart-1:#d4d4d4;
    --chart-2:#737373;
    --chart-3:#525252;
    --chart-4:#404040;
    --chart-5:#262626;
    --sidebar:#171717;
    --sidebar-foreground:#fafafa;
    --sidebar-primary:#1447e6;
    --sidebar-primary-foreground:#fafafa;
    --sidebar-accent:#262626;
    --sidebar-accent-foreground:#fafafa;
    --sidebar-border:#ffffff1a;
    --sidebar-ring:#737373;
  }
  @supports (color:lab(0% 0 0)) {
    :root:not(.light) {
      --background:lab(2.75381% 0 0);
      --foreground:lab(98.26% 0 0);
      --card:lab(7.78201% -.0000149012 0);
      --card-foreground:lab(98.26% 0 0);
      --popover:lab(7.78201% -.0000149012 0);
      --popover-foreground:lab(98.26% 0 0);
      --primary:lab(90.952% 0 -.0000119209);
      --primary-foreground:lab(7.78201% -.0000149012 0);
      --secondary:lab(15.204% 0 -.00000596046);
      --secondary-foreground:lab(98.26% 0 0);
      --muted:lab(15.204% 0 -.00000596046);
      --muted-foreground:lab(66.128% -.0000298023 .0000119209);
      --accent:lab(15.204% 0 -.00000596046);
      --accent-foreground:lab(98.26% 0 0);
      --destructive:lab(63.7053% 60.745 31.3109);
      --border:lab(100% 0 0/.1);
      --input:lab(100% 0 0/.15);
      --ring:lab(48.496% 0 0);
      --chart-1:lab(84.92% 0 -.0000119209);
      --chart-2:lab(48.496% 0 0);
      --chart-3:lab(34.924% 0 0);
      --chart-4:lab(27.036% 0 0);
      --chart-5:lab(15.204% 0 -.00000596046);
      --sidebar:lab(7.78201% -.0000149012 0);
      --sidebar-foreground:lab(98.26% 0 0);
      --sidebar-primary:lab(36.9089% 35.0961 -85.6872);
      --sidebar-primary-foreground:lab(98.26% 0 0);
      --sidebar-accent:lab(15.204% 0 -.00000596046);
      --sidebar-accent-foreground:lab(98.26% 0 0);
      --sidebar-border:lab(100% 0 0/.1);
      --sidebar-ring:lab(48.496% 0 0);
    }
  }
}

/* Registered custom properties (Tailwind v4 core + tw-animate-css). */

@property --tw-animation-delay {
  syntax:"*";
  inherits:false;
  initial-value:0s;
}
@property --tw-animation-direction {
  syntax:"*";
  inherits:false;
  initial-value:normal;
}
@property --tw-animation-duration {
  syntax:"*";
  inherits:false;
}
@property --tw-animation-fill-mode {
  syntax:"*";
  inherits:false;
  initial-value:none;
}
@property --tw-animation-iteration-count {
  syntax:"*";
  inherits:false;
  initial-value:1;
}
@property --tw-enter-blur {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-enter-opacity {
  syntax:"*";
  inherits:false;
  initial-value:1;
}
@property --tw-enter-rotate {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-enter-scale {
  syntax:"*";
  inherits:false;
  initial-value:1;
}
@property --tw-enter-translate-x {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-enter-translate-y {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-exit-blur {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-exit-opacity {
  syntax:"*";
  inherits:false;
  initial-value:1;
}
@property --tw-exit-rotate {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-exit-scale {
  syntax:"*";
  inherits:false;
  initial-value:1;
}
@property --tw-exit-translate-x {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-exit-translate-y {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --scroll-fade-t {
  syntax:"<length-percentage>";
  inherits:false;
  initial-value:0;
}
@property --scroll-fade-b {
  syntax:"<length-percentage>";
  inherits:false;
  initial-value:0;
}
@property --scroll-fade-s {
  syntax:"<length-percentage>";
  inherits:false;
  initial-value:0;
}
@property --scroll-fade-e {
  syntax:"<length-percentage>";
  inherits:false;
  initial-value:0;
}
@property --scroll-fade-mask {
  syntax:"*";
  inherits:false;
}
@property --shimmer-angle {
  syntax:"<angle>";
  inherits:true;
  initial-value:20deg;
}
@property --shimmer-image {
  syntax:"*";
  inherits:false;
}
@property --shimmer-text-fill {
  syntax:"*";
  inherits:false;
}
@property --tw-translate-x {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-translate-y {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-translate-z {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-rotate-x {
  syntax:"*";
  inherits:false;
}
@property --tw-rotate-y {
  syntax:"*";
  inherits:false;
}
@property --tw-rotate-z {
  syntax:"*";
  inherits:false;
}
@property --tw-skew-x {
  syntax:"*";
  inherits:false;
}
@property --tw-skew-y {
  syntax:"*";
  inherits:false;
}
@property --tw-divide-x-reverse {
  syntax:"*";
  inherits:false;
  initial-value:0;
}
@property --tw-border-style {
  syntax:"*";
  inherits:false;
  initial-value:solid;
}
@property --tw-leading {
  syntax:"*";
  inherits:false;
}
@property --tw-font-weight {
  syntax:"*";
  inherits:false;
}
@property --tw-tracking {
  syntax:"*";
  inherits:false;
}
@property --tw-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000;
}
@property --tw-shadow-color {
  syntax:"*";
  inherits:false;
}
@property --tw-shadow-alpha {
  syntax:"<percentage>";
  inherits:false;
  initial-value:100%;
}
@property --tw-inset-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax:"*";
  inherits:false;
}
@property --tw-inset-shadow-alpha {
  syntax:"<percentage>";
  inherits:false;
  initial-value:100%;
}
@property --tw-ring-color {
  syntax:"*";
  inherits:false;
}
@property --tw-ring-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax:"*";
  inherits:false;
}
@property --tw-inset-ring-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000;
}
@property --tw-ring-inset {
  syntax:"*";
  inherits:false;
}
@property --tw-ring-offset-width {
  syntax:"<length>";
  inherits:false;
  initial-value:0;
}
@property --tw-ring-offset-color {
  syntax:"*";
  inherits:false;
  initial-value:#fff;
}
@property --tw-ring-offset-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000;
}
@property --tw-outline-style {
  syntax:"*";
  inherits:false;
  initial-value:solid;
}
@property --tw-blur {
  syntax:"*";
  inherits:false;
}
@property --tw-brightness {
  syntax:"*";
  inherits:false;
}
@property --tw-contrast {
  syntax:"*";
  inherits:false;
}
@property --tw-grayscale {
  syntax:"*";
  inherits:false;
}
@property --tw-hue-rotate {
  syntax:"*";
  inherits:false;
}
@property --tw-invert {
  syntax:"*";
  inherits:false;
}
@property --tw-opacity {
  syntax:"*";
  inherits:false;
}
@property --tw-saturate {
  syntax:"*";
  inherits:false;
}
@property --tw-sepia {
  syntax:"*";
  inherits:false;
}
@property --tw-drop-shadow {
  syntax:"*";
  inherits:false;
}
@property --tw-drop-shadow-color {
  syntax:"*";
  inherits:false;
}
@property --tw-drop-shadow-alpha {
  syntax:"<percentage>";
  inherits:false;
  initial-value:100%;
}
@property --tw-drop-shadow-size {
  syntax:"*";
  inherits:false;
}
@property --tw-backdrop-blur {
  syntax:"*";
  inherits:false;
}
@property --tw-backdrop-brightness {
  syntax:"*";
  inherits:false;
}
@property --tw-backdrop-contrast {
  syntax:"*";
  inherits:false;
}
@property --tw-backdrop-grayscale {
  syntax:"*";
  inherits:false;
}
@property --tw-backdrop-hue-rotate {
  syntax:"*";
  inherits:false;
}
@property --tw-backdrop-invert {
  syntax:"*";
  inherits:false;
}
@property --tw-backdrop-opacity {
  syntax:"*";
  inherits:false;
}
@property --tw-backdrop-saturate {
  syntax:"*";
  inherits:false;
}
@property --tw-backdrop-sepia {
  syntax:"*";
  inherits:false;
}
@property --tw-duration {
  syntax:"*";
  inherits:false;
}

/* Fallback initial values for engines without @property support (Safari < 16.4 / Firefox < 128). */

@layer properties {
  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
    :root,:host {
      --shimmer-angle:20deg;
    }
    *,:before,:after,::backdrop {
      --tw-translate-x:0;
      --tw-translate-y:0;
      --tw-translate-z:0;
      --tw-rotate-x:initial;
      --tw-rotate-y:initial;
      --tw-rotate-z:initial;
      --tw-skew-x:initial;
      --tw-skew-y:initial;
      --tw-divide-x-reverse:0;
      --tw-border-style:solid;
      --tw-leading:initial;
      --tw-font-weight:initial;
      --tw-tracking:initial;
      --tw-shadow:0 0 #0000;
      --tw-shadow-color:initial;
      --tw-shadow-alpha:100%;
      --tw-inset-shadow:0 0 #0000;
      --tw-inset-shadow-color:initial;
      --tw-inset-shadow-alpha:100%;
      --tw-ring-color:initial;
      --tw-ring-shadow:0 0 #0000;
      --tw-inset-ring-color:initial;
      --tw-inset-ring-shadow:0 0 #0000;
      --tw-ring-inset:initial;
      --tw-ring-offset-width:0px;
      --tw-ring-offset-color:#fff;
      --tw-ring-offset-shadow:0 0 #0000;
      --tw-outline-style:solid;
      --tw-blur:initial;
      --tw-brightness:initial;
      --tw-contrast:initial;
      --tw-grayscale:initial;
      --tw-hue-rotate:initial;
      --tw-invert:initial;
      --tw-opacity:initial;
      --tw-saturate:initial;
      --tw-sepia:initial;
      --tw-drop-shadow:initial;
      --tw-drop-shadow-color:initial;
      --tw-drop-shadow-alpha:100%;
      --tw-drop-shadow-size:initial;
      --tw-backdrop-blur:initial;
      --tw-backdrop-brightness:initial;
      --tw-backdrop-contrast:initial;
      --tw-backdrop-grayscale:initial;
      --tw-backdrop-hue-rotate:initial;
      --tw-backdrop-invert:initial;
      --tw-backdrop-opacity:initial;
      --tw-backdrop-saturate:initial;
      --tw-backdrop-sepia:initial;
      --tw-duration:initial;
      --tw-animation-delay:0s;
      --tw-animation-direction:normal;
      --tw-animation-duration:initial;
      --tw-animation-fill-mode:none;
      --tw-animation-iteration-count:1;
      --tw-enter-blur:0;
      --tw-enter-opacity:1;
      --tw-enter-rotate:0;
      --tw-enter-scale:1;
      --tw-enter-translate-x:0;
      --tw-enter-translate-y:0;
      --tw-exit-blur:0;
      --tw-exit-opacity:1;
      --tw-exit-rotate:0;
      --tw-exit-scale:1;
      --tw-exit-translate-x:0;
      --tw-exit-translate-y:0;
      --scroll-fade-t:0px;
      --scroll-fade-b:0px;
      --scroll-fade-s:0px;
      --scroll-fade-e:0px;
      --scroll-fade-mask:initial;
      --shimmer-image:initial;
      --shimmer-text-fill:initial;
    }
  }
}

/* ==========================================================================
   2. FONTS
   Cinzel v2.000 variable font (wght 400–900) self-hosted by next/font, subset into
   latin + latin-ext, declared at weights 600 and 700. "Cinzel Fallback" is next/font's
   metric-matched Times New Roman face (size-adjust/ascent/descent overrides) — keep it.
   font-display: var(--font-cinzel), "Trajan Pro", serif   (see .font-display)
   font-sans / font-mono: Tailwind system stacks (no webfont).
   ========================================================================== */

@font-face {
  font-family:Cinzel;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/cinzel-latin-ext.woff2")format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:Cinzel;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/cinzel-latin.woff2")format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:Cinzel;
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/cinzel-latin-ext.woff2")format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:Cinzel;
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/cinzel-latin.woff2")format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:Cinzel Fallback;
  src:local(Times New Roman);
  ascent-override:71.31%;
  descent-override:27.18%;
  line-gap-override:0.0%;
  size-adjust:136.86%;
}

.cinzel_8535cd02-module__uV0qfG__variable {
  --font-cinzel:"Cinzel", "Cinzel Fallback";
}

/* ==========================================================================
   3. BASE
   Tailwind v4 preflight + shadcn base (* border/outline colour, body background/colour).
   ========================================================================== */

@layer base {
  *,:after,:before,::backdrop {
    box-sizing:border-box;
    border:0 solid;
    margin:0;
    padding:0;
  }
  ::file-selector-button {
    box-sizing:border-box;
    border:0 solid;
    margin:0;
    padding:0;
  }
  html,:host {
    -webkit-text-size-adjust:100%;
    tab-size:4;
    line-height:1.5;
    font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings:var(--default-font-feature-settings,normal);
    font-variation-settings:var(--default-font-variation-settings,normal);
    -webkit-tap-highlight-color:transparent;
  }
  hr {
    height:0;
    color:inherit;
    border-top-width:1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration:underline dotted;
    text-decoration:underline dotted;
  }
  h1,h2,h3,h4,h5,h6 {
    font-size:inherit;
    font-weight:inherit;
  }
  a {
    color:inherit;
    -webkit-text-decoration:inherit;
    -webkit-text-decoration:inherit;
    -webkit-text-decoration:inherit;
    -webkit-text-decoration:inherit;
    text-decoration:inherit;
  }
  b,strong {
    font-weight:bolder;
  }
  code,kbd,samp,pre {
    font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings:var(--default-mono-font-feature-settings,normal);
    font-variation-settings:var(--default-mono-font-variation-settings,normal);
    font-size:1em;
  }
  small {
    font-size:80%;
  }
  sub,sup {
    vertical-align:baseline;
    font-size:75%;
    line-height:0;
    position:relative;
  }
  sub {
    bottom:-.25em;
  }
  sup {
    top:-.5em;
  }
  table {
    text-indent:0;
    border-color:inherit;
    border-collapse:collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline:auto;
  }
  progress {
    vertical-align:baseline;
  }
  summary {
    display:list-item;
  }
  ol,ul,menu {
    list-style:none;
  }
  img,svg,video,canvas,audio,iframe,embed,object {
    vertical-align:middle;
    display:block;
  }
  img,video {
    max-width:100%;
    height:auto;
  }
  button,input,select,optgroup,textarea {
    font:inherit;
    font-feature-settings:inherit;
    font-variation-settings:inherit;
    letter-spacing:inherit;
    color:inherit;
    opacity:1;
    background-color:#0000;
    border-radius:0;
  }
  ::file-selector-button {
    font:inherit;
    font-feature-settings:inherit;
    font-variation-settings:inherit;
    letter-spacing:inherit;
    color:inherit;
    opacity:1;
    background-color:#0000;
    border-radius:0;
  }
  :where(select:is([multiple],[size])) optgroup {
    font-weight:bolder;
  }
  :where(select:is([multiple],[size])) optgroup option {
    padding-inline-start:20px;
  }
  ::file-selector-button {
    margin-inline-end:4px;
  }
  ::placeholder {
    opacity:1;
  }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
    ::placeholder {
      color:currentColor;
    }
    @supports (color:color-mix(in lab, red, red)) {
      ::placeholder {
        color:color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize:vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance:none;
  }
  ::-webkit-date-and-time-value {
    min-height:1lh;
    text-align:inherit;
  }
  ::-webkit-datetime-edit {
    display:inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding:0;
  }
  ::-webkit-datetime-edit {
    padding-block:0;
  }
  ::-webkit-datetime-edit-year-field {
    padding-block:0;
  }
  ::-webkit-datetime-edit-month-field {
    padding-block:0;
  }
  ::-webkit-datetime-edit-day-field {
    padding-block:0;
  }
  ::-webkit-datetime-edit-hour-field {
    padding-block:0;
  }
  ::-webkit-datetime-edit-minute-field {
    padding-block:0;
  }
  ::-webkit-datetime-edit-second-field {
    padding-block:0;
  }
  ::-webkit-datetime-edit-millisecond-field {
    padding-block:0;
  }
  ::-webkit-datetime-edit-meridiem-field {
    padding-block:0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height:1;
  }
  :-moz-ui-invalid {
    box-shadow:none;
  }
  button,input:where([type=button],[type=reset],[type=submit]) {
    appearance:button;
  }
  ::file-selector-button {
    appearance:button;
  }
  ::-webkit-inner-spin-button {
    height:auto;
  }
  ::-webkit-outer-spin-button {
    height:auto;
  }
  [hidden]:where(:not([hidden=until-found])) {
    display:none!important;
  }
  * {
    border-color:var(--border);
    outline-color:var(--ring);
  }
  @supports (color:color-mix(in lab, red, red)) {
    * {
      outline-color:color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }
  body {
    background-color:var(--background);
    color:var(--foreground);
  }
}

/* ==========================================================================
   4. UTILITIES
   Tailwind utilities used by the page, in the original order (order = cascade).
   ========================================================================== */

@layer components;

@layer utilities {
  /* -- interactivity, visibility, position -- */
  .pointer-events-auto {
    pointer-events:auto;
  }
  .pointer-events-none {
    pointer-events:none;
  }
  .sr-only {
    clip-path:inset(50%);
    white-space:nowrap;
    border-width:0;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    position:absolute;
    overflow:hidden;
  }
  .absolute {
    position:absolute;
  }
  .fixed {
    position:fixed;
  }
  .relative {
    position:relative;
  }
  .sticky {
    position:sticky;
  }
  /* -- inset / top / right / bottom / left -- */
  .-inset-1\/2 {
    inset:-50%;
  }
  .inset-0 {
    inset:0;
  }
  .inset-x-0 {
    inset-inline:0;
  }
  .top-0 {
    top:0;
  }
  .top-1\/2 {
    top:50%;
  }
  .top-6 {
    top:calc(var(--spacing) * 6);
  }
  .top-\[5\.5vh\] {
    top:5.5vh;
  }
  .top-\[15\%\] {
    top:15%;
  }
  .top-\[16\%\] {
    top:16%;
  }
  .top-\[20\%\] {
    top:20%;
  }
  .top-\[70\%\] {
    top:70%;
  }
  .right-6 {
    right:calc(var(--spacing) * 6);
  }
  .bottom-0 {
    bottom:0;
  }
  .bottom-8 {
    bottom:calc(var(--spacing) * 8);
  }
  .bottom-16 {
    bottom:calc(var(--spacing) * 16);
  }
  .bottom-\[5\.5vh\] {
    bottom:5.5vh;
  }
  .bottom-\[12\%\] {
    bottom:12%;
  }
  .bottom-\[16\%\] {
    bottom:16%;
  }
  .left-1\/2 {
    left:50%;
  }
  /* -- isolation, z-index (wall z-0, sections z-10, overlays z-20, header/buttons z-30) -- */
  .isolate {
    isolation:isolate;
  }
  .z-0 {
    z-index:0;
  }
  .z-10 {
    z-index:10;
  }
  .z-20 {
    z-index:20;
  }
  .z-30 {
    z-index:30;
  }
  /* -- margin -- */
  .m-auto {
    margin:auto;
  }
  .mx-auto {
    margin-inline:auto;
  }
  .-mt-\[100dvh\] {
    margin-top:-100dvh;
  }
  /* -- display, aspect ratio -- */
  .flex {
    display:flex;
  }
  .aspect-square {
    aspect-ratio:1;
  }
  /* -- sizing -- */
  .size-4 {
    width:calc(var(--spacing) * 4);
    height:calc(var(--spacing) * 4);
  }
  .size-full {
    width:100%;
    height:100%;
  }
  .h-11 {
    height:calc(var(--spacing) * 11);
  }
  .h-12 {
    height:calc(var(--spacing) * 12);
  }
  .h-14 {
    height:calc(var(--spacing) * 14);
  }
  .h-\[11vh\] {
    height:11vh;
  }
  .h-\[50dvh\] {
    height:50dvh;
  }
  .h-\[200dvh\] {
    height:200dvh;
  }
  .h-\[400dvh\] {
    height:400dvh;
  }
  .h-\[600dvh\] {
    height:600dvh;
  }
  .h-dvh {
    height:100dvh;
  }
  .h-px {
    height:1px;
  }
  .min-h-dvh {
    min-height:100dvh;
  }
  .w-\[min\(92vw\,30rem\)\] {
    width:min(92vw,30rem);
  }
  .w-full {
    width:100%;
  }
  .w-px {
    width:1px;
  }
  .max-w-5xl {
    max-width:var(--container-5xl);
  }
  .max-w-7xl {
    max-width:var(--container-7xl);
  }
  .max-w-full {
    max-width:100%;
  }
  /* -- flex-shrink, transform origin, translate -- */
  .shrink-0 {
    flex-shrink:0;
  }
  .origin-bottom {
    transform-origin:bottom;
  }
  .origin-top {
    transform-origin:top;
  }
  .-translate-x-1\/2 {
    --tw-translate-x:calc(calc(1 / 2 * 100%) * -1);
    translate:var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y:calc(calc(1 / 2 * 100%) * -1);
    translate:var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-1\/2 {
    --tw-translate-y:calc(1 / 2 * 100%);
    translate:var(--tw-translate-x) var(--tw-translate-y);
  }
  /* -- animation utilities (keyframes at the end of the file) -- */
  .animate-blood-rise {
    animation:3.1s ease-in both blood-rise;
  }
  .animate-intro-exit {
    animation:.8s ease-in both intro-exit;
  }
  .animate-land {
    animation:.9s ease-out both land;
  }
  .animate-paper-in {
    animation:1.6s ease-out both paper-in;
  }
  .animate-slam-shake {
    animation:.5s linear both slam-shake;
  }
  /* -- cursor, touch, flexbox, gap -- */
  .cursor-crosshair {
    cursor:crosshair;
  }
  .touch-none {
    touch-action:none;
  }
  .flex-col {
    flex-direction:column;
  }
  .flex-wrap {
    flex-wrap:wrap;
  }
  .items-center {
    align-items:center;
  }
  .justify-between {
    justify-content:space-between;
  }
  .justify-center {
    justify-content:center;
  }
  .gap-1 {
    gap:var(--spacing);
  }
  .gap-2 {
    gap:calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap:calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap:calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap:calc(var(--spacing) * 5);
  }
  .gap-8 {
    gap:calc(var(--spacing) * 8);
  }
  /* -- divide (header link bar) -- */
  :where(.divide-x>:not(:last-child)) {
    --tw-divide-x-reverse:0;
    border-inline-style:var(--tw-border-style);
    border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));
    border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }
  :where(.divide-ember\/35>:not(:last-child)) {
    border-color:#b9734059;
    border-color:lab(55.3976% 24.8155 39.4478/.35);
  }
  /* -- overflow -- */
  .truncate {
    text-overflow:ellipsis;
    white-space:nowrap;
    overflow:hidden;
  }
  .overflow-hidden {
    overflow:hidden;
  }
  /* -- borders -- */
  .border {
    border-style:var(--tw-border-style);
    border-width:1px;
  }
  .border-t {
    border-top-style:var(--tw-border-style);
    border-top-width:1px;
  }
  .border-r {
    border-right-style:var(--tw-border-style);
    border-right-width:1px;
  }
  .border-dashed {
    --tw-border-style:dashed;
    border-style:dashed;
  }
  .border-ember\/20 {
    border-color:#b9734033;
    border-color:lab(55.3976% 24.8155 39.4478/.2);
  }
  .border-ember\/30 {
    border-color:#b973404d;
    border-color:lab(55.3976% 24.8155 39.4478/.3);
  }
  .border-ember\/35 {
    border-color:#b9734059;
    border-color:lab(55.3976% 24.8155 39.4478/.35);
  }
  /* -- backgrounds -- */
  .bg-blood {
    background-color:#d60016;
    background-color:lab(45.3521% 75.9981 61.0045);
  }
  .bg-blood\/35 {
    background-color:#d6001659;
    background-color:lab(45.3521% 75.9982 61.0049/.35);
  }
  .bg-bone\/60 {
    background-color:#f9f8f699;
    background-color:lab(97.6924% .0796616 1.13988/.6);
  }
  .bg-ember {
    background-color:#b97340;
    background-color:lab(55.3976% 24.8155 39.4478);
  }
  .bg-ember\/\[0\.04\] {
    background-color:#b973400a;
    background-color:lab(55.3976% 24.8155 39.4478/.04);
  }
  .bg-ice\/8 {
    background-color:#d5ecf814;
    background-color:lab(91.9908% -6.23932 -8.69904/.08);
  }
  .bg-void {
    background-color:#030202;
    background-color:lab(.655142% .171706 .211358);
  }
  .bg-void\/50 {
    background-color:#03020280;
    background-color:lab(.655142% .171706 .211358/.5);
  }
  /* -- mask (frosted glass; mask-image is set inline by JS) -- */
  .\[mask-size\:100\%_100\%\] {
    -webkit-mask-size:100% 100%;
    mask-size:100% 100%;
  }
  .\[mask-repeat\:no-repeat\] {
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
  }
  /* -- padding -- */
  .p-0 {
    padding:0;
  }
  .p-6 {
    padding:calc(var(--spacing) * 6);
  }
  .px-4 {
    padding-inline:calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline:calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline:calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline:calc(var(--spacing) * 8);
  }
  .py-8 {
    padding-block:calc(var(--spacing) * 8);
  }
  .pr-3 {
    padding-right:calc(var(--spacing) * 3);
  }
  .pl-\[0\.3em\] {
    padding-left:.3em;
  }
  .pl-\[0\.6em\] {
    padding-left:.6em;
  }
  .pl-\[0\.12em\] {
    padding-left:.12em;
  }
  .pl-\[0\.18em\] {
    padding-left:.18em;
  }
  /* -- typography: alignment, families, sizes, leading, weight, tracking -- */
  .text-center {
    text-align:center;
  }
  .font-display {
    font-family:var(--font-cinzel), "Trajan Pro", serif;
  }
  .font-mono {
    font-family:var(--font-mono);
  }
  .font-sans {
    font-family:var(--font-sans);
  }
  .text-2xl {
    font-size:var(--text-2xl);
    line-height:var(--tw-leading,var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size:var(--text-3xl);
    line-height:var(--tw-leading,var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size:var(--text-4xl);
    line-height:var(--tw-leading,var(--text-4xl--line-height));
  }
  .text-6xl {
    font-size:var(--text-6xl);
    line-height:var(--tw-leading,var(--text-6xl--line-height));
  }
  .text-sm {
    font-size:var(--text-sm);
    line-height:var(--tw-leading,var(--text-sm--line-height));
  }
  .text-xs {
    font-size:var(--text-xs);
    line-height:var(--tw-leading,var(--text-xs--line-height));
  }
  .text-\[22vw\] {
    font-size:22vw;
  }
  .leading-none {
    --tw-leading:1;
    line-height:1;
  }
  .leading-relaxed {
    --tw-leading:var(--leading-relaxed);
    line-height:var(--leading-relaxed);
  }
  .leading-tight {
    --tw-leading:var(--leading-tight);
    line-height:var(--leading-tight);
  }
  .font-black {
    --tw-font-weight:var(--font-weight-black);
    font-weight:var(--font-weight-black);
  }
  .font-bold {
    --tw-font-weight:var(--font-weight-bold);
    font-weight:var(--font-weight-bold);
  }
  .font-semibold {
    --tw-font-weight:var(--font-weight-semibold);
    font-weight:var(--font-weight-semibold);
  }
  .tracking-\[0\.3em\] {
    --tw-tracking:.3em;
    letter-spacing:.3em;
  }
  .tracking-\[0\.4em\] {
    --tw-tracking:.4em;
    letter-spacing:.4em;
  }
  .tracking-\[0\.6em\] {
    --tw-tracking:.6em;
    letter-spacing:.6em;
  }
  .tracking-\[0\.18em\] {
    --tw-tracking:.18em;
    letter-spacing:.18em;
  }
  .tracking-\[0\.25em\] {
    --tw-tracking:.25em;
    letter-spacing:.25em;
  }
  .tracking-\[0\.35em\] {
    --tw-tracking:.35em;
    letter-spacing:.35em;
  }
  .tracking-tight {
    --tw-tracking:var(--tracking-tight);
    letter-spacing:var(--tracking-tight);
  }
  .tracking-tighter {
    --tw-tracking:var(--tracking-tighter);
    letter-spacing:var(--tracking-tighter);
  }
  .text-balance {
    text-wrap:balance;
  }
  .whitespace-nowrap {
    white-space:nowrap;
  }
  /* -- text colour, case -- */
  .text-bone {
    color:#f9f8f6;
    color:lab(97.6924% .0796616 1.13988);
  }
  .text-bone\/40 {
    color:#f9f8f666;
    color:lab(97.6924% .0796616 1.13988/.4);
  }
  .text-bone\/60 {
    color:#f9f8f699;
    color:lab(97.6924% .0796616 1.13988/.6);
  }
  .text-bone\/70 {
    color:#f9f8f6b3;
    color:lab(97.6924% .0796616 1.13988/.7);
  }
  .text-bone\/80 {
    color:#f9f8f6cc;
    color:lab(97.6924% .0796616 1.13988/.8);
  }
  .text-ember {
    color:#b97340;
    color:lab(55.3976% 24.8155 39.4478);
  }
  .text-ember\/25 {
    color:#b9734040;
    color:lab(55.3976% 24.8155 39.4478/.25);
  }
  .text-foreground {
    color:var(--foreground);
  }
  .text-void {
    color:#030202;
    color:lab(.655142% .171706 .211358);
  }
  .uppercase {
    text-transform:uppercase;
  }
  .antialiased {
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  /* -- opacity, blend modes, shadows, backdrop filter -- */
  .opacity-0 {
    opacity:0;
  }
  .opacity-20 {
    opacity:.2;
  }
  .mix-blend-color {
    mix-blend-mode:color;
  }
  .mix-blend-difference {
    mix-blend-mode:difference;
  }
  .mix-blend-overlay {
    mix-blend-mode:overlay;
  }
  .shadow-\[inset_0_0_160px_40px_var\(--color-ice-edge\)\] {
    --tw-shadow:inset 0 0 160px 40px var(--tw-shadow-color,var(--color-ice-edge));
    box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[inset_0_0_240px_80px_var\(--color-blood\)\] {
    --tw-shadow:inset 0 0 240px 80px var(--tw-shadow-color,var(--color-blood));
    box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur:blur(var(--blur-md));
    -webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  /* -- transitions -- */
  .transition-colors {
    transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;
    transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));
    transition-duration:var(--tw-duration,var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property:opacity;
    transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));
    transition-duration:var(--tw-duration,var(--default-transition-duration));
  }
  .duration-700 {
    --tw-duration:.7s;
    transition-duration:.7s;
  }
  .select-none {
    -webkit-user-select:none;
    user-select:none;
  }
  /* -- arbitrary properties -- */
  .\[text-shadow\:0_2px_24px_var\(--color-void\)\] {
    text-shadow:0 2px 24px var(--color-void);
  }
  .\[text-shadow\:0_2px_30px_var\(--color-void\)\] {
    text-shadow:0 2px 30px var(--color-void);
  }
  .\[writing-mode\:vertical-rl\] {
    writing-mode:vertical-rl;
  }
  /* -- <dialog> ::backdrop variants -- */
  .backdrop\:bg-void\/85::backdrop {
    background-color:#030202d9;
    background-color:lab(.655142% .171706 .211358/.85);
  }
  .backdrop\:backdrop-blur-sm::backdrop {
    --tw-backdrop-blur:blur(var(--blur-sm));
    -webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  /* -- hover variants (only applied on hover-capable devices) -- */
  @media (hover:hover) {
    .hover\:border-ember\/70:hover {
      border-color:#b97340b3;
      border-color:lab(55.3976% 24.8155 39.4478/.7);
    }
    .hover\:bg-ember\/10:hover {
      background-color:#b973401a;
      background-color:lab(55.3976% 24.8155 39.4478/.1);
    }
    .hover\:bg-ember\/85:hover {
      background-color:#b97340d9;
      background-color:lab(55.3976% 24.8155 39.4478/.85);
    }
    .hover\:text-ember:hover {
      color:#b97340;
      color:lab(55.3976% 24.8155 39.4478);
    }
    .hover\:text-void:hover {
      color:#030202;
      color:lab(.655142% .171706 .211358);
    }
  }
  /* -- focus-visible / disabled variants -- */
  .focus-visible\:outline-2:focus-visible {
    outline-style:var(--tw-outline-style);
    outline-width:2px;
  }
  .focus-visible\:outline-offset-2:focus-visible {
    outline-offset:2px;
  }
  .focus-visible\:outline-offset-4:focus-visible {
    outline-offset:4px;
  }
  .focus-visible\:outline-ember:focus-visible {
    outline-color:#b97340;
    outline-color:lab(55.3976% 24.8155 39.4478);
  }
  .disabled\:cursor-default:disabled {
    cursor:default;
  }
  .disabled\:cursor-not-allowed:disabled {
    cursor:not-allowed;
  }
  .disabled\:opacity-40:disabled {
    opacity:.4;
  }
  @media (hover:hover) {
    .disabled\:hover\:border-ember\/35:disabled:hover {
      border-color:#b9734059;
      border-color:lab(55.3976% 24.8155 39.4478/.35);
    }
    .disabled\:hover\:bg-void\/50:disabled:hover {
      background-color:#03020280;
      background-color:lab(.655142% .171706 .211358/.5);
    }
  }
  /* -- md: (min-width 48rem = 768px) variants -- */
  @media (min-width:48rem) {
    .md\:top-10 {
      top:calc(var(--spacing) * 10);
    }
    .md\:right-10 {
      right:calc(var(--spacing) * 10);
    }
    .md\:bottom-20 {
      bottom:calc(var(--spacing) * 20);
    }
    .md\:h-16 {
      height:calc(var(--spacing) * 16);
    }
    .md\:w-auto {
      width:auto;
    }
    .md\:flex-row {
      flex-direction:row;
    }
    .md\:px-10 {
      padding-inline:calc(var(--spacing) * 10);
    }
    .md\:text-5xl {
      font-size:var(--text-5xl);
      line-height:var(--tw-leading,var(--text-5xl--line-height));
    }
    .md\:text-6xl {
      font-size:var(--text-6xl);
      line-height:var(--tw-leading,var(--text-6xl--line-height));
    }
    .md\:text-7xl {
      font-size:var(--text-7xl);
      line-height:var(--tw-leading,var(--text-7xl--line-height));
    }
    .md\:text-9xl {
      font-size:var(--text-9xl);
      line-height:var(--tw-leading,var(--text-9xl--line-height));
    }
    .md\:text-base {
      font-size:var(--text-base);
      line-height:var(--tw-leading,var(--text-base--line-height));
    }
    .md\:text-\[9rem\] {
      font-size:9rem;
    }
  }
}

/* ==========================================================================
   5. COMPONENTS
   Custom, UNLAYERED classes (beat utilities). Original relative order preserved.
   Scroll-driven ones read --p (0–1) written by JS on their <section>/scroll container.
   ========================================================================== */

.shadow-glow {
  background:radial-gradient(38% 46% at 50% 62%,#b9734057,#0000 70%),radial-gradient(22% 30% at 38% 48%,#b9734029,#0000 70%);
}
@supports (color:color-mix(in lab, red, red)) {
  .shadow-glow {
    background:radial-gradient(38% 46% at 50% 62%, color-mix(in oklch, var(--color-ember) 34%, transparent), transparent 70%), radial-gradient(22% 30% at 38% 48%, color-mix(in oklch, var(--color-ember) 16%, transparent), transparent 70%);
  }
}
.shadow-glow {
  animation:14s ease-in-out infinite alternate glow-drift;
}
.shadow-vignette {
  background:radial-gradient(75% 85% at 50% 60%, transparent 45%, var(--color-void) 100%);
}
.hero-recede {
  transform-origin:50% 70%;
  transform:scale(calc(1 - var(--p,0) * .08));
  opacity:clamp(0, 1 - var(--p,0) * 1.15, 1);
}
.hero-title-spread {
  letter-spacing:calc(-.05em + var(--p,0) * .45em);
}
.hero-fade-out {
  opacity:clamp(0, 1 - var(--p,0) * 4, 1);
}
.scroll-line {
  transform-origin:top;
  animation:2.2s ease-in-out infinite scroll-line;
}
.manifesto-line {
  --in:clamp(0, (var(--p,0) - var(--start)) / .04, 1);
  --out:clamp(0, (var(--end) - var(--p,0)) / .04, 1);
  --o:calc(var(--in) * var(--out));
  opacity:var(--o);
  transform:translateY(calc((1 - var(--in)) * 2rem));
  filter:blur(calc((1 - var(--o)) * 10px));
}
.trailer-card {
  opacity:0;
  animation-name:trailer-card;
  animation-timing-function:ease-in-out;
  animation-fill-mode:both;
}
.title-reveal {
  color:var(--color-bone);
  animation:1.5s cubic-bezier(.16,1,.3,1) both title-reveal;
}
.title-flare {
  background:linear-gradient(90deg, transparent, var(--color-ice) 30%, var(--color-bone) 50%, var(--color-ice) 70%, transparent);
  box-shadow:0 0 18px 2px #d5ecf8b3;
}
@supports (color:color-mix(in lab, red, red)) {
  .title-flare {
    box-shadow:0 0 18px 2px color-mix(in oklch, var(--color-ice) 70%, transparent);
  }
}
.title-flare {
  animation:1.8s cubic-bezier(.16,1,.3,1) both title-flare;
}
.title-credit {
  animation:1.4s ease-out both title-credit;
}
@media (prefers-reduced-motion:reduce) {
  .title-reveal,.title-flare,.title-credit {
    animation-duration:10ms;
  }
}
.letterbox {
  animation:.9s cubic-bezier(.22,1,.36,1) both letterbox-in;
}
.header-link {
  transition:color .35s,letter-spacing .45s cubic-bezier(.22,1,.36,1);
}
.header-link:before {
  content:"";
  z-index:-1;
  background:var(--color-ember);
  transform-origin:bottom;
  transition:transform .45s cubic-bezier(.22,1,.36,1);
  position:absolute;
  inset:0;
  transform:scaleY(0);
}
.header-link:hover,.header-link:focus-visible {
  letter-spacing:.42em;
}
.header-link:hover:before,.header-link:focus-visible:before {
  transform:scaleY(1);
}
.header-link-solid:before {
  background:var(--color-bone);
}
@media (prefers-reduced-motion:reduce) {
  .header-link,.header-link:before {
    transition:none;
  }
}
.wall-mark {
  width:clamp(64px,7vw,140px);
  height:auto;
  color:var(--color-bone);
  opacity:.16;
  position:absolute;
}
.wall-mark-new {
  animation:3.5s ease-out both wall-mark-in;
}
.backdrop-noise {
  opacity:.26;
  mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  animation:.8s steps(5,end) infinite noise-shift;
}
.film-noise {
  opacity:.18;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:.9s steps(6,end) infinite noise-shift;
}
@media (prefers-reduced-motion:reduce) {
  .shadow-glow,.film-noise,.backdrop-noise,.scroll-line {
    animation:none;
  }
}

/* ==========================================================================
   6. KEYFRAMES
   ========================================================================== */

@keyframes glow-drift {
  0% {
    opacity:.75;
    transform:translate(-3%,1%)scale(1);
  }
  50% {
    opacity:1;
    transform:translate(2%,-2%)scale(1.08);
  }
  to {
    opacity:.8;
    transform:translate(4%,2%)scale(.96);
  }
}
@keyframes scroll-line {
  0% {
    transform-origin:top;
    transform:scaleY(0);
  }
  45% {
    transform-origin:top;
    transform:scaleY(1);
  }
  55% {
    transform-origin:bottom;
    transform:scaleY(1);
  }
  to {
    transform-origin:bottom;
    transform:scaleY(0);
  }
}
@keyframes trailer-card {
  0% {
    opacity:0;
    filter:blur(10px);
    transform:scale(1.04);
  }
  25% {
    opacity:1;
    filter:blur();
  }
  75% {
    opacity:1;
    filter:blur();
  }
  to {
    opacity:0;
    filter:blur(6px);
    transform:scale(.98);
  }
}
@keyframes title-reveal {
  0% {
    opacity:0;
    letter-spacing:.55em;
    filter:blur(20px);
    transform:scale(1.12);
  }
  35% {
    opacity:1;
  }
  to {
    opacity:1;
    letter-spacing:.12em;
    filter:blur();
    transform:scale(1);
  }
}
@keyframes title-flare {
  0% {
    opacity:0;
    transform:scaleX(0);
  }
  18% {
    opacity:1;
    transform:scaleX(1);
  }
  to {
    opacity:0;
    transform:scaleX(1.15);
  }
}
@keyframes title-credit {
  0% {
    opacity:0;
    filter:blur(6px);
  }
  to {
    opacity:1;
    filter:blur();
  }
}
@keyframes letterbox-in {
  0% {
    transform:scaleY(0);
  }
  to {
    transform:scaleY(1);
  }
}
@keyframes wall-mark-in {
  0% {
    opacity:0;
  }
  15% {
    opacity:.85;
  }
  to {
    opacity:.3;
  }
}
@keyframes noise-shift {
  0% {
    transform:translate(0);
  }
  20% {
    transform:translate(-4%,3%);
  }
  40% {
    transform:translate(3%,-5%);
  }
  60% {
    transform:translate(-6%,-2%);
  }
  80% {
    transform:translate(5%,4%);
  }
  to {
    transform:translate(0);
  }
}
@keyframes paper-in {
  0% {
    opacity:0;
    filter:brightness(.3);
  }
  to {
    opacity:1;
    filter:brightness();
  }
}
@keyframes blood-rise {
  0% {
    opacity:0;
  }
  to {
    opacity:1;
  }
}
@keyframes slam-shake {
  0%,to {
    transform:translate(0);
  }
  15% {
    transform:translate(-14px,8px);
  }
  30% {
    transform:translate(12px,-10px);
  }
  45% {
    transform:translate(-8px,6px);
  }
  60% {
    transform:translate(6px,-4px);
  }
  80% {
    transform:translate(-3px,2px);
  }
}
@keyframes intro-exit {
  0% {
    opacity:1;
    filter:brightness();
  }
  30% {
    opacity:1;
    filter:brightness(2.2);
  }
  to {
    opacity:0;
    filter:brightness();
  }
}
@keyframes land {
  0% {
    opacity:0;
    transform:translateY(12px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}

/* ---------------------------------------------------------------- fix: clickable header (owner request)
   The original keeps the header's entrance animation applied after it ends (fill-mode "both"), which leaves a
   transform on <header>. That turned its position:fixed link bar and CA button into children of the header,
   painted underneath the hero layer, so taps never reached them. Releasing the animation when it finishes
   ("backwards") looks identical (the last frame is opacity 1, no offset) but lets the bar stay fixed on top and
   receive clicks. */
header.animate-land { animation-fill-mode: backwards; }

/* ---------------------------------------------------------------- fix: phones (below the md breakpoint)
   Now that the header is clickable, the CA button (top-right) would cover the "Community" link on narrow screens.
   On phones it sits centred just under the link bar, slightly more compact; the hero tagline keeps clear of it. */
@media (max-width: 47.99rem) {
  header.animate-land > button { top: 5.25rem; right: auto; left: 50%; transform: translateX(-50%); height: 2.5rem; padding-inline: 1rem; font-size: .75rem; }
  p.hero-fade-out { top: max(15%, 8.5rem); }
}
