/* ============================================================
   ONZE — base.css  (reset, tokens, typography)
   Premium-minimalist boutique. Monochrome + deep bordeaux.
   ============================================================ */

:root{
  /* palette */
  --milk:#f4f1ea;       /* milky paper */
  --milk-2:#ece7dd;     /* warm panel  */
  --paper:#fbfaf6;      /* near-white card bg */
  --graphite:#1b1b1a;   /* near-black ink */
  --graphite-2:#33322f; /* soft ink */
  --muted:#86827a;      /* secondary text */
  --line:#d8d3c8;       /* hairlines */
  --line-dark:#3a3935;
  --accent:#7d1128;     /* deep bordeaux */
  --accent-2:#9c1c38;   /* hover bordeaux */
  --accent-soft:#f0e2e4;

  /* type */
  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:"Manrope", "Segoe UI", system-ui, sans-serif;

  /* spacing rhythm */
  --gap:clamp(1rem,2vw,1.6rem);
  --section:clamp(3.5rem,8vw,7rem);
  --maxw:1280px;
  --radius:2px;

  --shadow:0 1px 0 rgba(27,27,26,.04);
  --shadow-lift:0 24px 60px -28px rgba(27,27,26,.45);
}

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

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

body{
  font-family:var(--sans);
  background:var(--milk);
  color:var(--graphite);
  line-height:1.7;
  font-size:16px;
  font-weight:400;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{display:block;max-width:100%;height:auto}

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

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

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.04;
  letter-spacing:.005em;
  color:var(--graphite);
}

h1{font-size:clamp(2.6rem,7vw,5.4rem)}
h2{font-size:clamp(2rem,4.5vw,3.4rem)}
h3{font-size:clamp(1.4rem,2.6vw,2rem)}

p{color:var(--graphite-2)}

/* small caps eyebrow */
.eyebrow{
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--accent);
}
.eyebrow--muted{color:var(--muted)}

.serif-italic{font-style:italic}

/* utilities */
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.2rem,5vw,3rem)}
.section{padding-block:var(--section)}
.center{text-align:center}
.muted{color:var(--muted)}
.hairline{height:1px;background:var(--line);border:0}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

::selection{background:var(--accent);color:var(--milk)}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
