:root{
  --blush:#F7EFEA;
  --rose:#D4A7AE;
  --taupe:#A89A96;
  --ink:#6f605d;
  --line:#e6d6d0;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--blush);color:var(--ink);
  font-family:'Jost','Helvetica Neue',Arial,sans-serif;font-weight:300;
  line-height:1.7;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

.logo{
  font-weight:300;letter-spacing:.38em;font-size:1.5rem;color:var(--ink);
  padding-left:.38em;
}
.logo.small{font-size:1.1rem}

.nav{
  position:sticky;top:0;z-index:10;
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 6vw;background:rgba(247,239,234,.88);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav nav{display:flex;gap:28px}
.nav nav a{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;transition:color .2s}
.nav nav a:hover{color:var(--rose)}

.eyebrow{font-size:.74rem;letter-spacing:.34em;text-transform:uppercase;color:var(--taupe)}
.center{text-align:center}
.soft{color:var(--taupe)}

h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;color:var(--ink);line-height:1.15}
h1{font-size:clamp(2.4rem,5vw,4.2rem);margin:18px 0 34px}
h1 em{color:var(--rose)}
h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin:12px 0 18px}

.btn{
  display:inline-block;padding:15px 38px;border:1px solid var(--ink);
  font-size:.76rem;letter-spacing:.26em;text-transform:uppercase;
  transition:background .25s,color .25s,border-color .25s;
}
.btn:hover{background:var(--ink);color:var(--blush)}

/* hero */
.hero{
  display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:4vw;
  padding:6vw 6vw 5vw;min-height:80vh;
}
.hero-img img{
  width:100%;border-radius:4px;
  box-shadow:0 30px 60px -30px rgba(111,96,93,.35);
}

/* collection */
.collection{padding:7vw 6vw;text-align:center;background:#fbf6f3}
.grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  max-width:1100px;margin:56px auto 0;
}
.card{
  background:var(--blush);padding:26px 20px 30px;border-radius:4px;
  transition:transform .3s,box-shadow .3s;
}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -26px rgba(111,96,93,.4)}
.shot{height:320px;display:flex;justify-content:center;margin-bottom:20px;overflow:hidden}
.shot img{height:100%;width:auto;object-fit:contain;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent)}
.card h3{font-weight:300;letter-spacing:.3em;font-size:.95rem;padding-left:.3em}
.card p{color:var(--taupe);font-size:.9rem;margin-top:2px}
.dot{display:inline-block;width:14px;height:14px;border-radius:50%;margin-top:12px;border:1px solid rgba(111,96,93,.15)}

/* univers */
.univers{
  display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;align-items:center;
  padding:7vw 6vw;max-width:1300px;margin:0 auto;
}
.univers-img img{width:100%;border-radius:4px;box-shadow:0 30px 60px -34px rgba(111,96,93,.35)}
.univers-text p{max-width:42ch}
.palette{list-style:none;display:flex;gap:26px;margin-top:30px;flex-wrap:wrap}
.palette li{display:flex;align-items:center;gap:10px;font-size:.82rem;letter-spacing:.06em}
.palette span{width:22px;height:22px;border-radius:50%;border:1px solid rgba(111,96,93,.18)}

/* bientôt */
.bientot{text-align:center;padding:7vw 6vw;background:linear-gradient(180deg,var(--blush),#f1dfdb)}

footer{
  text-align:center;padding:48px 6vw;border-top:1px solid var(--line);
  font-size:.78rem;letter-spacing:.14em;color:var(--taupe);
}
footer .logo{display:block;margin-bottom:10px}

/* animations douces */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* mobile */
@media (max-width:860px){
  .nav nav{gap:16px}
  .nav nav a{font-size:.68rem;letter-spacing:.14em}
  .hero{grid-template-columns:1fr;min-height:0;padding-top:10vw}
  .hero-text{text-align:center}
  .grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .shot{height:240px}
  .univers{grid-template-columns:1fr}
}
@media (max-width:480px){
  .logo{font-size:1.25rem}
  .nav nav a:nth-child(2){display:none}
}
