/* Home Management — the supporting MAINTAIN pathway */

.home-management-page { overflow: clip; }

.hm-hero {
  background: var(--deep);
  color: var(--white);
  min-height: 100svh;
  overflow: hidden;
  position: relative;
}

.hm-hero__media,
.hm-hero__image,
.hm-hero__shade {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.hm-hero__media { display: block; }
.hm-hero__media .hm-hero__image { position: static; }

.hm-hero__image {
  animation: hero-reveal 1.4s cubic-bezier(.2,.8,.2,1) both;
  object-fit: cover;
  object-position: center 48%;
}

.hm-hero__shade {
  background:
    linear-gradient(90deg,rgba(7,12,10,.84) 0%,rgba(7,12,10,.42) 46%,rgba(7,12,10,.12) 75%,rgba(7,12,10,.28) 100%),
    linear-gradient(0deg,rgba(7,12,10,.84) 0%,transparent 58%);
}

.hm-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100svh;
  padding-bottom: clamp(74px,8vw,132px);
  padding-top: 150px;
  position: relative;
  z-index: 2;
}

.hm-hero__content h1 {
  font-family: var(--hero-h1-family);
  font-size: var(--hero-h1-size);
  font-weight: var(--hero-h1-weight);
  letter-spacing: var(--hero-h1-letter-spacing);
  line-height: .86;
  margin-top: 28px;
  max-width: 1040px;
}

.hm-hero__content h1 em { color: #d7ba82; font-style: normal; }
.hm-hero__content > p:not(.eyebrow) {
  color: rgba(255,254,249,.82);
  font-size: clamp(1rem,1.25vw,1.22rem);
  line-height: 1.82;
  margin-top: 38px;
  max-width: 760px;
}

.hm-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 40px; }
.hm-hero__actions .hero-cta { margin: 0; width: auto; }
.hm-hero__signature {
  bottom: 28px;
  color: rgba(255,254,249,.72);
  font-family: var(--serif);
  font-size: .78rem;
  font-style: italic;
  left: max(32px,calc((100vw - 1540px)/2));
  position: absolute;
  z-index: 2;
}

.hm-prose p { color: #535855; font-size: clamp(1rem,1.18vw,1.18rem); line-height: 1.9; }
.hm-prose p + p { margin-top: 1.15em; }

.hm-intro {
  align-items: center;
  display: grid;
  gap: clamp(64px,9vw,150px);
  grid-template-columns: .86fr 1.14fr;
}
.hm-intro__copy h2 {
  font-size: clamp(3.7rem,6.4vw,7.3rem);
  margin: 26px 0 42px;
  max-width: 760px;
}
.hm-intro__image { margin: 0; position: relative; }
.hm-intro__image::before {
  border: 1px solid rgba(164,131,79,.55);
  content: "";
  inset: 22px -22px -22px 22px;
  pointer-events: none;
  position: absolute;
}
.hm-intro__image img {
  aspect-ratio: 3 / 2;
  display: block;
  height: auto;
  object-fit: cover;
  object-position: 52% 55%;
  width: 100%;
}
.hm-intro__image figcaption {
  background: var(--paper);
  bottom: -1px;
  color: var(--brass);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .17em;
  padding: 20px 28px 0 0;
  position: absolute;
  text-transform: uppercase;
}

.hm-paths { background: #e9e2d7; }
.hm-section-heading {
  align-items: end;
  display: grid;
  gap: clamp(48px,8vw,132px);
  grid-template-columns: 1.25fr .75fr;
  margin-bottom: clamp(62px,7vw,108px);
}
.hm-section-heading h2 { font-size: clamp(3.5rem,5.9vw,6.7rem); margin-top: 24px; max-width: 920px; }
.hm-section-heading > p { color: #565b58; font-size: 1.08rem; line-height: 1.85; max-width: 540px; }
.hm-paths__grid { border-top: 1px solid rgba(25,32,30,.22); display: grid; grid-template-columns: repeat(3,1fr); }
.hm-path-card {
  min-height: 410px;
  padding: clamp(40px,5vw,76px) clamp(26px,4vw,62px);
  position: relative;
  transition: background-color 300ms ease, color 300ms ease, transform 500ms cubic-bezier(.2,.8,.2,1);
}
.hm-path-card + .hm-path-card { border-left: 1px solid rgba(25,32,30,.22); }
.hm-path-card:hover { background: rgba(255,254,249,.58); transform: translateY(-5px); }
.hm-path-card__number { color: var(--brass); font-family: var(--serif); }
.hm-path-card .eyebrow { margin-top: 52px; }
.hm-path-card h3 { font-size: clamp(2.8rem,4vw,4.6rem); margin: 22px 0 28px; }
.hm-path-card > p:last-child { color: #565b58; line-height: 1.8; max-width: 390px; }

.hm-standard { background: var(--forest); color: var(--white); display: grid; grid-template-columns: 1fr 1fr; min-height: 760px; }
.hm-standard__image { margin: 0; min-height: 100%; overflow: hidden; }
.hm-standard__image img { height: 100%; object-fit: cover; object-position: center; transition: transform 1s cubic-bezier(.2,.8,.2,1); width: 100%; }
.hm-standard:hover .hm-standard__image img { transform: scale(1.018); }
.hm-standard__copy { align-self: center; padding: clamp(70px,8vw,138px); }
.hm-standard__copy h2 { font-size: clamp(3.7rem,5.8vw,6.6rem); margin: 28px 0 38px; max-width: 720px; }
.hm-standard__copy .hm-prose p { color: rgba(255,254,249,.75); max-width: 630px; }
.hm-standard__copy .arrow-link { border-color: rgba(255,255,255,.34); margin-top: 42px; }

.hm-capabilities { align-items: start; display: grid; gap: clamp(62px,8vw,132px); grid-template-columns: .78fr 1.22fr; }
.hm-capabilities__heading {
  position: sticky;
  top: calc(var(--header-height-sticky) + var(--wp-admin-offset) + 40px);
}
.hm-capabilities__heading h2 { font-size: clamp(3.6rem,5.5vw,6.4rem); margin-top: 26px; max-width: 650px; }
.hm-capabilities__grid { border-top: 1px solid rgba(25,32,30,.2); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.hm-capabilities__grid article { border-bottom: 1px solid rgba(25,32,30,.2); min-height: 300px; padding: clamp(34px,4vw,58px); }
.hm-capabilities__grid article:nth-child(odd) { border-right: 1px solid rgba(25,32,30,.2); }
.hm-capabilities__grid article > span { color: var(--brass); font-family: var(--serif); }
.hm-capabilities__grid h3 { font-size: clamp(2rem,2.7vw,3.1rem); margin: 38px 0 20px; }
.hm-capabilities__grid p { color: #5b605d; line-height: 1.8; }

.hm-process { background: var(--white); }
.hm-process__heading { max-width: 1100px; }
.hm-process__heading h2 { font-size: clamp(3.5rem,6vw,6.8rem); margin-top: 28px; }
.hm-process__steps { counter-reset: steps; display: grid; grid-template-columns: repeat(5,1fr); list-style: none; margin: clamp(70px,8vw,118px) 0 0; padding: 0; }
.hm-process__steps li { border-top: 1px solid rgba(25,32,30,.25); min-height: 350px; padding: 38px clamp(18px,2.5vw,38px) 0 0; position: relative; }
.hm-process__steps li + li { padding-left: clamp(18px,2.5vw,38px); }
.hm-process__steps li + li::before { background: rgba(25,32,30,.2); content: ""; height: 110px; left: 0; position: absolute; top: 38px; width: 1px; }
.hm-process__steps li > span { color: var(--brass); font-family: var(--serif); font-size: clamp(2.8rem,4.5vw,5rem); line-height: 1; }
.hm-process__steps h3 { font-family: var(--sans); font-size: .75rem; font-weight: 600; letter-spacing: .12em; line-height: 1.45; margin: 36px 0 18px; text-transform: uppercase; }
.hm-process__steps p { color: #5a5f5c; font-size: .94rem; line-height: 1.75; }

.hm-pathways { background: var(--deep); color: var(--white); }
.hm-pathways__heading { margin-bottom: clamp(62px,7vw,105px); max-width: 1080px; }
.hm-pathways__heading .eyebrow { display: block; margin: 0 0 clamp(20px,2.4vw,32px); }
.hm-pathways__heading h2 { font-size: clamp(3.7rem,6vw,6.8rem); margin: 0; max-width: 1080px; text-align: left; text-wrap: balance; }
.hm-pathways__grid { border-top: 1px solid rgba(255,255,255,.2); display: grid; grid-template-columns: repeat(3,1fr); }
.hm-pathways__grid a { min-height: 380px; padding: clamp(38px,4vw,62px); position: relative; transition: background-color 250ms ease; }
.hm-pathways__grid a + a { border-left: 1px solid rgba(255,255,255,.2); }
.hm-pathways__grid a:hover, .hm-pathways__grid a:focus-visible { background: rgba(255,255,255,.055); }
.hm-pathways__grid a > span { color: #d7ba82; font-family: var(--serif); }
.hm-pathways__grid h3 { font-size: clamp(3.1rem,4vw,4.8rem); margin: 54px 0 26px; }
.hm-pathways__grid p { color: rgba(255,254,249,.7); line-height: 1.8; max-width: 390px; }
.hm-pathways__grid em { bottom: 48px; color: #d7ba82; font-size: .66rem; font-style: normal; font-weight: 600; letter-spacing: .15em; position: absolute; text-transform: uppercase; }
.hm-pathways__grid em b { display: inline-block; font-weight: 400; margin-left: 18px; }

.hm-faq { align-items: start; display: grid; gap: clamp(64px,9vw,150px); grid-template-columns: .75fr 1.25fr; }
.hm-faq__heading h2 { font-size: clamp(3.6rem,5.7vw,6.5rem); margin-top: 26px; max-width: 620px; }
.hm-faq__list { border-top: 1px solid rgba(25,32,30,.25); }
.hm-faq details { border-bottom: 1px solid rgba(25,32,30,.25); }
.hm-faq summary { align-items: center; display: flex; font-family: var(--serif); font-size: clamp(1.65rem,2.2vw,2.45rem); gap: 30px; justify-content: space-between; line-height: 1.2; list-style: none; padding: 34px 0; }
.hm-faq summary::-webkit-details-marker { display: none; }
.hm-faq summary i { height: 18px; position: relative; width: 18px; }
.hm-faq summary i::before, .hm-faq summary i::after { background: var(--brass); content: ""; left: 0; position: absolute; top: 8px; transition: transform 250ms ease; }
.hm-faq summary i::before { height: 1px; width: 18px; }
.hm-faq summary i::after { height: 18px; left: 8px; top: 0; width: 1px; }
.hm-faq details[open] summary i::after { transform: scaleY(0); }
.hm-faq details > div { max-width: 720px; padding: 0 54px 34px 0; }
.hm-faq details > div p { color: #5b605d; line-height: 1.85; }

.hm-proof { background: #dfd5c6; border-block: 1px solid rgba(25,32,30,.12); }
.hm-proof .shell { display: grid; grid-template-columns: repeat(3,1fr); }
.hm-proof p { min-height: 170px; padding: 48px clamp(24px,4vw,58px); }
.hm-proof p + p { border-left: 1px solid rgba(25,32,30,.18); }
.hm-proof strong { display: block; font-family: var(--serif); font-size: clamp(1.8rem,2.5vw,2.7rem); font-weight: 400; line-height: 1.15; }
.hm-proof span { color: #5d615f; display: block; font-size: .72rem; letter-spacing: .08em; margin-top: 14px; text-transform: uppercase; }

.hm-inquiry { align-items: stretch; display: grid; grid-template-columns: .85fr 1.15fr; padding-bottom: clamp(100px,10vw,180px); }
.hm-inquiry__intro { background: var(--forest); color: var(--white); padding: clamp(52px,7vw,108px); }
.hm-inquiry__intro h2 { font-size: clamp(3.4rem,5.4vw,6.2rem); margin: 30px 0 38px; }
.hm-inquiry__intro .hm-prose p { color: rgba(255,254,249,.74); }
.hm-inquiry__contact { border-top: 1px solid rgba(255,255,255,.24); display: grid; gap: 12px; margin-top: 50px; padding-top: 32px; }
.hm-inquiry__contact a { color: #d7ba82; font-size: .74rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.hm-inquiry__form { min-width: 0; }
.hm-inquiry__form iframe { border: 0; min-height: 760px; width: 100%; }

@media (max-width: 1120px) {
  .hm-capabilities { grid-template-columns: 1fr; }
  .hm-capabilities__heading { position: static; }
  .hm-capabilities__heading h2 { max-width: 920px; }
  .hm-process__steps { grid-template-columns: repeat(3,1fr); }
  .hm-process__steps li:nth-child(n+4) { margin-top: 54px; }
  .hm-inquiry { grid-template-columns: .95fr 1.05fr; }
}

@media (max-width: 760px) {
  .hm-hero { min-height: 100svh; }
  .hm-hero__image { object-position: center; }
  .hm-hero__content { min-height: 100svh; padding-bottom: 82px; padding-top: 116px; }
  .hm-hero__content h1 { font-size: var(--hero-h1-size-mobile); line-height: .88; margin-top: 22px; }
  .hm-hero__content > p:not(.eyebrow) { font-size: .98rem; line-height: 1.72; margin-top: 28px; }
  .hm-hero__actions { display: grid; width: 100%; }
  .hm-hero__actions .hero-cta { justify-content: space-between; width: 100%; }
  .hm-hero__signature { bottom: 24px; left: 22px; }

  .hm-intro, .hm-section-heading, .hm-faq, .hm-inquiry { grid-template-columns: 1fr; }
  .hm-intro { gap: 58px; }
  .hm-intro__image { margin-right: 12px; }
  .hm-intro__image::before { inset: 12px -12px -12px 12px; }
  .hm-intro__image img { aspect-ratio: 4 / 3; object-position: 50% 55%; }

  .hm-section-heading { align-items: start; }
  .hm-paths__grid { grid-template-columns: 1fr; }
  .hm-path-card { min-height: 0; padding: 46px 0 54px; }
  .hm-path-card + .hm-path-card { border-left: 0; border-top: 1px solid rgba(25,32,30,.22); }
  .hm-path-card:hover { transform: none; }
  .hm-path-card .eyebrow { margin-top: 34px; }

  .hm-standard { grid-template-columns: 1fr; min-height: 0; }
  .hm-standard__image { height: 112vw; max-height: 620px; }
  .hm-standard__copy { padding: 78px 28px 88px; }

  .hm-capabilities__grid { grid-template-columns: 1fr; }
  .hm-capabilities__grid article { min-height: 0; padding: 38px 0 48px; }
  .hm-capabilities__grid article:nth-child(odd) { border-right: 0; }
  .hm-capabilities__grid h3 { margin-top: 26px; }

  .hm-process__steps { grid-template-columns: 1fr; }
  .hm-process__steps li, .hm-process__steps li + li { min-height: 0; padding: 30px 0 42px 92px; }
  .hm-process__steps li:nth-child(n+4) { margin-top: 0; }
  .hm-process__steps li + li::before { height: 1px; left: 0; top: 0; width: 100%; }
  .hm-process__steps li > span { left: 0; position: absolute; top: 31px; }
  .hm-process__steps h3 { margin: 0 0 14px; }

  .hm-pathways__grid { grid-template-columns: 1fr; }
  .hm-pathways__grid a { min-height: 335px; }
  .hm-pathways__grid a + a { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }

  .hm-faq details > div { padding-right: 0; }
  .hm-faq summary { font-size: 1.65rem; }

  .hm-proof .shell { grid-template-columns: 1fr; }
  .hm-proof p { min-height: 0; padding-inline: 0; }
  .hm-proof p + p { border-left: 0; border-top: 1px solid rgba(25,32,30,.18); }

  .hm-inquiry__intro { padding: 74px 28px; }
  .hm-inquiry__form { padding: 42px 24px; }
  .hm-inquiry__form iframe { min-height: 900px; }
}

@media (prefers-reduced-motion: reduce) {
  .hm-hero__image { animation: none; }
  .hm-path-card, .hm-standard__image img { transition: none; }
}
