/* ─────────────────────────────────────────────────────────────
   熊野古道KURA — Shared design tokens (per WEBSITE_SPEC v2)
   ───────────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Shippori+Mincho:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

:root {
  /* Paper palette — Variation A (Sei / 静謐) */
  --paper: #F4EFE8;
  --paper-deep: #E8DDD3;
  --paper-soft: #FAF7F2;
  --ink: #2A2A26;
  --ink-soft: rgba(42, 42, 38, 0.62);
  --ink-faint: rgba(42, 42, 38, 0.32);
  --hairline: rgba(42, 42, 38, 0.14);
  --moss: #3D4A35;
  --moss-deep: #2A3424;
  --moss-soft: rgba(61, 74, 53, 0.78);
  --vermillion: #A85542;
  --vermillion-deep: #8C4332;
  --hinoki: #D4B896;
  --hinoki-deep: #B89870;

  /* Typography stacks */
  --serif-en: "Cormorant Garamond", "EB Garamond", Georgia, serif;
  --mincho: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", "游明朝", serif;
  --serif-ja: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  --sans-ja: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;

  /* Scales */
  --rad-sm: 2px;
  --rad-md: 4px;
  --rad-lg: 10px;
  --shadow-card: 0 1px 2px rgba(42,42,38,.04), 0 12px 36px -18px rgba(42,42,38,.18);
  --shadow-deep: 0 30px 80px -40px rgba(42,42,38,.45);

  /* Easings */
  --ease-quart: cubic-bezier(.77,0,.18,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

/* ─── Reset / base ─── */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { overflow-x: hidden; }
body {
  font-family: var(--serif-ja);
  font-weight: 400;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.7;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  text-wrap: pretty;
  word-break: normal;
  line-break: strict;
  overflow-wrap: anywhere;
}

/* Japanese-friendly headings — try auto-phrase where supported */
h1, h2, h3, h4, h5, p {
  text-wrap: pretty;
}
@supports (word-break: auto-phrase) {
  h1, h2, h3, h4, h5, .k-hero__sub, .k-room__copy p, .k-concept__quote, .k-concept__prose p, .k-usp__col p, .k-nearby__feature__copy p, .k-nearby__card__desc {
    word-break: auto-phrase;
  }
}
img { display: block; max-width: 100%; height: auto; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
a { color: inherit; text-decoration: none; }

/* Selection */
::selection { background: var(--moss); color: var(--paper); }

/* Reduce-motion guard */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }
}
