:root {

  /* "Concrete Grid" — neobrutalist/architectural direction, sourced from live
     web research (WebSearch, 2026-07-23): neobrutalist web design conventions
     (bold condensed display type, monochrome + one signal accent, modular
     grid) + architecture-portfolio convention (strict grid, single strong
     photo + name, minimal text). Distinct from dwelloryx (warm editorial,
     Lora+Inter, cream/terracotta, full-bleed photo hero) and urbanhavora
     (quiet ma, JP serif/system, washi/indigo, asymmetric split hero):
     aptenclave is loud, structural, data-forward — a spec-sheet for
     architecturally notable Tokyo apartment buildings, not a lifestyle
     journal. Palette: concrete-grey neutrals (warm-tinted, not cold/blue-grey)
     + one signal-orange accent (construction/site-marking convention), no
     terracotta/indigo collision with the rest of the batch. */

  --ink: #1A1A1A;
  --ink-soft: #3D3D3D;
  --muted: #86807A;
  --line: #D9D6D0;
  --line-soft: #E4E1DB;
  --line-strong: #1A1A1A;
  --surface: #FFFFFF;
  --surface-2: #E9E7E2;
  --surface-3: #DFDCD5;

  /* --brand* — the shared style.css/animations.css hardcode this name for
     nav-hover/buttons/badges (same duplication urbanhavora hit); alias it
     to the same ink scale rather than picking a second, divergent color. */
  --brand: #1A1A1A;
  --brand-strong: #0D0D0D;
  --brand-soft: #3D3D3D;
  --brand-tint: rgba(26, 26, 26, 0.05);
  --brand-rgb: 26, 26, 26;

  --bg: #F2F1ED;
  --bg-rgb: 242, 241, 237;

  --accent: #DD4E1C;
  --accent-soft: #C74417;
  --accent-tint: rgba(221, 78, 28, 0.1);
  --accent-rgb: 221, 78, 28;
  --accent-ink: #8F3110;

  --night: #141414;
  --night-2: #0D0D0D;
  --night-rgb: 20, 20, 20;

  --white: #FFFFFF;
  --white-rgb: 255, 255, 255;

  --ok: #2F6B3E;
  --warn: #8F5A10;

  /* Display: self-hosted Anton (Latin-only subset, ~18KB, unicode-range
     restricted — see fonts.css) for brand/eyebrows/numbers; JP headline
     text automatically falls back to bold system gothic in the same font
     stack (no serif anywhere on this site — deliberately not urbanhavora's
     Mincho). Body: system UI sans stack (no self-hosted body face — Anton
     is the one deliberate typographic risk, everything else stays light). */
  --font-display: "Anton Sub", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
  --font-head: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", "Hiragino Sans", sans-serif;
  --font-body: -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "IBM Plex Mono", "Cascadia Code", monospace;

  --radius-sm: 0;
  --radius: 0;
  --radius-lg: 0;
  --radius-xl: 0;
  --shadow-sm: 0 2px 0 rgba(26, 26, 26, 0.08);
  --shadow: 0 4px 0 rgba(26, 26, 26, 0.1);
  --shadow-lg: 0 8px 0 rgba(26, 26, 26, 0.12);

  --container: 1160px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --topbar-h: calc(4.6rem + var(--safe-top));

  --space-3xs: 0.25rem;
  --space-2xs: 0.375rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 2.5rem;
  --space-3xl: 3.5rem;

  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
}
