/* Homepage reduction only. It reuses the Merimei V2 tokens and typography. */
.home-hero { min-height: 50svh; padding-top: clamp(4.5rem, 5vw, 5.5rem); }
.home-hero .hero-title { font-size: clamp(3.4rem, 5.8vw, 8rem); line-height: .88; }
.home-hero .hero-statement-group { display: block; }
.home-hero .hero-statement-group + .hero-statement-group { margin-top: clamp(1.1rem, 1.7vw, 2rem); }
.home-hero .round-link { width: 5rem; }
.home-hero .hero-foot p { margin: 0; }
.home-do { padding: clamp(2.75rem, 3vw, 3.5rem) var(--pad); background: var(--paper); }
.home-do .section-heading { margin-bottom: clamp(1.75rem, 2.5vw, 2.5rem); }
.home-do .section-heading h2 { font-size: clamp(2.7rem, 5vw, 5.2rem); line-height: 1.08; }
.home-do-intro { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.home-do-intro .lead { margin: 0; }
.home-do-intro > p:last-child { max-width: 27rem; margin: 0; font-size: 1.1rem; line-height: 1.55; }
.home-offers { margin-top: clamp(2.5rem, 4vw, 4rem); border-top: 1px solid var(--line); }
.home-offers article { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.home-offers .service-no { color: #654a25; font-size: .7rem; letter-spacing: .1em; }
.home-offers h3 { margin: 0 0 .4rem; font: 500 clamp(2rem, 3.6vw, 3.7rem)/.95 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.home-offers p { max-width: 35rem; margin: 0; font-size: 1.05rem; }
.home-offers small { display: block; margin-top: .7rem; color: #654a25; font-size: .68rem; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.home-offer-systems { background: var(--sand); margin-inline: calc(var(--pad) * -1); padding-inline: var(--pad) !important; }

.home-proof { padding: clamp(3rem, 3vw, 3.75rem) var(--pad); background: var(--navy); color: #fff; }
.home-proof .section-heading { border-color: #ffffff40; margin-bottom: clamp(1.75rem, 2.5vw, 2.5rem); }
.home-proof .section-heading h2 { max-width: 13ch; margin: 0; text-align: right; font: 500 clamp(2.2rem, 4.3vw, 4.6rem)/.94 var(--display); letter-spacing: -.06em; text-transform: uppercase; }
.home-proof .project-kicker { color: var(--gold); }
.proof-feature { display: grid; grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 5vw, 6rem); align-items: center; padding-bottom: clamp(2.25rem, 3vw, 3rem); border-bottom: 1px solid #ffffff40; }
.proof-copy h3 { margin: 1rem 0 1rem; font: 500 clamp(4rem, 8vw, 8.5rem)/.86 var(--display); letter-spacing: -.08em; }
.proof-copy > p:not(.project-kicker) { max-width: 25rem; margin: 0 0 1.5rem; color: #d6dbe2; font-size: 1.1rem; line-height: 1.5; }
.proof-copy .text-link,
.proof-card .text-link,
.proof-all-link { display: inline-flex; align-items: center; gap: 1.5rem; min-height: 44px; padding: .55rem 0 .3rem; border-bottom: 1px solid currentColor; color: #fff; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.proof-copy .text-link span,
.proof-card .text-link span,
.proof-all-link span { color: var(--gold); font-size: 1rem; }
.proof-image { display: block; overflow: hidden; }
.proof-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.7,.3,1); }
.proof-image:hover img,
.proof-image:focus-visible img { transform: scale(1.03); }
.proof-image-system { aspect-ratio: 2 / 1; background: #ebe8e1; }
.proof-secondary { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 4vw, 5rem); padding-top: clamp(1.75rem, 2.5vw, 2.5rem); }
.proof-card { border-top: 1px solid #ffffff40; padding-top: .85rem; }
.proof-card .proof-image { aspect-ratio: 2 / 1; background: #171a20; }
.proof-card-blush .proof-image img { object-position: center 50%; }
.proof-card-kora .proof-image img { object-position: center 52%; }
.proof-card > div { padding-top: 1rem; }
.proof-card h3 { margin: .7rem 0 .45rem; font: 500 clamp(1.9rem, 3vw, 3rem)/.95 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.proof-card > div > p:not(.project-kicker) { margin: 0 0 1rem; color: #c8ced7; font-size: .95rem; }
.proof-all-link { margin-top: clamp(2.25rem, 3vw, 3rem); }

.home-why { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); gap: clamp(3rem, 8vw, 9rem); align-items: end; padding: clamp(2.75rem, 3vw, 3.5rem) var(--pad); background: #fff; }
.home-why h2 { max-width: 11ch; margin-top: 1.25rem; font-size: clamp(3.4rem, 6.5vw, 7rem); line-height: .95; }
.home-why-copy { max-width: 32rem; }
.home-why-copy .lead { margin: 0 0 1rem; }
.home-why-copy > p:last-child { margin: 0; font-size: 1.1rem; line-height: 1.6; color: #454b54; }

.home-cta.contact { min-height: 42svh; padding: clamp(1.5rem, 2vw, 2rem) var(--pad); }
.home-cta h2 { margin: .75rem 0; font-size: clamp(3rem, 4vw, 5rem); }
.home-cta .contact-actions { padding-top: .5rem; }
.home-footer { grid-template-columns: 1fr auto; gap: 2rem; padding: 1.5rem var(--pad); align-items: center; }
.home-footer-right { display: flex; align-items: center; gap: clamp(1.2rem, 2vw, 2.5rem); }
.home-footer-right nav { display: flex; align-items: center; gap: clamp(1rem, 1.8vw, 2rem); }
.home-footer-right p { margin: 0; white-space: nowrap; }

@media (max-width: 800px) {
  .home-hero { min-height: 42svh; padding-top: 4.5rem; }
  .home-hero .hero-locations { position: static !important; order: -1; margin: 0 0 .9rem; font-size: .62rem; }
  .home-hero .eyebrow { max-width: none; }
  .home-hero .hero-foot { margin-top: 1.5rem; }
  .home-hero .hero-title { font-size: clamp(2.6rem, 9.5vw, 3.8rem); line-height: .9; }
  .home-hero .hero-statement-group + .hero-statement-group { margin-top: 1rem; }
  .home-hero .round-link { width: 4rem; }
  .home-do { padding: 2.25rem 1.25rem; }
  .home-do .section-heading { display: block; margin-bottom: 1.75rem; }
  .home-do .section-heading .eyebrow { margin-bottom: 1rem; }
  .home-do .section-heading h2 { font-size: clamp(2.6rem, 10vw, 4rem); line-height: 1.08; }
  .home-do-intro { display: block; }
  .home-do-intro .lead { margin-bottom: 1rem; font-size: 1.45rem; }
  .home-do-intro > p:last-child { max-width: 25rem; font-size: 1rem; }
  .home-offers { margin-top: 2rem; }
  .home-offers article { grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; padding: 1rem 0; }
  .home-offers h3 { font-size: clamp(1.9rem, 9vw, 3.1rem); }
  .home-offers p { font-size: 1rem; line-height: 1.55; }
  .home-offers small { font-size: .65rem; }
  .home-offer-systems { margin-inline: -1.25rem; padding-inline: 1.25rem !important; }

  .home-proof { padding: 2.25rem 1.25rem; }
  .home-proof .section-heading { display: block; margin-bottom: 2rem; }
  .home-proof .section-heading .eyebrow { margin-bottom: 1rem; }
  .home-proof .section-heading h2 { max-width: 14ch; text-align: left; font-size: clamp(2.35rem, 10vw, 4rem); }
  .proof-feature { display: flex; flex-direction: column; gap: 1rem; align-items: stretch; padding-bottom: 2.5rem; }
  .proof-image-system { order: -1; aspect-ratio: 16 / 9; }
  .proof-copy h3 { margin: .8rem 0 .9rem; font-size: clamp(3.8rem, 19vw, 6rem); }
  .proof-copy > p:not(.project-kicker) { margin-bottom: 1rem; font-size: 1rem; }
  .proof-secondary { grid-template-columns: 1fr; gap: 1rem; padding-top: 2rem; }
  .proof-card { display: grid; grid-template-columns: minmax(6.5rem, 34%) minmax(0, 1fr); gap: .9rem; align-items: start; padding-top: .75rem; }
  .proof-card .proof-image { aspect-ratio: 1 / 1; }
  .proof-card > div { padding-top: 0; }
  .proof-card h3 { margin-top: .4rem; font-size: clamp(1.65rem, 6.5vw, 2.1rem); }
  .proof-card > div > p:not(.project-kicker) { font-size: 1rem; }
  .proof-all-link { margin-top: 2rem; }

  .home-why { display: block; padding: 2rem 1.25rem; }
  .home-why h2 { margin: 1rem 0 2rem; font-size: clamp(3rem, 12vw, 4.3rem); line-height: .98; }
  .home-why-copy .lead { font-size: 1.4rem; }
  .home-why-copy > p:last-child { font-size: 1rem; }

  .home-cta.contact { min-height: 38svh; padding: 2rem 1.25rem 1.75rem; }
  .home-cta h2 { margin: .5rem 0; font-size: clamp(2.3rem, 10vw, 3.8rem); }
  .home-cta h2 span:last-child { margin-top: .75rem; }
  .home-cta .contact-actions { margin-top: 1rem; padding-top: .5rem; gap: .5rem; }
  .home-cta .contact-actions > div { flex-direction: row; flex-wrap: wrap; gap: .25rem .5rem; }
  .home-footer { padding: 1.1rem 1.25rem; gap: 1rem; }
  .home-footer-right { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .home-footer-right nav { flex-wrap: wrap; gap: 1rem 1.5rem; }
  .home-footer-right p { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  .proof-image img { transition: none !important; }
}
