/* Image-led home: tropical greens, warm gold, river blue, and soft lavender. */
.home { background: #f7f4e9; }
.home h2 { font-size: clamp(2.8rem, 4.7vw, 5.2rem); line-height: 1.04; text-wrap: balance; }
.home a:focus-visible { outline: 3px solid #b8801f; outline-offset: 5px; }
.home .hero { min-height: 790px; }
.home .hero-intro { max-width: 620px; }
.home .button-primary { background: #ecad6b; border-color: #ecad6b; color: #152c23; }
.home .button-primary:hover { background: #f7c18b; }
.home .site-header nav { gap: .6rem 1.2rem; justify-content: flex-end; }
.home .site-header nav a { letter-spacing: .04em; }
.home-ribbon { display: flex; justify-content: center; align-items: center; gap: clamp(1rem, 4vw, 4rem); padding: 1.5rem; background: #e7cb80; font-size: .9rem; font-weight: 650; }
.home-ribbon i { color: #577446; font-size: 1.5rem; font-style: normal; }
.home-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; }
.home-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(2rem, 5vw, 5.5rem) max(2rem, calc((100vw - 1280px) / 2)); }
.home-feature-copy > p:not(.eyebrow) { font-size: 1.08rem; max-width: 540px; margin: 1.3rem 0 0; }
.home-feature .eyebrow, .home-land .eyebrow, .home-platform .eyebrow, .home-path .eyebrow { letter-spacing: .09em; }
.home-feature-art { position: relative; margin: 0; min-width: 0; }
.home-feature-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 67% center; }
.home-feature-art figcaption, .home-land-art figcaption, .home-path-art figcaption { position: absolute; bottom: 1rem; right: 1rem; margin-left: 1rem; padding: .4rem .65rem; color: #fff; background: #163a2be6; font-size: .75rem; }
.home-link { display: inline-block; margin-top: 1.65rem; font-size: .95rem; font-weight: 750; text-decoration: underline; text-underline-offset: .35em; }
.home-link + .home-link { margin-top: .9rem; }
.home-welcome { background: #e3ead7; }
.home-feature.reverse .home-feature-copy { order: 2; }
.home-feature.reverse .home-feature-art { order: 1; }
.home-community { background: #eed29a; }
.home-wellness { background: #ddd0e6; }
.home-wellness .home-feature-art img { object-position: 71% center; }
.home-pillars { padding-block: 5.5rem; }
.home-pillar-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; margin-top: 2rem; }
.home-pillar { display: flex; flex-direction: column; overflow: hidden; text-decoration: none; border-radius: 3px; transition: transform .18s ease; }
.home-pillar:hover { transform: translateY(-4px); }
.home-pillar img { width: 100%; aspect-ratio: 1.5; object-fit: cover; object-position: 65% center; display: block; }
.home-pillar-number { padding: 1rem 1.4rem; font-size: .875rem; font-weight: 650; }
.home-pillar > div { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.home-pillar h3 { font: 400 clamp(1.7rem,2.4vw,2.35rem)/1.08 Georgia,serif; letter-spacing: -.03em; margin: 0; }
.home-pillar p { font-size: 1rem; margin-block: 1rem 1.8rem; }
.home-card-link { font-size: .875rem; font-weight: 700; margin-top: auto; }
.land-color { background: #d2e2b4; }
.wellness-color { background: #e2cfe9; }
.tech-color { background: #bedfd9; }
.home-land { background: #204b38; color: #f6f7e9; }
.home-land-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1.4rem 4rem; width: min(calc(100% - 3rem),1280px); margin: auto; padding: 4.5rem 0 3rem; }
.home-land-heading .eyebrow { grid-column: 1 / -1; color: #d7e7ad; margin: 0; }
.home-land-heading h2 { grid-row: span 2; }
.home-land-heading > p:not(.eyebrow) { margin: 0; align-self: end; max-width: 480px; font-size: 1.1rem; }
.home-land-heading .home-link { margin: 0; align-self: start; }
.home-land-art { position: relative; margin: 0; }
.home-land-art img { width: 100%; height: clamp(330px,43vw,660px); object-fit: cover; object-position: 62% 55%; display: block; }
.home-land-notes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: min(calc(100% - 3rem),1280px); margin: auto; }
.home-land-notes article { padding: 2rem; border-inline-start: 1px solid #ffffff35; }
.home-land-notes article:last-child { border-inline-end: 1px solid #ffffff35; }
.home-land-notes span { color: #d6e7a7; font-size: .875rem; }
.home-land-notes h3 { font: 400 1.8rem/1.1 Georgia,serif; margin: .7rem 0; }
.home-land-notes p { margin: 0; color: #e0e9d7; }
.home-platform.section { width: 100%; padding: 5.5rem max(1.5rem,calc((100% - 1280px) / 2)); background: #153e43; color: #f2f5e9; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4rem; }
.home-platform-copy > p:not(.eyebrow) { font-size: 1.06rem; max-width: 560px; }
.home-platform .eyebrow { color: #cce5b0; }
.home-platform-copy .button { margin-top: 1rem; }
.home-platform-window { min-width: 0; overflow: hidden; border: 1px solid #63847f; border-radius: 12px; box-shadow: 0 25px 60px #061d2366; background: #f1f0e4; color: #153e34; }
.window-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .9rem 1rem; font-size: .875rem; background: #dce6d8; }
.window-bar > span:last-child { margin-left: auto; }
.window-dots { color: #688d72; letter-spacing: .15em; }
.home-platform-window > img { display: block; width: 100%; aspect-ratio: 1.85; object-fit: cover; object-position: 66% center; }
.window-caption { padding: 1.2rem 1.3rem; }
.window-caption strong { font: 400 1.75rem/1.1 Georgia,serif; }
.window-caption p { margin-bottom: 0; font-size: .95rem; }
.window-links { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #b3c4b7; border-top: 1px solid #b3c4b7; }
.window-links a { padding: 1rem; font-size: .875rem; letter-spacing: 0; text-transform: none; background: #e2eadc; }
.window-links a:hover, .window-links a:focus-visible { background: #cfe0b7; color: #153e34; }
.home-path { display: grid; grid-template-columns: 1fr 1fr; background: #e9bf91; }
.home-path-art { margin: 0; position: relative; min-width: 0; }
.home-path-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 68% center; }
.home-path-copy { padding: 4.5rem max(2rem,calc((100vw - 1280px) / 2)); }
.home-stages { list-style: none; padding: 0; margin: 2rem 0 0; }
.home-stages li { display: flex; gap: 1.2rem; padding: 1rem 0; border-bottom: 1px solid #68533740; }
.home-stages li > span { font-size: .875rem; margin-top: .2rem; }
.home-stages h3 { margin: 0; font-size: 1rem; }
.home-stages p { margin: .2rem 0 0; font-size: .95rem; }
.home-notebook { padding-block: 5.5rem; }
.home-closing { padding: 4.5rem max(1.5rem,calc((100% - 1280px) / 2)); background: #cfdfa7; display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.home-closing p { margin: 0; font: 400 clamp(2.8rem,5vw,5rem)/1.03 Georgia,serif; letter-spacing: -.04em; }
@media(min-width:1600px) {
  .home-feature-copy, .home-path-copy { padding-inline: 5rem; max-width: 800px; }
  .home-feature:not(.reverse) .home-feature-copy { margin-left: auto; }
}
@media(max-width:1050px) {
  .home .site-header .wordmark small { display: none; }
  .home-feature-copy, .home-path-copy { padding: 3rem 2rem; }
  .home-platform.section { gap: 2rem; }
  .home-pillar-grid { gap: .8rem; }
  .home-pillar > div { padding: 1.2rem; }
}
@media(max-width:780px) {
  .home .hero { min-height: 760px; }
  .home .site-header nav { justify-content: flex-start; gap: .5rem 1rem; }
  .home-ribbon { flex-wrap: wrap; gap: .5rem 1rem; font-size: .875rem; }
  .home-ribbon i { font-size: 1rem; }
  .home-feature, .home-path, .home-platform.section { grid-template-columns: 1fr; }
  .home-feature { min-height: 0; }
  .home-feature-copy, .home-path-copy { padding: 3rem 1.25rem; }
  .home-feature.reverse .home-feature-copy, .home-feature.reverse .home-feature-art { order: initial; }
  .home-feature-art img { height: auto; aspect-ratio: 1.35; }
  .home-pillar-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .home-pillar h3 { font-size: 2.1rem; }
  .home-pillar img { aspect-ratio: 1.8; }
  .home-land-heading { grid-template-columns: 1fr; gap: 1.4rem; width: calc(100% - 2.5rem); padding-top: 3rem; }
  .home-land-heading h2 { grid-row: auto; }
  .home-land-notes { grid-template-columns: 1fr; width: calc(100% - 2.5rem); }
  .home-land-notes article { padding: 1.5rem 0; border-inline: 0; border-bottom: 1px solid #ffffff35; }
  .home-land-notes article:last-child { border-inline: 0; border-bottom: 0; }
  .home-platform.section { padding: 3rem 1.25rem; }
  .home-path-art img { height: auto; aspect-ratio: 1.4; }
  .home-closing { align-items: flex-start; flex-direction: column; padding: 3rem 1.25rem; }
  .home-pillars, .home-notebook { padding-block: 3.5rem; }
}
@media(prefers-reduced-motion:reduce) { .home-pillar { transition: none; } .home-pillar:hover { transform: none; } }
