/* Shared header/footer and homepage layouts, scoped to .new-home. */
.new-home { --home-gutter: min(1.5rem, 6vw); --home-line: #cbd5cf; --home-muted: #48605a; --home-base: #fafaf6; --focus-ring: #784631; --link-hover: #784631; background: var(--home-base); color: var(--harbor-deep); font-size: 1.125rem; line-height: 1.5; }
.new-home [hidden] { display: none !important; }
.new-home .home-container { inline-size: 100%; max-inline-size: 90rem; margin-inline: auto; padding-inline: var(--home-gutter); }
.new-home a { color: inherit; }
.new-home a:hover { color: var(--link-hover); }
.new-home :where(a, button, summary):focus-visible { outline: .1875rem solid var(--focus-ring); outline-offset: .375rem; }
.new-home :where(h1, h2, h3, p) { margin-block: 0; }
.new-home :where(h1, h2, h3) { font-family: Mukta, 'Noto Sans', sans-serif; color: var(--harbor-deep); }
.new-home h1 { font-size: 2.25rem; font-weight: 400; line-height: 1.1; letter-spacing: -.035em; text-wrap: pretty; }
.new-home h2 { font-size: 2.375rem; font-weight: 400; line-height: 1.16; letter-spacing: -.025em; text-wrap: pretty; }
.new-home .home-header { position: relative; z-index: 10; gap: 1rem; min-block-size: 5.5rem; padding: 1rem var(--home-gutter); border-bottom: 1px solid #e5e8e1; background: #fdfdfb; }
.new-home .home-brand { position: relative; display: inline-flex; align-items: flex-start; inline-size: 11.5rem; max-inline-size: 100%; flex-shrink: 0; }
.new-home .home-brand img { display: block; inline-size: 100%; block-size: auto; }
.new-home .home-brand sup { position: absolute; inset-inline-end: -.4375rem; inset-block-start: 0; color: var(--harbor); font-size: .625rem; line-height: 1; }
.new-home .home-navigation { inline-size: 100%; }
.new-home .home-navigation ul, .new-home .home-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.new-home .home-navigation ul { flex-direction: column; align-items: stretch; }
.new-home .home-navigation > ul > li { display: flex; align-items: center; }
.new-home .home-navigation > ul > li > a:not(.home-button) { display: flex; line-height: 1.4; }
.new-home .home-navigation > ul > li > .treatments-menu { inline-size: 100%; }
.new-home .home-navigation a { display: inline-flex; align-items: center; min-block-size: 2.75rem; font-size: 1rem; }
.new-home .home-navigation a:not(.home-button):hover, .new-home .home-footer a:hover { text-decoration: underline; text-underline-offset: .25rem; }
.new-home .home-button { display: inline-flex; align-items: center; justify-content: center; gap: .625rem; min-block-size: 3.25rem; max-inline-size: 100%; padding: .75rem 2rem; border: 1px solid var(--harbor); border-radius: 4rem; color: #fff; background: var(--harbor); text-align: center; font-size: 1.125rem; font-weight: 600; line-height: 1.3; text-decoration: none; }
.new-home .home-button:hover { color: #fff; background: #173337; border-color: #173337; }
.new-home .home-button:active { translate: 0 1px; }
.new-home .home-mobile-contact { margin-inline-start: auto; padding-inline: 1.125rem; font-size: .9375rem; min-block-size: 2.75rem; }
.new-home .home-menu-toggle { display: flex; align-items: center; justify-content: center; inline-size: 2.75rem; block-size: 2.75rem; padding: .5rem; border: 0; background: transparent; color: var(--harbor); cursor: pointer; order: 3; }
.new-home .home-header > .home-navigation { order: 4; }
.new-home .home-icon { display: inline-block; flex-shrink: 0; inline-size: 1.25rem; block-size: 1.25rem; background: currentColor; mask: var(--home-icon) center / contain no-repeat; }
.new-home .icon-menu { --home-icon: url('/assets/icons/home/list.svg'); inline-size: 1.5rem; block-size: 1.5rem; }
.new-home .home-menu-toggle[aria-expanded="true"] .icon-menu { --home-icon: url('/assets/icons/home/x-lg.svg'); }
.new-home .icon-right { --home-icon: url('/assets/icons/home/arrow-right.svg'); }
.new-home .icon-down { --home-icon: url('/assets/icons/home/arrow-down.svg'); }
.new-home .icon-chevron { --home-icon: url('/assets/icons/home/chevron-down.svg'); inline-size: .875rem; block-size: .875rem; }
.new-home .home-link { display: inline-flex; align-items: center; gap: .875rem; min-block-size: 2.75rem; max-inline-size: 100%; font-size: 1.0625rem; font-weight: 600; text-decoration: underline; text-underline-offset: .25rem; }
.new-home .home-eyebrow { margin-block-end: 1.25rem; color: var(--harbor); font-size: .8125rem; font-weight: 600; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.new-home .home-hero { position: relative; display: flex; flex-direction: column; background: #f5f4ef; min-block-size: calc(100svh - 5.5rem); padding-block-end: 0; }
.new-home .home-hero-copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; padding-block: 3rem 1rem; }
.new-home .home-hero h1 { max-inline-size: 38rem; }
.new-home .home-hero-intro { max-inline-size: 31rem; margin-block-start: 1.25rem; font-size: 1.25rem; line-height: 1.4; }
.new-home .home-hero-copy > .home-button { margin-block-start: 1.5rem; }
.new-home .home-hero-image { order: 3; display: block; inline-size: 100%; block-size: 24rem; object-fit: cover; object-position: 80% 45%; }
.new-home .home-explore { align-self: flex-start; position: relative; z-index: 1; margin: 1.5rem 0 1rem; }
.new-home .home-section { padding-block: 4rem; scroll-margin-top: 1.5rem; }
.new-home .home-intro-grid { display: grid; gap: 2rem; }
.new-home .home-intro-copy { scroll-margin-top: 2rem; }
.new-home .home-intro-copy > p { max-inline-size: 35rem; font-size: 1.3125rem; line-height: 1.5; }
.new-home .home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem; margin-block-start: 2rem; }
.new-home .home-journey { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"), radial-gradient(ellipse at 85% 20%, #c5dfd2 0%, #e1ece4 50%, #edf1e9 100%); }
.new-home .home-journey-grid { display: grid; gap: 2.5rem; }
.new-home .home-section-intro p { max-inline-size: 23rem; margin-block-start: 1.5rem; font-size: 1.25rem; line-height: 1.5; color: var(--home-muted); }
.new-home .home-section-intro > .home-link { margin-block-start: 1.5rem; }
.new-home .home-disclosures details { border-block-start: 1px solid var(--home-line); }
.new-home .home-disclosures details:last-child { border-block-end: 1px solid var(--home-line); }
.new-home .home-disclosures summary { display: flex; align-items: baseline; gap: 1rem; min-block-size: 4.25rem; padding: 1.25rem .25rem; cursor: pointer; list-style: none; font-size: 1.125rem; font-weight: 600; line-height: 1.4; }
.new-home summary::-webkit-details-marker { display: none; }
.new-home .home-disclosures summary > .icon-chevron { align-self: center; margin-inline-start: auto; }
.new-home .home-disclosures details[open] summary > .icon-chevron { rotate: 180deg; }
.new-home .home-step { color: #48605a; font-size: 1rem; font-weight: 400; min-inline-size: 1.625rem; }
.new-home .home-detail-copy { padding: 0 .5rem 1.5rem; color: #405a53; font-size: 1.0625rem; line-height: 1.5; }
.new-home .home-detail-copy p + p { margin-block-start: .75rem; }
.new-home .home-journey .home-detail-copy { padding-inline-start: 2.875rem; }
.new-home .home-journey details[open] { background: #ffffff38; }
.new-home .home-journey-more { margin-block-start: 1.5rem; }
.new-home .home-listening-label { margin-block-end: 2rem; }
.new-home .home-care-cards { display: grid; gap: 0; }
.new-home .home-care-card { position: relative; min-inline-size: 0; padding: 1.75rem 1rem; border-block-start: 1px solid var(--home-line); }
.new-home .home-care-card:last-child { border-block-end: 1px solid var(--home-line); }
.new-home .home-care-card summary { display: block; padding-inline-end: 0; list-style: none; cursor: pointer; }
.new-home .home-card-title { display: block; font-size: 1.75rem; font-weight: 400; line-height: 1.2; letter-spacing: -.025em; }
.new-home .home-card-control { --home-icon: url('/assets/icons/home/plus-circle.svg'); position: static; margin-block-start: 1.25rem; inline-size: 2.75rem; block-size: 2.75rem; mask-size: 1.75rem; }
.new-home .home-care-card > p { margin-block: 1rem .5rem; padding-inline-end: 1rem; font-size: 1.125rem; line-height: 1.5; }
.new-home .home-care-card[open] { --focus-ring: #dec2b9; --link-hover: #dec2b9; background: var(--harbor); color: #fff; }
.new-home .home-care-card[open] .home-card-control { --home-icon: url('/assets/icons/home/dash-circle.svg'); }
.new-home .home-listening-actions { display: grid; justify-items: center; gap: 1.75rem; margin-block-start: 2rem; }
.new-home .home-listening-actions p { color: var(--home-muted); font-size: 1rem; }
.new-home .home-faq { border-top: 1px solid #e3e6df; }
.new-home .home-faq-grid { display: grid; gap: 2.5rem; }
.new-home .home-faq .home-disclosures summary { font-size: 1.0625rem; }
.new-home .home-faq summary:focus-visible { outline-offset: 0; }
.new-home .home-closing { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"), linear-gradient(110deg, #e8efe6 0%, #c5dfd2 65%, #8ab5a4 100%); }
.new-home .home-closing h2 { margin-block-end: 1.75rem; }
.new-home .home-footer { padding-block: 2.75rem 1.5rem; background: #fdfdfb; }
.new-home .home-footer-main { display: flex; flex-wrap: wrap; align-items: center; gap: 1.75rem 2rem; padding-block-end: 2rem; border-block-end: 1px solid var(--home-line); }
.new-home .home-footer .home-brand { inline-size: 10rem; }
.new-home .home-footer ul { gap: .75rem 1.25rem; }
.new-home .home-footer a { display: inline-flex; align-items: center; min-block-size: 2.75rem; }
.new-home .home-footer a, .new-home .home-footer span { font-size: .9375rem; }
.new-home .home-emergency { max-inline-size: 17rem; font-size: .875rem; line-height: 1.4; color: var(--home-muted); }
.new-home .home-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1.5rem; padding-block-start: 1.5rem; color: var(--home-muted); }
.new-home .home-footer-bottom ul { align-items: center; }
.new-home .home-footer-bottom p { font-size: .8125rem; }
.new-home .home-holding { display: grid; align-content: center; min-block-size: calc(100svh - 5.5rem); padding-block: 5rem; }
.new-home .home-holding h1 { max-inline-size: 46rem; }
.new-home .home-holding p:not(.home-eyebrow) { max-inline-size: 35rem; margin-block: 1.5rem 0; font-size: 1.3125rem; }
.new-home .home-holding .home-button { justify-self: start; margin-block-start: 2rem; }
@media (max-width: 25rem) {
  .new-home .home-header { gap: .5rem; }
  .new-home .home-header .home-brand { inline-size: 9rem; }
  .new-home .home-mobile-contact { padding-inline: .875rem; font-size: .875rem; }
}
@media (min-width: 56.25rem) {
  .new-home { --home-gutter: 3rem; }
  .new-home h1 { font-size: 3.25rem; }
  .new-home h2 { font-size: 3rem; }
  .new-home .home-hero { display: flex; flex-direction: row; flex-wrap: wrap; min-block-size: calc(100svh - 6rem); }
  .new-home .home-hero-image { position: static; flex: 1 1 30rem; min-inline-size: 0; inline-size: 50%; block-size: auto; min-block-size: 30rem; object-position: 75% 45%; mask-image: linear-gradient(to right, transparent, #000 24%); }
  .new-home .home-hero-copy { position: relative; flex: 1 1 30rem; inline-size: 50%; min-inline-size: 0; min-block-size: inherit; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 4rem 8rem; }
  .new-home .home-hero h1 { max-inline-size: 37rem; }
  .new-home .home-hero-intro { max-inline-size: 30rem; }
  .new-home .home-explore { position: absolute; inset-inline-start: var(--home-gutter); inset-block-end: 2.75rem; margin: 0; }
  .new-home .home-section { padding-block: 6rem; }
  .new-home .home-intro-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr)); gap: 4rem; align-items: center; }
  .new-home .home-intro { display: flex; align-items: center; min-block-size: 32rem; }
  .new-home .home-intro-copy { padding-inline-start: 3rem; border-inline-start: 1px solid var(--home-line); }
  .new-home .home-journey { min-block-size: 44rem; display: flex; align-items: center; }
  .new-home .home-journey-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 5rem; align-items: center; }
  .new-home .home-section-intro h2 { max-inline-size: 18rem; }
  .new-home .home-care-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
  .new-home .home-care-card { min-block-size: 24rem; padding: 3rem 2rem; border-block: 0; border-inline-start: 1px solid var(--home-line); }
  .new-home .home-care-card:first-child { border-inline-start: 0; }
  .new-home .home-care-card:last-child { border-block-end: 0; }
  .new-home .home-care-card summary { padding-inline-end: 0; }
  .new-home .home-card-title { font-size: 2.625rem; }
  .new-home .home-card-control { position: absolute; margin-block-start: 0; inset-inline-start: 2rem; inset-inline-end: auto; inset-block-start: auto; inset-block-end: 2.25rem; inline-size: 2.75rem; block-size: 2.75rem; mask-size: 2rem; }
  .new-home .home-care-card > p { padding-inline-end: 0; margin-block-end: 3rem; }
  .new-home .home-listening-label { margin-block-end: 3rem; }
  .new-home .home-listening-actions { margin-block-start: 3rem; }
  .new-home .home-faq-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr)); gap: 4rem; }
  .new-home .home-faq .home-disclosures { border-inline-start: 1px solid var(--home-line); padding-inline-start: 3rem; }
  .new-home .home-faq .home-disclosures details:first-child { border-block-start: 0; }
  .new-home .home-closing { min-block-size: 24rem; display: flex; align-items: center; }
}
@media (min-width: 64rem) {
  .new-home .home-header { min-block-size: 6rem; flex-wrap: wrap; }
  .new-home .home-navigation { inline-size: auto; max-inline-size: 100%; }
  .new-home .home-header > .home-navigation { order: initial; }
  .new-home .home-navigation ul { flex-direction: row; align-items: center; gap: .5rem 1.5rem; }
  .new-home .home-navigation .home-button { padding: .625rem 1.75rem; font-size: 1rem; min-block-size: 2.875rem; }
  .new-home .home-menu-toggle, .new-home .home-mobile-contact { display: none; }
}
@media (min-width: 80rem) {
  .new-home { --home-gutter: max(5rem, calc((100% - 80rem) / 2)); }
  .new-home .home-container { max-inline-size: none; }
  .new-home h1 { font-size: 3.5rem; }
  .new-home .home-header .home-brand { inline-size: 13rem; }
  .new-home .home-navigation ul { gap: 1rem 2rem; }
  .new-home .home-intro-grid { gap: 6rem; }
  .new-home .home-intro-copy { padding-inline-start: 4rem; }
  .new-home .home-journey-grid { gap: 7rem; }
  .new-home .home-care-card { padding-inline: 3rem; }
  .new-home .home-card-control { inset-inline-start: 3rem; }
  .new-home .home-footer-main { flex-wrap: wrap; }
  .new-home .home-footer-main nav { flex: 1; }
  .new-home .home-emergency { border-inline-start: 1px solid var(--home-line); padding-inline-start: 2rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .new-home .home-button { transition: background-color 180ms ease, translate 180ms ease; }
  .new-home .home-care-card { transition: color 300ms ease, background-color 300ms ease; }
  .new-home .home-card-title { transition: translate 300ms ease; }
  .new-home .home-care-card[open] .home-card-title { translate: 0 -.375rem; }
  .new-home .home-care-card[open] > p { animation: home-reveal 300ms ease both; }
  .new-home .icon-chevron { transition: rotate 180ms ease; }
  @keyframes home-reveal { from { opacity: 0; translate: 0 .375rem; } to { opacity: 1; translate: 0 0; } }
}
