:root {
  --lunaya-forest: #2f4938;
  --lunaya-forest-deep: #203329;
  --lunaya-moss: #718063;
  --lunaya-clay: #b36f4f;
  --lunaya-stone: #f4eee3;
  --lunaya-sand: #e7dccb;
  --lunaya-ink: #29392f;
  --lunaya-muted: #6f665b;
  --lunaya-line: rgba(47, 73, 56, .18);
  --lunaya-serif: 'Cormorant Garamond', Georgia, serif;
  --lunaya-sans: 'Jost', system-ui, sans-serif;
}

html { scroll-padding-top: 72px; }
body.lunaya-home { margin: 0; background: var(--lunaya-stone); color: var(--lunaya-ink); font: 400 1rem/1.65 var(--lunaya-sans); }
.lunaya-home * { box-sizing: border-box; }
.lunaya-home main { overflow: hidden; }
.lunaya-home h1, .lunaya-home h2, .lunaya-home h3 { font-family: var(--lunaya-serif); font-weight: 500; letter-spacing: -.025em; }
.lunaya-home h2 { font-size: clamp(2.25rem, 7vw, 4.8rem); line-height: .98; margin: .45rem 0 0; }
.lunaya-eyebrow { margin: 0; color: var(--lunaya-clay); font-size: .78rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.lunaya-hero { min-height: 100svh; padding-top: 54px; display: grid; background: var(--lunaya-sand); }
.lunaya-hero-media { min-height: 46svh; overflow: hidden; order: 1; }
.lunaya-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 64% center; }
.lunaya-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2.1rem, 8vw, 5.5rem) max(1.25rem, 6vw); order: 2; }
.lunaya-hero h1 { max-width: 12ch; margin: .75rem 0 1.1rem; font-size: clamp(3.15rem, 13vw, 7.3rem); line-height: .86; }
.lunaya-lead { max-width: 38rem; margin: 0; color: var(--lunaya-muted); font-size: clamp(1rem, 2.4vw, 1.2rem); }
.lunaya-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.35rem; margin-top: 1.55rem; }
.lunaya-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: .78rem 1.25rem; border: 1px solid var(--lunaya-forest); border-radius: 2px; background: var(--lunaya-forest); color: #fff; font-weight: 600; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.lunaya-button:hover { background: var(--lunaya-forest-deep); transform: translateY(-2px); }
.lunaya-text-link { color: var(--lunaya-forest); font-weight: 600; text-underline-offset: .35rem; text-decoration-thickness: 1px; }
.lunaya-text-link:hover { text-decoration: underline; }
.lunaya-promises { display: grid; padding: 1.2rem; background: var(--lunaya-forest); color: #fff; }
.lunaya-promises > div { display: grid; grid-template-columns: 2rem 1fr; padding: 1rem .35rem; border-bottom: 1px solid rgba(255,255,255,.16); }
.lunaya-promises > div:last-child { border-bottom: 0; }
.lunaya-promises span { grid-row: 1 / 3; align-self: center; color: #d7c7a7; font-size: 1.1rem; }
.lunaya-promises strong { font-family: var(--lunaya-serif); font-size: 1.35rem; font-weight: 500; }
.lunaya-promises small { color: rgba(255,255,255,.72); font-size: .83rem; }
.lunaya-section { padding: clamp(4rem, 11vw, 8rem) max(1.25rem, 6vw); }
.lunaya-section-heading { display: flex; flex-direction: column; gap: 1.25rem; margin-bottom: 2rem; }
.lunaya-section-heading > div { max-width: 48rem; }
.lunaya-section-heading > a { color: var(--lunaya-forest); font-weight: 600; text-decoration: none; }
.lunaya-collection-grid { display: grid; gap: .8rem; }
.lunaya-collection-card { position: relative; min-height: 20rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1.25rem; overflow: hidden; color: #fff; text-decoration: none; isolation: isolate; }
.lunaya-collection-card::before { content: ''; position: absolute; inset: 0; z-index: -2; background: linear-gradient(145deg, rgba(32,51,41,.3), rgba(32,51,41,.82)), radial-gradient(circle at 85% 10%, rgba(255,255,255,.16), transparent 35%); }
.lunaya-collection-card::after { content: ''; position: absolute; width: 11rem; height: 11rem; right: -3rem; top: -3rem; z-index: -1; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }
.lunaya-collection-card.soap { background: #718063; }
.lunaya-collection-card.body { background: #a56a50; }
.lunaya-collection-card.home { background: #3c5142; }
.lunaya-card-number { font-size: .75rem; letter-spacing: .16em; opacity: .74; }
.lunaya-collection-card h3 { margin: 0 0 .35rem; font-size: 2.15rem; }
.lunaya-collection-card p { max-width: 24rem; margin: 0; color: rgba(255,255,255,.76); }
.lunaya-card-arrow { position: absolute; top: 1.1rem; right: 1.25rem; font-size: 1.35rem; }
.lunaya-approach { display: grid; gap: 2.5rem; align-items: center; background: var(--lunaya-sand); }
.lunaya-approach-mark { display: grid; place-items: center; min-height: 20rem; background: rgba(255,255,255,.28); }
.lunaya-approach-mark svg { width: min(58vw, 18rem); }
.lunaya-approach-copy { max-width: 43rem; }
.lunaya-approach-copy p:not(.lunaya-eyebrow) { color: var(--lunaya-muted); font-size: 1.05rem; }
.lunaya-wholesale { background: var(--lunaya-forest-deep); color: #fff; text-align: center; }
.lunaya-wholesale .lunaya-eyebrow { color: #d4bfa2; }
.lunaya-wholesale h2, .lunaya-wholesale > p { max-width: 48rem; margin-left: auto; margin-right: auto; }
.lunaya-wholesale > p:not(.lunaya-eyebrow) { color: rgba(255,255,255,.72); }
.lunaya-button-light { margin-top: 1rem; border-color: var(--lunaya-stone); background: var(--lunaya-stone); color: var(--lunaya-forest-deep); }
.lunaya-button-light:hover { background: #fff; color: var(--lunaya-forest-deep); }
.lunaya-location { display: grid; gap: 2rem; }
.lunaya-contact-grid { display: grid; gap: 1.25rem; margin-top: 1.8rem; }
.lunaya-contact-grid span { display: block; margin-bottom: .3rem; color: var(--lunaya-clay); font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.lunaya-contact-grid address { font-style: normal; }
.lunaya-map-wrap { min-height: 21rem; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--lunaya-line); background: var(--lunaya-sand); }
.lunaya-map { min-height: 19rem; flex: 1; }
.lunaya-map-hint { padding: .7rem 1rem; color: var(--lunaya-muted); font-size: .82rem; }
.lunaya-footer { padding: 3.5rem 1.25rem calc(2rem + env(safe-area-inset-bottom)); background: #1e2b23; color: rgba(255,255,255,.72); text-align: center; }
.lunaya-footer img { width: min(15rem, 68vw); margin: 0 auto 1.25rem; filter: brightness(0) invert(1); }
.lunaya-footer p { margin: 0 0 1.25rem; font-family: var(--lunaya-serif); font-size: 1.3rem; }
.lunaya-footer nav { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem 1.2rem; margin-bottom: 2rem; }
.lunaya-footer a { color: #fff; text-decoration: none; }
.lunaya-footer small { font-size: .77rem; }
@media (min-width: 760px) {
  .lunaya-hero { min-height: 44rem; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); padding-top: 64px; }
  .lunaya-hero-media { min-height: 100%; order: 2; }
  .lunaya-hero-copy { order: 1; padding-right: 3rem; }
  .lunaya-hero h1 { font-size: clamp(4.5rem, 7.4vw, 7.3rem); }
  .lunaya-promises { grid-template-columns: repeat(3, 1fr); padding: 1.2rem max(4vw, 2rem); }
  .lunaya-promises > div { border-right: 1px solid rgba(255,255,255,.16); border-bottom: 0; padding: .7rem 1.4rem; }
  .lunaya-promises > div:last-child { border-right: 0; }
  .lunaya-section-heading { flex-direction: row; align-items: end; justify-content: space-between; }
  .lunaya-section-heading > a { flex: 0 0 auto; }
  .lunaya-collection-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .lunaya-collection-card { min-height: 27rem; padding: 1.6rem; }
  .lunaya-approach { grid-template-columns: minmax(18rem, .82fr) minmax(0, 1.18fr); }
  .lunaya-approach-mark { min-height: 34rem; }
  .lunaya-contact-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width: 980px) {
  .lunaya-location { grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); align-items: stretch; }
  .lunaya-map-wrap { min-height: 31rem; }
  .lunaya-map { min-height: 28rem; }
}
@media (prefers-reduced-motion: reduce) {
  .lunaya-home *, .lunaya-home *::before, .lunaya-home *::after { scroll-behavior: auto !important; transition: none !important; }
}
