/* MAISON LUMIÈRE Design Tokens + Reset */

:root {
 /* Surfaces */
 --porcelain:  #F8F2EC;
 --ivory:    #FFFCF8;
 --champagne:  #EFE2D6;
 --shell:    #F3E7DE;

 /* Brand / accents */
 --blush:    #D8A7A0;
 --rose-clay:  #C0857C;
 --nude-taupe:  #C8B5A6;
 --gold:     #BFA15E;

 /* Ink */
 --espresso:   #4A3C38;
 --ink:     #2B2320;
 --ink-soft:   #6B5A54;
 --line:     #E4D6CA;

 --white:    #FFFFFF;

 /* Functional */
 --focus:    #8A5A50;
 --success:   #6E8B6A;
 --error:    #B25A4F;

 /* Typography */
 --font-display: "Fraunces", Georgia, serif;
 --font-accent: "Cormorant Garamond", Georgia, serif;
 --font-body:  "Mulish", system-ui, sans-serif;

 --fs-display: clamp(3.25rem, 9vw, 8.5rem);
 --fs-h1:   clamp(2.5rem, 6vw, 5rem);
 --fs-h2:   clamp(2rem, 4.5vw, 3.5rem);
 --fs-h3:   clamp(1.5rem, 2.6vw, 2.25rem);
 --fs-lead:  clamp(1.15rem, 1.6vw, 1.45rem);
 --fs-body:  clamp(1rem, 1.05vw, 1.0625rem);
 --fs-small:  0.9375rem;
 --fs-eyebrow: 0.8125rem;

 /* Spacing */
 --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
 --space-6: 1.5rem; --space-8: 2rem; --space-12: 3rem; --space-16: 4rem;
 --space-24: 6rem; --space-32: 8rem;
 --section-y: clamp(6rem, 12vh, 11rem);

 /* Layout */
 --maxw: 1320px;
 --maxw-narrow: 760px;
 --gutter: clamp(1.25rem, 5vw, 4rem);

 /* Radius */
 --r-sm: 8px; --r-md: 16px; --r-lg: 28px; --r-xl: 40px; --r-pill: 999px;
 --arch: 50% 50% 8px 8px / 22% 22% 8px 8px;

 /* Shadow */
 --shadow-sm: 0 4px 16px -8px rgba(74,60,56,.25);
 --shadow-md: 0 24px 60px -28px rgba(74,60,56,.35);
 --shadow-glow:0 30px 80px -30px rgba(216,167,160,.45);

 /* Motion */
 --ease-soft: cubic-bezier(.16,1,.3,1);
 --ease-inout: cubic-bezier(.65,0,.35,1);
 --dur-fast: .3s; --dur: .6s; --dur-slow: .9s; --dur-xslow: 1.4s;
}

/* Minimal reset */
*, *::before, *::after {
 box-sizing: border-box;
 margin: 0;
 padding: 0;
}

html {
 scroll-behavior: auto;
 -webkit-text-size-adjust: 100%;
}

body {
 font-family: var(--font-body);
 font-size: var(--fs-body);
 line-height: 1.7;
 color: var(--espresso);
 background: var(--porcelain);
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
}

img, picture, video, canvas, svg {
 display: block;
 max-width: 100%;
}

input, button, textarea, select {
 font: inherit;
 color: inherit;
}

button {
 cursor: pointer;
 background: none;
 border: none;
}

a {
 color: inherit;
 text-decoration: none;
}

ul, ol {
 list-style: none;
}

h1, h2, h3, h4, h5, h6 {
 font-family: var(--font-display);
 font-weight: 400;
 line-height: 1.05;
 color: var(--ink);
 letter-spacing: -0.01em;
}

p {
 max-width: 62ch;
}

/* Focus ring */
:focus-visible {
 outline: 2px solid var(--focus);
 outline-offset: 2px;
}

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