/* ── FONTS ── */
@font-face { font-family: 'LINESeed'; src: url('../fonts/LINESeedJP-Thin.ttf')      format('truetype'); font-weight: 100; font-style: normal; }
@font-face { font-family: 'LINESeed'; src: url('../fonts/LINESeedJP-Regular.ttf')   format('truetype'); font-weight: 400; font-style: normal; }
@font-face { font-family: 'LINESeed'; src: url('../fonts/LINESeedJP-Bold.ttf')      format('truetype'); font-weight: 700; font-style: normal; }
@font-face { font-family: 'LINESeed'; src: url('../fonts/LINESeedJP-ExtraBold.ttf') format('truetype'); font-weight: 800; font-style: normal; }

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; }
body  { font-family: 'LINESeed', 'Helvetica Neue', sans-serif; overflow-x: hidden; }

/* ── ANIMATION ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── PALETTE ── */
.palette      { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 2.5rem; align-items: flex-start; }
.swatch       { display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.swatch-circle{ width: 52px; height: 52px; border-radius: 50%; cursor: default; transition: transform .25s; }
.swatch-circle:hover { transform: scale(1.12); }
.swatch-name  { font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; }

/* ── NAV ── */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      display: flex; align-items: center; justify-content: space-between;
      backdrop-filter: blur(18px); }

/* ── SECTION ── */
.section-label { font-size: .6rem; letter-spacing: .35em; text-transform: uppercase;
                 color: var(--rouge); font-weight: 700; margin-bottom: 1.8rem; }
.section-title { font-size: clamp(1.5rem, 3.5vw, 2.4rem); font-weight: 100; line-height: 1.3;
                 margin-bottom: 1.8rem; }
.section-title strong { font-weight: 700; }
.section-body  { font-size: .88rem; font-weight: 100; line-height: 1.95; max-width: 640px; }

/* ── BOUTON ── */
.btn-red     { display: inline-block; background: var(--rouge); color: #fff;
               padding: .85rem 2.5rem; font-size: .7rem; letter-spacing: .2em;
               text-transform: uppercase; font-weight: 700; text-decoration: none;
               transition: opacity .2s; }
.btn-red:hover { opacity: .82; }
.btn-outline { display: inline-block; padding: .85rem 2.5rem; font-size: .7rem;
               letter-spacing: .2em; text-transform: uppercase; font-weight: 400;
               text-decoration: none; border: 1px solid; transition: border-color .2s; }

/* ── FOOTER ── */
footer      { display: flex; align-items: center; justify-content: space-between;
              flex-wrap: wrap; gap: 1rem; }
.footer-nav { display: flex; gap: 2rem; }
.footer-nav a { font-size: .62rem; letter-spacing: .08em; text-decoration: none;
                transition: color .2s; }
.footer-copy  { font-size: .62rem; letter-spacing: .05em; }
