/* SITE 108 LOUNGE CLEAN RESERVATION — design tokens
   配色: ホワイト #FCFCFB / ストーングレー #E6E3DD / ネイビー #25344A / ブラス #B09362
   角丸は 2px の1種類のみ（0 に近い、清潔感優先の直線的な見え方）。影は2段階まで。 */
:root {
  /* --- color --- */
  --white:       #FCFCFB;
  --white-dim:   #F5F3EF;
  --stone:       #E6E3DD;
  --stone-deep:  #D9D5CC;
  --navy:        #25344A;
  --navy-deep:   #1A2536;
  --brass:       #B09362;
  --brass-deep:  #8F784C; /* 白背景上のリンク・強調文字用（4.7:1以上） */

  --text:        var(--navy);
  --text-muted:  #4B5A6E; /* 白上で 7.2:1 */
  --text-note:   #5E6B7C; /* 注記用 白上で 6.0:1 */
  --line:        rgba(37, 52, 74, 0.14);
  --line-strong: rgba(37, 52, 74, 0.28);
  --focus:       #8F784C;

  --ok:      #2F7A4F;
  --warn:    #A64B2A;

  /* --- type --- */
  --font-en: "Cormorant Garamond", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", Meiryo, serif;
  --font-ja: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;

  --fs-body:  1rem;      /* 16px */
  --fs-lead:  1.0625rem; /* 17px */
  --fs-note:  0.875rem;  /* 14px — 下限 */
  --fs-h1:    clamp(1.875rem, 1.1rem + 2.9vw, 2.9375rem);
  --fs-h2:    clamp(1.4375rem, 1.1rem + 1.4vw, 1.9375rem);
  --fs-h3:    clamp(1.125rem, 1rem + 0.5vw, 1.3125rem);

  --lh-body: 1.75;
  --lh-tight: 1.3;

  /* --- space --- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 88px;

  /* --- layout --- */
  --wrap: 1120px;
  --gutter: 20px;
  --header-h: 68px;
  --ctabar-h: 56px;   /* 48〜56px の範囲。safe-area は .cta-bar 側で加算する */

  /* --- shape --- */
  --radius: 2px;
  --shadow-1: 0 1px 2px rgba(37, 52, 74, 0.10);
  --shadow-2: 0 18px 40px rgba(37, 52, 74, 0.16);

  /* --- motion（1種類: fade-up のみ） --- */
  --dur: 460ms;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (min-width: 768px) {
  :root { --gutter: 28px; }
}
@media (min-width: 1024px) {
  :root { --header-h: 76px; --gutter: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur: 1ms; }
}
