.landing-page {
  --bg: #f8f7f4;
  --text: #1c1c1a;
  --body-text: #45443f;
  --muted: #686762;
  --line: #dcdad3;
  --hover: #eceae4;
  --footer: #232320;
  background: var(--bg);
}

.landing-page .site-header {
  border-bottom: 1px solid var(--line);
  background: rgba(248, 247, 244, .97);
}
.landing-page .header-inner { width: min(1320px, calc(100% - 96px)); }
.landing-page .brand { font-size: 1.52rem; letter-spacing: -.055em; }
.landing-page .header-links { gap: clamp(18px, 2.4vw, 36px); }
.landing-page .header-links a { font-size: .88rem; font-weight: 600; }
.landing-page .header-links .header-contact {
  padding: 11px 17px;
  border-radius: 999px;
  background: var(--text);
  color: #fff;
}
.landing-page .header-links .header-contact:hover { background: #42423e; text-decoration: none; }
.landing-page .header-contact span { margin-left: 8px; }
.landing-page .header-links a[href^="#"][aria-current="page"] { text-decoration: none; }
.skip-link {
  position: fixed;
  z-index: 100;
  top: -60px;
  left: 16px;
  padding: 10px 14px;
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  text-decoration: none;
}
.skip-link:focus { top: 10px; }

.landing-page h1, .landing-page h2, .landing-page h3 { letter-spacing: -.055em; }
.landing-page h1 { grid-column: auto; }
.landing-page section[id] { scroll-margin-top: calc(var(--header-height) + 24px); }

.landing-hero { border-bottom: 1px solid var(--line); }
.landing-hero-inner {
  width: min(1320px, calc(100% - 96px));
  margin: 0 auto;
  padding: clamp(78px, 8vw, 118px) 0 105px;
}
.hero-copy {
  display: grid;
  grid-template-columns: minmax(0, 1.24fr) minmax(0, .76fr);
  align-items: end;
  gap: clamp(35px, 5vw, 90px);
  margin-bottom: 75px;
}
.home-eyebrow, .section-index {
  margin: 0;
  color: #6d6b65;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.home-eyebrow { margin-bottom: 25px; }
.landing-page .hero-copy h1 {
  margin: 0;
  font-size: clamp(3.2rem, 4.7vw, 4.75rem);
  font-weight: 650;
  line-height: 1.26;
  letter-spacing: -.075em;
  white-space: nowrap;
}
.hero-description {
  max-width: 465px;
  margin: 0;
  color: var(--body-text);
  font-family: var(--font-serif);
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
  line-height: 1.86;
}
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 25px; margin-top: 30px; }
.home-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 29px;
  min-height: 49px;
  padding: 12px 19px;
  border-radius: 3px;
  background: var(--text);
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 160ms ease;
}
.home-button:hover { background: #42423e; color: #fff; }
.home-text-link { font-size: .87rem; font-weight: 700; text-decoration: none; }
.home-text-link span { margin-left: 7px; }
.home-text-link:hover { text-decoration: underline; }

.hero-visual {
  display: flex;
  flex-direction: column;
  min-height: 440px;
  padding: 30px clamp(30px, 4vw, 58px) 0;
  overflow: hidden;
  background: linear-gradient(120deg, #343430, #222320 75%);
  color: #f5f4ef;
}
.visual-topline {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  color: #c2c1bb;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .13em;
}
.visual-statement {
  margin: auto 0;
  font-family: var(--font-serif);
  font-size: clamp(2.5rem, 4vw, 4.4rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: 1.42;
}
.visual-formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #ffffff6b; }
.visual-formats > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 85px;
  padding: 17px 23px 17px 0;
}
.visual-formats > div + div { padding-left: 23px; border-left: 1px solid #ffffff45; }
.visual-formats span { color: #c2c1bb; font-size: .65rem; font-weight: 700; letter-spacing: .11em; }
.visual-formats strong { flex: none; font-size: 1.12rem; font-weight: 600; }

.home-discover {
  width: min(1320px, calc(100% - 96px));
  margin: 0 auto;
  padding: 115px 0 130px;
}
.home-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 48px; }
.home-section-heading h2, .care-copy h2 {
  margin: 17px 0 0;
  font-size: clamp(2.4rem, 3.6vw, 4rem);
  font-weight: 650;
  line-height: 1.27;
}
.home-section-heading > p {
  max-width: 350px;
  margin: 0 0 6px;
  color: var(--body-text);
  font-family: var(--font-serif);
  font-size: 1.07rem;
  line-height: 1.8;
}
.home-path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 54px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.home-path {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 316px;
  padding: 27px 34px 29px;
  text-decoration: none;
  transition: background 160ms ease;
}
.home-path:first-child { padding-left: 0; }
.home-path + .home-path { border-left: 1px solid var(--line); }
.home-path:hover { background: var(--hover); color: var(--text); }
.path-number { color: #77756f; font-size: .69rem; font-weight: 700; letter-spacing: .14em; }
.home-path h3 { margin: 74px 0 14px; font-size: 2rem; font-weight: 650; }
.home-path p { max-width: 330px; margin: 0; color: var(--body-text); font-size: .9rem; line-height: 1.85; }
.path-link { display: flex; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 27px; font-size: .82rem; font-weight: 700; }

.home-care { border-top: 1px solid var(--line); background: #ebe9e3; }
.home-care-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .88fr);
  gap: clamp(50px, 8vw, 130px);
  width: min(1320px, calc(100% - 96px));
  margin: 0 auto;
  padding: 104px 0 115px;
}
.care-copy > p:last-child { max-width: 520px; margin: 27px 0 0; color: var(--body-text); font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.85; }
.care-links { align-self: center; }
.care-links a { display: flex; justify-content: space-between; gap: 20px; padding: 23px 1px; border-bottom: 1px solid #c8c6bf; font-size: clamp(1rem, 1.45vw, 1.3rem); font-weight: 650; text-decoration: none; }
.care-links a:first-child { border-top: 1px solid #c8c6bf; }
.care-links a:hover { color: #64635e; }
.care-links a span:last-child { color: #77756f; }

.home-footer { background: #232320; }
.home-footer-inner { width: min(1320px, calc(100% - 96px)); margin: 0 auto; padding: 69px 0 26px; }
.home-footer-top { display: flex; justify-content: space-between; gap: 60px; padding-bottom: 80px; }
.home-footer-brand strong { color: #fff; font-size: 2rem; font-weight: 700; letter-spacing: -.06em; }
.home-footer-brand p { margin: 13px 0 0; color: #cbc9c3; font-family: var(--font-serif); font-size: .95rem; }
.home-footer-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(45px, 7vw, 110px); }
.home-footer-columns div { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.home-footer-columns h2 { margin: 0 0 10px; color: #aaa8a2; font-size: .79rem; font-weight: 700; letter-spacing: .08em; }
.home-footer-columns a { color: #f2f1ec; font-size: .84rem; text-decoration: none; }
.home-footer-columns a:hover, .home-footer-bottom a:hover { text-decoration: underline; }
.home-footer-bottom { display: flex; flex-wrap: wrap; gap: 16px 35px; padding-top: 22px; border-top: 1px solid #ffffff30; color: #c2c0ba; font-size: .76rem; }
.home-footer-bottom a { color: inherit; text-decoration: none; }
.home-footer-bottom a:last-child { margin-left: auto; }

@media (max-width: 1080px) {
  .hero-copy { gap: 35px; }
  .landing-page .hero-copy h1 { font-size: clamp(2.75rem, 4.5vw, 4.4rem); }
  .home-path { padding-right: 23px; padding-left: 23px; }
}
@media (max-width: 980px) {
  .landing-page .header-inner { width: min(100% - 48px, 1320px); }
  .landing-hero-inner { width: min(100% - 64px, 900px); padding: 82px 0 85px; }
  .hero-copy { grid-template-columns: 1fr; align-items: start; gap: 26px; margin-bottom: 52px; }
  .landing-page .hero-copy h1 { font-size: clamp(3.15rem, 6.3vw, 4.6rem); }
  .hero-description { max-width: 650px; }
  .hero-visual { min-height: 400px; }
  .home-discover, .home-care-inner, .home-footer-inner { width: min(100% - 64px, 900px); }
}
@media (max-width: 700px) {
  .landing-page .header-inner { width: calc(100% - 40px); }
  .landing-page .brand { font-size: 1.32rem; }
  .landing-hero-inner { width: calc(100% - 40px); padding: 63px 0 67px; }
  .home-eyebrow { margin-bottom: 22px; font-size: .65rem; }
  .landing-page .hero-copy h1 { font-size: clamp(2.2rem, 8.3vw, 3.3rem); line-height: 1.29; }
  .hero-copy { gap: 24px; margin-bottom: 44px; }
  .hero-description { font-size: .98rem; line-height: 1.8; }
  .hero-actions { gap: 16px; margin-top: 26px; }
  .home-button { min-height: 48px; }
  .hero-visual { min-height: 350px; padding: 23px 23px 0; }
  .visual-topline { font-size: .53rem; }
  .visual-statement { font-size: clamp(2.05rem, 7.5vw, 3.3rem); }
  .visual-formats > div { display: block; min-height: 77px; padding: 16px 8px 12px 0; }
  .visual-formats > div + div { padding-left: 10px; }
  .visual-formats span { display: block; min-height: 23px; font-size: .52rem; letter-spacing: .05em; }
  .visual-formats strong { font-size: .96rem; }
  .home-discover { width: calc(100% - 40px); padding: 84px 0 91px; }
  .home-section-heading { display: block; }
  .home-section-heading h2, .care-copy h2 { font-size: clamp(2.08rem, 8vw, 2.8rem); }
  .home-section-heading > p { max-width: 520px; margin: 22px 0 0; font-size: .99rem; }
  .home-path-grid { grid-template-columns: 1fr; margin-top: 33px; }
  .home-path, .home-path:first-child { min-height: 0; padding: 25px 0 27px; }
  .home-path + .home-path { border-top: 1px solid var(--line); border-left: 0; }
  .home-path h3 { margin: 33px 0 9px; font-size: 1.55rem; }
  .home-path p { font-size: .87rem; }
  .path-link { margin-top: 24px; padding-top: 0; }
  .home-care-inner { display: block; width: calc(100% - 40px); padding: 80px 0 88px; }
  .care-copy > p:last-child { margin-top: 22px; font-size: .98rem; }
  .care-links { margin-top: 39px; }
  .care-links a { padding: 19px 1px; font-size: .98rem; }
  .home-footer-inner { width: calc(100% - 40px); padding: 55px 0 25px; }
  .home-footer-top { display: block; padding-bottom: 51px; }
  .home-footer-columns { gap: 28px; margin-top: 45px; }
  .home-footer-columns div { gap: 13px; }
  .home-footer-columns a { font-size: .78rem; }
  .home-footer-bottom a:last-child { margin-left: 0; }
}
@media (max-width: 380px) {
  .landing-page .hero-copy h1 { font-size: clamp(1.78rem, 8.2vw, 2rem); }
  .hero-visual { min-height: 325px; }
  .visual-topline { font-size: .47rem; }
  .visual-statement { font-size: 7.1vw; }
}
@media (prefers-reduced-motion: reduce) {
  .home-button, .home-path { transition: none; }
}
