/* NNiNN renewal — design tokens
   Source of truth: design/00-Design-Guide.html + assets/reference/top-pc-mock.png
   Fonts (Google Fonts):
   https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&family=Noto+Sans+JP:wght@400;500&family=DM+Sans:wght@500&family=EB+Garamond:ital@0;1&display=swap
*/
:root {
  /* color */
  --c-bg: #F4F3EE;        /* page background */
  --c-paper: #FBFAF7;     /* cards, form surface */
  --c-sage: #E2E7DE;      /* band sections */
  --c-sage-line: #C5CCC1; /* rules on sage */
  --c-line: #D8D6CE;      /* rules, card borders */
  --c-ink: #1C201E;       /* headings, primary text */
  --c-ink-2: #474C48;     /* body text */
  --c-muted: #666B66;     /* captions / labels (lightest allowed on bg) */
  --c-muted-on-sage: #5C615C; /* muted text on --c-sage (4.5:1 を確保。#666B66 だと 4.33) */
  --c-blue: #0A4BCB;      /* accent: primary CTA, dots, icons */
  --c-blue-hover: #083CA3;
  --c-blue-tint: #E4EAF8; /* icon circle bg, selected radio bg (#EEF2FB) */
  --c-dark: #252A27;      /* footer, dark button */
  --c-dark-line: #3A403C;
  --c-on-dark: #E9EAE6;
  --c-on-dark-muted: #9EA39E;
  --c-stay-kamogawa: #3B2E25; /* 予約セクションの背景（施設ごと）: 鴨川コテージ = 木のぬくもり */
  --c-stay-satoyama: #24344D; /* 里山ハウス = 紺 */
  --c-stay-nook: #26392D;     /* NOOK & HIDE = 森の緑 */

  /* font */
  --ff-display: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif; /* 700 */
  --ff-body: 'Noto Sans JP', sans-serif;                          /* 400 / 500 */
  --ff-label: 'DM Sans', 'Noto Sans JP', sans-serif;              /* 500, uppercase, .2em */
  --ff-serif: 'EB Garamond', Georgia, serif;                      /* numbers, prices, tagline */

  /* fluid type (SP 390 → PC 1440) */
  --fs-display: clamp(40px, 5.3vw, 76px);  /* top H1, lh 1.2 */
  --fs-h1: clamp(34px, 4.2vw, 60px);       /* sub-page H1, lh 1.25 */
  --fs-h2: clamp(28px, 3vw, 44px);         /* lh 1.3 */
  --fs-h3: clamp(17px, 1.4vw, 20px);
  --fs-body: clamp(14px, 1.1vw, 16px);     /* lh 1.95, ls .04em */
  --fs-small: 13px;
  --fs-label: 11px;                        /* ls .2em */
  --lh-body: 1.95;
  --ls-body: 0.04em;
  --ls-label: 0.2em;

  /* space (8px grid) */
  --sp-1: 8px; --sp-2: 16px; --sp-3: 24px; --sp-4: 32px; --sp-7: 56px;
  --section-y: 120px;    /* Tablet: 96px / SP: 72px */
  --gutter: 64px;        /* Tablet: 40px / SP: 20px */
  --content-max: 1312px;
  --grid-gap: 24px;

  /* shape */
  --r-card: 20px;
  --r-img: clamp(16px, 1.4vw, 20px);
  --r-field: 12px;
  --r-pill: 999px;

  /* component sizes */
  --header-h: 88px;      /* Tablet/SP: 64px */
  --btn-h: 52px;
  --tap-min: 44px;

  /* motion */
  --ease-out: cubic-bezier(.2,.7,.2,1);
  --dur-reveal: 600ms;
}
@media (max-width: 1079px) { :root { --header-h: 64px; --gutter: 40px; --section-y: 96px; } }
@media (max-width: 767px) { :root { --gutter: 20px; --section-y: 72px; } }
