/* ─────────────────────────────────────────────
   MDG · maison de grace
   modern, atmospheric beauty house
───────────────────────────────────────────── */

:root{
  --cream:        #F8F2EA;
  --cream-2:      #F1E8DB;
  --ivory:        #FBF7F1;
  --bone:         #EBE0D1;
  --rose:         #E8C5C5;
  --rose-deep:    #B76E79;
  --gold:         #D4A574;
  --gold-deep:    #B0865A;
  --espresso:     #2A1E18;
  --ink:          #1A120D;
  --mute:         #7A6A5E;

  --serif: "Cormorant Garamond", "Times New Roman", serif;
  --sans:  "Inter", -apple-system, system-ui, sans-serif;

  --radius: 6px;
  --maxw: 1280px;
  --pad-x: clamp(20px, 5vw, 80px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.65;
  color:var(--ink);
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:transparent;cursor:pointer;color:inherit}
em{font-style:italic}

/* ───── shared ───── */
.kicker{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:11px;
  font-weight:500;
  color:var(--gold-deep);
  margin-bottom:1.5rem;
}
.kicker.light{color:var(--gold)}
.title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2.4rem, 5.2vw, 4.4rem);
  line-height:1.05;
  letter-spacing:-.5px;
  color:var(--espresso);
}
.title em{font-style:italic;color:var(--rose-deep)}

.section-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 4rem;
  padding:0 var(--pad-x);
}
.section-lede{
  margin-top:1.6rem;
  color:var(--mute);
  max-width:54ch;
  margin-left:auto;
  margin-right:auto;
  line-height:1.75;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.95rem 1.8rem;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
  border-radius:999px;
  transition:all .35s cubic-bezier(.2,.8,.2,1);
  white-space:nowrap;
}
.btn--primary{
  background:var(--espresso);
  color:var(--cream);
}
.btn--primary:hover{
  background:var(--rose-deep);
  transform:translateY(-2px);
  box-shadow:0 14px 30px -12px rgba(183,110,121,.55);
}
.btn--ghost{
  border:1px solid var(--espresso);
  color:var(--espresso);
}
.btn--ghost:hover{background:var(--espresso);color:var(--cream)}
.btn--text{
  padding:.95rem .2rem;
  color:var(--espresso);
  border-bottom:1px solid transparent;
  border-radius:0;
}
.btn--text:hover{border-color:var(--espresso)}

/* ─────────────────────────────────────────────
   NAV
───────────────────────────────────────────── */
.nav{
  position:fixed;inset:0 0 auto 0;
  z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(251,247,241,.78);
  border-bottom:1px solid rgba(42,30,24,.06);
  transition:background .3s ease;
}
.nav__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:18px var(--pad-x);
  display:flex;
  align-items:center;
  gap:2.5rem;
}
.logo{
  display:flex;
  align-items:center;
  gap:.7rem;
}
.logo__mark{width:42px;height:42px;flex-shrink:0}
.logo__word{
  font-family:var(--serif);
  font-size:1.35rem;
  font-weight:500;
  color:var(--espresso);
  letter-spacing:.5px;
  line-height:1;
  white-space:nowrap;
}
.logo__word em{
  font-style:italic;
  font-size:.85em;
  color:var(--rose-deep);
  margin:0 2px;
}

.nav__links{
  margin-left:auto;
  display:flex;
  gap:2.2rem;
}
.nav__links a{
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--espresso);
  position:relative;
  padding:.4rem 0;
}
.nav__links a::after{
  content:"";
  position:absolute;
  left:50%;bottom:0;
  width:0;height:1px;
  background:var(--rose-deep);
  transition:.4s ease;
  transform:translateX(-50%);
}
.nav__links a:hover::after{width:100%}

.nav__burger{display:none;width:30px;height:18px;position:relative}
.nav__burger span{
  position:absolute;left:0;right:0;height:1px;
  background:var(--espresso);
  transition:.3s;
}
.nav__burger span:nth-child(1){top:0}
.nav__burger span:nth-child(2){top:50%;transform:translateY(-50%)}
.nav__burger span:nth-child(3){bottom:0}

/* ─────────────────────────────────────────────
   HERO
───────────────────────────────────────────── */
.hero{
  position:relative;
  min-height:100vh;
  padding:160px var(--pad-x) 100px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 20% 20%, rgba(232,197,197,.45), transparent 55%),
    radial-gradient(ellipse at 90% 80%, rgba(212,165,116,.30), transparent 55%),
    linear-gradient(180deg, var(--ivory) 0%, var(--cream) 100%);
}
.hero__bg{position:absolute;inset:0;pointer-events:none}
.orb{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  opacity:.55;
  animation:float 14s ease-in-out infinite;
}
.orb--1{
  width:480px;height:480px;
  top:-120px;left:-120px;
  background:radial-gradient(circle,#F5C6BC,transparent 70%);
}
.orb--2{
  width:560px;height:560px;
  bottom:-180px;right:-160px;
  background:radial-gradient(circle,#E5C19A,transparent 70%);
  animation-delay:-5s;
}
.orb--3{
  width:320px;height:320px;
  top:55%;left:48%;
  background:radial-gradient(circle,#EFD3D3,transparent 70%);
  animation-delay:-9s;
  opacity:.4;
}
@keyframes float{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(30px,-40px) scale(1.05)}
}

.hero__inner{
  position:relative;
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:5rem;
  align-items:center;
}

.eyebrow{
  display:inline-flex;
  align-items:center;gap:.7rem;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.32em;
  color:var(--mute);
  margin-bottom:2rem;
}
.eyebrow span{
  width:30px;height:1px;background:var(--gold);
}
.hero__title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2.8rem, 6.5vw, 5.6rem);
  line-height:1;
  letter-spacing:-2px;
  color:var(--espresso);
  max-width:14ch;
}
.hero__title .line{
  display:block;
  opacity:0;transform:translateY(30px);
  animation:rise .9s cubic-bezier(.2,.8,.2,1) forwards;
}
.hero__title .line:nth-child(1){animation-delay:.15s}
.hero__title .line:nth-child(2){animation-delay:.35s}
.hero__title .line:nth-child(3){animation-delay:.55s}
.hero__title .italic{font-style:italic;color:var(--rose-deep)}
@keyframes rise{to{opacity:1;transform:none}}

.hero__lede{
  margin-top:1.8rem;
  max-width:42ch;
  font-size:1.02rem;
  color:var(--mute);
  line-height:1.75;
  opacity:0;
  animation:rise .9s .8s forwards;
}
.hero__cta{
  margin-top:2.2rem;
  display:flex;gap:1rem;flex-wrap:wrap;
  opacity:0;animation:rise .9s 1s forwards;
}

.hero__meta{
  margin-top:3.5rem;
  display:flex;gap:2.6rem;flex-wrap:wrap;
  padding-top:1.8rem;
  border-top:1px solid rgba(42,30,24,.12);
  max-width:600px;
  opacity:0;animation:rise .9s 1.2s forwards;
}
.hero__meta strong{
  display:block;
  font-family:var(--serif);
  font-size:2.4rem;
  font-weight:400;
  color:var(--espresso);
  line-height:1;
}
.hero__meta strong em{
  font-style:italic;
  font-size:.5em;
  color:var(--rose-deep);
  margin-left:2px;
}
.hero__meta span{
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mute);
}

/* hero visual */
.hero__visual{
  position:relative;
  aspect-ratio:4/5;
  max-width:520px;
  width:100%;
  margin-left:auto;
  opacity:0;
  animation:rise 1.2s .6s forwards;
}
.visual__portrait{
  position:absolute;
  inset:0;
  border-radius:8px;
  overflow:hidden;
  box-shadow:
    0 40px 80px -30px rgba(122,59,71,.45),
    0 20px 40px -20px rgba(42,30,24,.25);
}
.visual__card{
  position:absolute;
  bottom:6%;
  left:-8%;
  background:var(--ivory);
  border:1px solid rgba(42,30,24,.08);
  padding:1rem 1.4rem 1rem 1rem;
  border-radius:10px;
  box-shadow:0 24px 48px -20px rgba(42,30,24,.25);
  display:flex;
  align-items:center;
  gap:1rem;
  animation:floatY 6s ease-in-out infinite;
}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.visual__card .card__cat{
  font-size:9px;letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin:0 0 .2rem;
}
.visual__card .card__name{
  font-family:var(--serif);
  font-size:1.15rem;
  color:var(--espresso);
  margin:0;
  line-height:1;
}
.visual__card .card__price{
  font-family:var(--serif);
  font-size:.95rem;
  color:var(--rose-deep);
  margin:.2rem 0 0;
}
.visual__chip{
  position:absolute;
  top:8%;
  right:-6%;
  background:var(--ivory);
  border:1px solid rgba(42,30,24,.08);
  padding:.6rem 1rem;
  border-radius:999px;
  box-shadow:0 16px 30px -15px rgba(42,30,24,.25);
  display:flex;align-items:center;gap:.5rem;
  font-size:.82rem;
  color:var(--espresso);
  animation:floatY 7s ease-in-out infinite;
  animation-delay:-2s;
}
.visual__chip strong{font-weight:600}
.visual__leaf{
  position:absolute;
  top:-30px;right:-40px;
  width:140px;
  pointer-events:none;
  z-index:-1;
}

.hero__scroll{
  position:absolute;
  bottom:30px;left:50%;
  transform:translateX(-50%);
  font-size:10px;letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--mute);
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
}
.hero__scroll span{
  width:1px;height:40px;
  background:linear-gradient(180deg, var(--gold), transparent);
  animation:slide 2s ease-in-out infinite;
}
@keyframes slide{
  0%,100%{transform:scaleY(.4);transform-origin:top}
  50%{transform:scaleY(1)}
}

/* ─────────────────────────────────────────────
   MARQUEE
───────────────────────────────────────────── */
.marquee{
  background:var(--cream);
  border-top:1px solid rgba(42,30,24,.08);
  border-bottom:1px solid rgba(42,30,24,.08);
  overflow:hidden;
  padding:1.5rem 0;
}
.marquee__track{
  display:flex;
  gap:3rem;
  white-space:nowrap;
  animation:marquee 38s linear infinite;
  font-family:var(--serif);
  font-style:italic;
  font-size:1.6rem;
  color:var(--mute);
  width:max-content;
}
.marquee__track span{flex-shrink:0;letter-spacing:.05em}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─────────────────────────────────────────────
   ABOUT
───────────────────────────────────────────── */
.about{padding:140px var(--pad-x);background:var(--ivory)}
.grid{
  max-width:var(--maxw);margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6rem;
  align-items:center;
}
.about__image{position:relative}
.frame{
  position:relative;
  aspect-ratio:4/5;
  border-radius:6px;
  overflow:hidden;
  box-shadow:
    0 40px 80px -30px rgba(42,30,24,.4),
    0 20px 40px -20px rgba(122,59,71,.2);
}
.frame svg{width:100%;height:100%;display:block}
.tag{
  position:absolute;
  bottom:-12px;left:30px;
  background:var(--cream);
  padding:.55rem 1rem;
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--espresso);
  border:1px solid rgba(42,30,24,.1);
  border-radius:3px;
}
.about__stat{
  position:absolute;
  bottom:-40px;right:-30px;
  background:var(--cream);
  border:1px solid rgba(42,30,24,.08);
  padding:1.2rem 1.4rem;
  border-radius:6px;
  max-width:230px;
  box-shadow:0 24px 48px -20px rgba(42,30,24,.2);
}
.about__stat p:last-child{
  font-family:var(--serif);
  font-style:italic;
  font-size:1rem;
  line-height:1.4;
  color:var(--espresso);
}
.about__stat .kicker{margin-bottom:.5rem;font-size:10px}

.about__text p{margin-top:1.4rem;color:var(--mute);max-width:50ch}
.about__points{
  list-style:none;
  margin-top:2.4rem;
  display:flex;flex-direction:column;gap:1rem;
}
.about__points li{
  display:flex;align-items:center;gap:1rem;
  font-size:.95rem;
  color:var(--espresso);
}
.about__points span{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--gold);
  flex-shrink:0;
}

/* ─────────────────────────────────────────────
   RITUALS
───────────────────────────────────────────── */
.rituals{
  padding:140px 0;
  background:linear-gradient(180deg, var(--ivory), var(--cream-2));
}
.cards{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--pad-x);
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.5rem;
}
.card{
  position:relative;
  padding:2.4rem 2rem 2.6rem;
  background:var(--ivory);
  border-radius:var(--radius);
  border:1px solid rgba(42,30,24,.06);
  transition:all .5s cubic-bezier(.2,.8,.2,1);
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute;
  inset:auto -40% -60% auto;
  width:200px;height:200px;
  background:radial-gradient(circle, rgba(232,197,197,.6), transparent 70%);
  transition:.6s;
}
.card:hover{
  transform:translateY(-8px);
  border-color:var(--rose-deep);
  box-shadow:0 30px 60px -25px rgba(122,59,71,.25);
}
.card:hover::before{inset:auto -20% -40% auto}
.card__num{
  font-family:var(--serif);
  font-size:1.4rem;
  font-style:italic;
  color:var(--gold-deep);
  letter-spacing:.05em;
  position:relative;
}
.card__icon{
  width:60px;height:60px;
  margin-top:1.5rem;
  position:relative;
}
.card__icon svg{width:100%;height:100%}
.card h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:2rem;
  margin-top:1.4rem;
  color:var(--espresso);
}
.card p{
  margin-top:.8rem;
  font-size:.92rem;
  color:var(--mute);
  position:relative;
}
.card__link{
  display:inline-block;
  margin-top:1.6rem;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--rose-deep);
  position:relative;
  padding-bottom:3px;
  border-bottom:1px solid currentColor;
}

/* ─────────────────────────────────────────────
   COLLECTION
───────────────────────────────────────────── */
.collection{
  padding:140px 0;
  background:var(--cream-2);
}
.products{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--pad-x);
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.6rem;
}
.product{
  background:var(--ivory);
  padding:1.4rem 1.4rem 2rem;
  border-radius:var(--radius);
  text-align:center;
  transition:.45s cubic-bezier(.2,.8,.2,1);
  border:1px solid rgba(42,30,24,.05);
  display:flex;flex-direction:column;
}
.product:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 50px -25px rgba(42,30,24,.2);
}
.product__visual{
  height:280px;
  margin-bottom:1.4rem;
  background:
    radial-gradient(ellipse at center 80%, rgba(232,197,197,.45), transparent 65%);
  border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
}
.product__visual svg{max-height:100%;width:auto}
.product__cat{
  font-size:10px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin-bottom:.4rem;
}
.product h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:1.55rem;
  color:var(--espresso);
}
.product__desc{
  font-size:.88rem;
  color:var(--mute);
  margin:.5rem 0 1.2rem;
}
.product__price{
  font-family:var(--serif);
  font-size:1.2rem;
  color:var(--espresso);
  letter-spacing:.05em;
}
.product__cta{
  margin-top:1.2rem;
  padding:.7rem 0;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--espresso);
  border-top:1px solid rgba(42,30,24,.1);
  transition:color .3s;
}
.product:hover .product__cta{color:var(--rose-deep)}
.collection__foot{
  text-align:center;
  margin-top:4rem;
  padding:0 var(--pad-x);
}

/* ─────────────────────────────────────────────
   QUOTE
───────────────────────────────────────────── */
.quote{
  padding:140px var(--pad-x);
  text-align:center;
  background:var(--ivory);
  position:relative;
}
.quote__mark{
  font-family:var(--serif);
  font-size:8rem;
  line-height:.5;
  color:var(--rose);
  margin-bottom:1rem;
}
.quote blockquote{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  font-size:clamp(1.7rem, 3.4vw, 2.8rem);
  line-height:1.4;
  max-width:30ch;
  margin:0 auto;
  color:var(--espresso);
}
.quote cite{
  display:block;
  margin-top:2.4rem;
  font-style:normal;
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold-deep);
}

/* ─────────────────────────────────────────────
   VOICES
───────────────────────────────────────────── */
.voices{
  padding:140px 0;
  background:linear-gradient(180deg, var(--ivory), var(--cream));
}
.voices__grid{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--pad-x);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
}
.voice{
  background:var(--ivory);
  border:1px solid rgba(42,30,24,.06);
  padding:2.2rem 2rem;
  border-radius:6px;
  transition:.4s;
}
.voice:hover{transform:translateY(-4px);box-shadow:0 30px 50px -25px rgba(42,30,24,.18)}
.voice__stars{
  color:var(--gold);
  letter-spacing:.2em;
  font-size:1rem;
  margin-bottom:1.2rem;
}
.voice p{
  font-family:var(--serif);
  font-style:italic;
  font-size:1.2rem;
  line-height:1.5;
  color:var(--espresso);
}
.voice footer{
  margin-top:1.8rem;
  padding-top:1.4rem;
  border-top:1px solid rgba(42,30,24,.08);
  display:flex;align-items:center;gap:.9rem;
}
.voice__avatar{
  width:42px;height:42px;
  border-radius:50%;
  flex-shrink:0;
}
.voice footer strong{
  display:block;
  font-weight:500;
  color:var(--espresso);
  font-size:.95rem;
}
.voice footer span{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--mute);
}

/* ─────────────────────────────────────────────
   JOURNAL
───────────────────────────────────────────── */
.journal{
  padding:140px 0;
  background:var(--cream);
}
.entries{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--pad-x);
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2.5rem;
}
.entry{
  background:var(--ivory);
  border-radius:6px;
  overflow:hidden;
  border:1px solid rgba(42,30,24,.06);
  transition:.4s;
}
.entry:hover{transform:translateY(-6px);box-shadow:0 30px 50px -25px rgba(42,30,24,.2)}
.entry__img{
  aspect-ratio:5/3;
  position:relative;
  overflow:hidden;
}
.entry__img::after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), transparent 50%);
}
.entry__cat{
  position:absolute;
  top:1rem;left:1rem;
  background:var(--ivory);
  padding:.4rem .8rem;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--espresso);
  border-radius:3px;
  z-index:1;
}
.entry__date{
  display:block;
  margin:1.4rem 1.6rem 0;
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold-deep);
}
.entry h3{
  margin:.8rem 1.6rem 1rem;
  font-family:var(--serif);
  font-weight:400;
  font-size:1.6rem;
  line-height:1.2;
  color:var(--espresso);
}
.entry p{margin:0 1.6rem;color:var(--mute);font-size:.93rem}
.entry a{
  display:inline-block;
  margin:1.4rem 1.6rem 1.8rem;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--rose-deep);
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
  transition:.3s;
}
.entry a:hover{color:var(--espresso)}

/* ─────────────────────────────────────────────
   CTA
───────────────────────────────────────────── */
.cta{
  padding:140px var(--pad-x);
  background:
    radial-gradient(ellipse at 80% 20%, rgba(212,165,116,.18), transparent 60%),
    radial-gradient(ellipse at 20% 80%, rgba(232,197,197,.12), transparent 60%),
    linear-gradient(160deg, #1F1611 0%, #2A1E18 50%, #3D2A23 100%);
  color:var(--cream);
  text-align:center;
}
.cta .title{color:var(--cream)}
.cta .title em{color:var(--rose)}
.cta__inner{max-width:680px;margin:0 auto}
.cta__lede{
  margin:2rem auto 3rem;
  max-width:50ch;
  color:rgba(248,242,234,.75);
  line-height:1.75;
}
.cta__form{
  display:flex;
  gap:.6rem;
  max-width:480px;
  margin:0 auto;
  background:rgba(248,242,234,.06);
  border:1px solid rgba(248,242,234,.18);
  border-radius:999px;
  padding:.4rem;
  backdrop-filter:blur(6px);
}
.cta__form input{
  flex:1;
  background:transparent;
  border:0;
  padding:.7rem 1.2rem;
  color:var(--cream);
  font:inherit;
  outline:none;
}
.cta__form input::placeholder{color:rgba(248,242,234,.5)}
.cta__form .btn{background:var(--cream);color:var(--espresso)}
.cta__form .btn:hover{background:var(--rose);color:var(--espresso)}
.cta__small{
  margin-top:1.4rem;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(248,242,234,.45);
}

/* ─────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────── */
.foot{
  background:var(--espresso);
  color:rgba(248,242,234,.7);
  padding:80px var(--pad-x) 30px;
  font-size:.92rem;
}
.foot__top{
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 1fr;
  gap:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(248,242,234,.12);
}
.foot__brand p{margin-top:1.2rem;max-width:32ch;line-height:1.7}
.logo--lg .logo__word{color:var(--cream);font-size:1.5rem}
.logo--lg .logo__word em{color:var(--rose)}
.foot__news{
  margin-top:1.8rem;
  display:flex;
  background:rgba(248,242,234,.06);
  border:1px solid rgba(248,242,234,.18);
  border-radius:999px;
  padding:.3rem;
  max-width:280px;
}
.foot__news input{
  flex:1;background:transparent;border:0;
  padding:.5rem 1rem;
  color:var(--cream);
  font:inherit;outline:none;
}
.foot__news input::placeholder{color:rgba(248,242,234,.45)}
.foot__news button{
  width:36px;height:36px;
  border-radius:50%;
  background:var(--cream);
  color:var(--espresso);
  font-size:1rem;
}
.foot__col h4{
  font-family:var(--serif);
  font-weight:400;
  font-size:1.1rem;
  color:var(--cream);
  margin-bottom:1.2rem;
  letter-spacing:.05em;
}
.foot__col p{margin-bottom:.5rem}
.foot__col a:hover{color:var(--rose)}
.foot__bot{
  max-width:var(--maxw);
  margin:0 auto;
  padding-top:2rem;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;gap:1rem;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(248,242,234,.4);
}

/* ─────────────────────────────────────────────
   REVEAL ON SCROLL
───────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(40px);transition:1s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ─────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────── */
@media (max-width: 1100px){
  .hero__inner{grid-template-columns:1fr;gap:3rem}
  .hero__visual{margin:0 auto;max-width:420px}
  .grid{grid-template-columns:1fr;gap:3rem}
  .about__stat{position:static;margin-top:1rem;max-width:none}
  .cards,.products{grid-template-columns:repeat(2, 1fr)}
  .voices__grid,.entries{grid-template-columns:1fr;gap:2rem}
  .foot__top{grid-template-columns:1fr 1fr;gap:2.5rem}
}
@media (max-width: 720px){
  .nav__links,.nav .btn--ghost{display:none}
  .nav__burger{display:block}
  .nav__inner{padding:14px var(--pad-x)}
  .hero{padding:130px var(--pad-x) 80px;min-height:auto}
  .hero__meta{gap:1.6rem}
  .hero__meta strong{font-size:1.9rem}
  .visual__leaf{display:none}
  .cards,.products{grid-template-columns:1fr}
  .foot__top{grid-template-columns:1fr 1fr;gap:2.4rem}
  .foot__brand{grid-column:1/-1}
  .foot__bot{flex-direction:column;text-align:center}
  .cta__form{flex-direction:column;border-radius:14px;padding:1rem}
  .cta__form .btn{width:100%}
  .about,.rituals,.collection,.quote,.voices,.journal,.cta{padding:90px var(--pad-x)}
  .rituals,.collection,.voices,.journal{padding:90px 0}
}
