

:root {
  
  --text-rgb:          35, 31, 32;    
  --warm-rgb:          184, 147, 90;  
  --overlay-light-rgb: 253, 250, 247; 
  --overlay-dim-rgb:   90, 87, 81;    

  
  --bg:          #FAF8F5;   
  --bg-warm:     #F2EEE8;   
  --bg-accent:   #3A5C35;   

  
  --text:        #231F20;   
  --text-mid:    #231F20;   
  --text-light:  #494949;   
  --text-inv:    #FAF8F5;   

  
  --accent:      #3A5C35;   
  --accent-mid:  #3A5C35;   
  --accent-pale: #8B6B3D;   
  --gold-brown:   #644822;   

  
  --warm-hover: #c9a668;   
  --error: #c04040;
  --warm:        #B8935A;   
  --warm-pale:   #F2EEE8;   

  
  --hero-about-1: #2a3d28;   
  --hero-about-2: #4a6140;   
  --hero-about-3: #6b8a58;   
  --hero-oem-1:   #0e1610;   
  --hero-oem-2:   #1a2518;   
  

  
  --border:      #494949;   

  
  --font-serif-ja:  'Noto Serif JP', serif;
  --font-sans-ja:   'Noto Sans JP', sans-serif;
  --font-serif-en:  'Cormorant Garamond', serif;
  --font-sans-en:   'DM Sans', sans-serif;

  
  --fs-hero:  clamp(2.6rem, 5.5vw, 5.0rem);
  --fs-h1:    clamp(2.2rem, 3.8vw, 3.8rem);
  --fs-h2:    clamp(1.6rem, 2.8vw, 2.6rem);
  --fs-h3:    clamp(1.25rem, 2.0vw, 1.65rem);
  --fs-lg:    1.125rem;
  --fs-body:  1.0625rem;
  --fs-sm:    0.875rem;
  --fs-xs:    0.75rem;

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

  
  --lh-tight:   1.2;
  --lh-heading: 1.3;
  --lh-body:    1.9;
  --lh-loose:   2.2;

  
  --ls-normal:   0.04em;
  --ls-wide:     0.12em;
  --ls-widest:   0.20em;

  
  --space-2xs:  0.25rem;  
  --space-xs:   0.5rem;   
  --space-sm:   1.0rem;   
  --space-md:   2.0rem;   
  --space-lg:   4.0rem;   
  --space-xl:   5.0rem;   
  --space-2xl: 12.0rem;   

  
  --max-width:        1200px;
  --max-width-narrow:  760px;
  --gutter:           clamp(1.5rem, 5vw, 4rem);

  
  --section-py:    var(--space-lg);
  --section-py-sm: var(--section-py);

  
  --grid-gap:    var(--space-md);
  --grid-gap-sm: var(--space-sm);

  
  --header-height:     72px;
  --header-height-sp:  56px;

  
  --field-radius: var(--radius-sm);
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-full: 9999px;

  
  --shadow-sm: 0 1px 4px rgba(35, 31, 32, 0.08);
  --shadow-md: 0 4px 16px rgba(35, 31, 32, 0.10);

  
  --field-padding:    0.75em 1em;
  --field-focus-ring: 0 0 0 3px rgba(58, 92, 53, 0.1);

  
  --card-padding:    var(--space-md);
  --card-padding-sm: var(--space-sm);

  
  --ease:          cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 180ms;
  --duration-base: 300ms;
  --duration-slow: 600ms;

  
  --z-above:   10;
  --z-header:  200;
}

