:root {
  --home-white: #fff;
  --home-ivory: #fdfcf9;
  --home-mist: #f8f6f1;
  --home-ink: #2d2a25;
  --home-muted: #777168;
  --home-gold: #a89256;
  --home-line: rgba(111, 96, 67, .12);
}

body.ysl-shared-nav-enabled {
  background: var(--home-ivory);
  color: var(--home-ink);
}

/* The home page now opens with one clear brand statement. */
.pain-strip,
#about,
#merit { display: none !important; }

#hero {
  min-height: min(820px, calc(100vh - 70px));
  grid-template-columns: minmax(360px, 42%) minmax(0, 58%);
  background: var(--home-white) !important;
}

#hero .hero-text {
  padding: clamp(72px, 8vw, 132px) clamp(34px, 6vw, 98px) !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(250,247,239,.82), transparent 32%),
    linear-gradient(135deg, #fff 0%, #faf8f3 100%);
}

#hero .hero-eyebrow {
  color: var(--home-gold) !important;
  font-size: 11px !important;
  letter-spacing: .24em !important;
}

#hero .hero-h1 {
  max-width: 560px;
  color: var(--home-ink) !important;
  font-size: clamp(31px, 3.4vw, 53px) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: .09em !important;
}

#hero .hero-sub {
  max-width: 510px;
  color: var(--home-muted) !important;
  font-size: 14px !important;
  line-height: 2.15 !important;
}

#hero .hero-image { min-height: 720px; background: #f8f5ef; }
#hero .hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.76) brightness(1.05) !important;
}
#hero .hero-image-label { display: none !important; }

.hero-line-secondary {
  border-color: rgba(90,78,56,.42) !important;
  background: transparent !important;
  color: var(--home-ink) !important;
}

section:not(#hero) {
  padding-top: clamp(104px, 11vw, 166px) !important;
  padding-bottom: clamp(104px, 11vw, 166px) !important;
}

#why-ysl,
#story,
#blog-teaser { background: var(--home-white) !important; }
#plans { background: var(--home-mist) !important; }
#cta-final { background: #f5f1e9 !important; }

.sec-eyebrow,
.contact-form-label,
.cta-eye {
  color: var(--home-gold) !important;
  font-size: 10px !important;
  letter-spacing: .3em !important;
}

.sec-title,
.contact-form-title,
.cta-h {
  color: var(--home-ink) !important;
  font-size: clamp(27px, 3.3vw, 42px) !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  letter-spacing: .1em !important;
}

.bar { opacity: .55; }

/* Three brand standards: editorial columns instead of boxed cards. */
#why-ysl .merit-list {
  margin-top: clamp(60px, 7vw, 92px);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 !important;
  border-top: 1px solid var(--home-line);
  border-bottom: 1px solid var(--home-line);
}

#why-ysl .merit-card {
  min-height: 300px;
  margin: 0 !important;
  padding: 54px 40px !important;
  border: 0 !important;
  border-right: 1px solid var(--home-line) !important;
  background: transparent !important;
}
#why-ysl .merit-card:last-child { border-right: 0 !important; }
#why-ysl .merit-num { color: var(--home-gold) !important; font-size: 11px !important; }
#why-ysl .merit-h { font-size: 20px !important; font-weight: 400 !important; line-height: 1.8 !important; }
#why-ysl .merit-p { color: var(--home-muted) !important; font-size: 13px !important; line-height: 2.1 !important; }

/* One short, honest story instead of another decorative card. */
#story .story-card {
  max-width: 780px;
  margin: clamp(58px, 7vw, 90px) auto 0 !important;
  padding: 10px 0 10px clamp(28px, 5vw, 62px) !important;
  border: 0 !important;
  border-left: 1px solid var(--home-gold) !important;
  background: transparent !important;
  box-shadow: none !important;
}
#story .story-label { color: var(--home-gold) !important; letter-spacing: .25em !important; }
#story .story-body { color: var(--home-muted) !important; font-size: 14px !important; line-height: 2.35 !important; }

/* The three ways to begin are the commercial focus. */
#plans .ysl-home-paths {
  border-color: var(--home-line) !important;
  background: rgba(255,255,255,.44);
}
#plans .ysl-home-path {
  min-height: 420px;
  padding: 58px 42px 44px;
  border-color: var(--home-line) !important;
  background: rgba(255,255,255,.66);
}
#plans .ysl-home-path:hover { background: #fff; }
#plans .ysl-home-path-no { margin-bottom: 76px; }
#plans .ysl-home-path strong { font-size: clamp(21px, 2vw, 28px); }
#plans .ysl-home-path-copy { color: var(--home-muted); font-size: 14px; }

/* Journal section uses photography and quiet typography like the blog archive. */
#blog-teaser .blog-teaser-header::before {
  content: "SELECTED STORIES";
  display: block;
  margin-bottom: 18px;
  color: var(--home-gold);
  font: 10px/1.5 Arial, sans-serif;
  letter-spacing: .3em;
}
#blog-teaser .blog-teaser-header h2 {
  color: var(--home-ink) !important;
  font-size: clamp(27px, 3.3vw, 40px) !important;
  font-weight: 400 !important;
  letter-spacing: .1em !important;
}
#blog-teaser .blog-teaser-sub { color: var(--home-muted) !important; font-size: 14px !important; }
#blog-teaser .blog-cards {
  margin-top: clamp(58px, 7vw, 88px);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(26px, 3vw, 46px) !important;
}
#blog-teaser .blog-card-item {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.home-journal-image {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0 0 28px;
  background: var(--home-mist);
}
.home-journal-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.78) brightness(1.04);
  transition: transform .7s ease;
}
#blog-teaser .blog-card-item:hover .home-journal-image img { transform: scale(1.025); }
#blog-teaser .blog-card-item h3 {
  color: var(--home-ink) !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.85 !important;
}
#blog-teaser .blog-card-excerpt {
  display: -webkit-box;
  overflow: hidden;
  color: var(--home-muted) !important;
  font-size: 13px !important;
  line-height: 2 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#blog-teaser .blog-card-link,
#blog-teaser .ysl-text-link { color: var(--home-gold) !important; font-size: 12px !important; letter-spacing: .15em; }

.ysl-disclosure { background: var(--home-white) !important; border-color: var(--home-line) !important; }
.ysl-disclosure > summary { border-color: var(--home-line) !important; }
.ysl-disclosure-title { color: var(--home-ink); font-weight: 400; }

#cta-final .cta-h,
#cta-final .cta-p { color: var(--home-ink) !important; }
#cta-final .cta-p { font-size: 14px !important; line-height: 2.2 !important; }

@media (max-width: 760px) {
  #hero {
    display: flex !important;
    min-height: 0;
    flex-direction: column;
  }
  #hero .hero-text { padding: 70px 25px 76px !important; }
  #hero .hero-h1 { font-size: 31px !important; }
  #hero .hero-image { min-height: 52vh; order: -1; }
  #hero .hero-image img { object-position: 68% center; }
  section:not(#hero) { padding-top: 92px !important; padding-bottom: 92px !important; }
  #why-ysl .merit-list { grid-template-columns: 1fr; }
  #why-ysl .merit-card {
    min-height: 0;
    padding: 42px 24px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--home-line) !important;
  }
  #why-ysl .merit-card:last-child { border-bottom: 0 !important; }
  #plans .ysl-home-path { min-height: 270px; padding: 38px 27px 32px; }
  #plans .ysl-home-path-no { margin-bottom: 42px; }
  #blog-teaser .blog-cards { grid-template-columns: 1fr; gap: 68px !important; }
  .home-journal-image { margin-bottom: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-journal-image img { transition: none; }
}
