/* ==========================================================================
   Kami — Design Tokens
   All colour, type, spacing and timing values live here as custom properties.
   No hardcoded values elsewhere.
   ========================================================================== */

:root {
	/* --- Colour ------------------------------------------------------------ */
	--kami-bg: #F5F0E8;          /* kinari 生成り — unbleached cloth */
	--kami-text: #1A1A1A;        /* sumi ink */
	--kami-secondary: #8C8578;   /* aged wood */
	--kami-accent: #2D4A6F;      /* aizome indigo */
	--kami-highlight: #C4A265;   /* kitsuchi 黄土 gold */
	--kami-dark: #0F0F0F;        /* nav overlay bg */

	/* Tints derived for hairlines, washes and states */
	--kami-line: rgba(26, 26, 26, 0.14);
	--kami-line-soft: rgba(26, 26, 26, 0.08);
	--kami-bg-warm: #EFE8DD;     /* slightly deeper kinari for alt sections */
	--kami-overlay-wash: rgba(15, 15, 15, 0.28); /* hero text legibility */
	--kami-overlay-strong: rgba(15, 15, 15, 0.5);

	/* --- Typography -------------------------------------------------------- */
	--font-sans: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-serif-jp: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;

	/* Major-third type scale (1.25) */
	--fs-xxl: 3.052rem;
	--fs-xl: 2.441rem;
	--fs-lg: 1.953rem;
	--fs-md: 1.563rem;
	--fs-sm: 1.25rem;
	--fs-base: 1rem;
	--fs-small: 0.8rem;

	--lh-tight: 1.15;
	--lh-snug: 1.4;
	--lh-base: 1.7;
	--lh-loose: 1.85;

	--ls-wide: 0.18em;   /* lowercase nav / labels */
	--ls-mid: 0.06em;
	--ls-tight: -0.01em;

	--fw-light: 300;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;

	/* --- Spacing scale ---------------------------------------------------- */
	--space-3xs: 0.25rem;
	--space-2xs: 0.5rem;
	--space-xs: 0.75rem;
	--space-sm: 1rem;
	--space-md: 2rem;
	--space-lg: 4rem;
	--space-xl: 6rem;
	--space-2xl: 8rem;
	--space-3xl: 11rem;

	--section-pad: clamp(3.75rem, 9vw, 7.5rem);   /* 60px → 120px */
	--container-max: 1200px;
	--container-pad: clamp(1.25rem, 5vw, 3rem);
	--measure: 68ch;       /* readable line length */
	--measure-narrow: 44ch;

	/* --- Motion ----------------------------------------------------------- */
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
	--dur-fast: 0.3s;
	--dur-mid: 0.6s;
	--dur-slow: 0.9s;
	--reveal-shift: 30px;

	/* --- Z-index scale ---------------------------------------------------- */
	--z-base: 1;
	--z-header: 100;
	--z-overlay: 1000;
	--z-skiplink: 1100;
}

/* Slightly tighten the scale on small screens */
@media (max-width: 768px) {
	:root {
		--fs-xxl: 2.441rem;
		--fs-xl: 1.953rem;
		--fs-lg: 1.563rem;
		--fs-md: 1.25rem;
	}
}
