/* Why COHARY only: a quiet, readable statement of experience. */
.why-page .experience-assurance { padding-block: clamp(4rem, 7vw, 6rem); }
.why-page .assurance-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  align-items: end;
  gap: clamp(2rem, 5vw, 5rem);
  margin-bottom: 3rem;
}
.why-page .assurance-intro h2 {
  margin: 0;
  font-size: clamp(2.25rem, 3.8vw, 3.75rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.045em;
  color: #1d1d1f;
}
.why-page .assurance-intro h2 span { color: #777c7e; }
.why-page .assurance-intro > p,
.why-page .assurance-points p {
  margin: 0;
  color: #5f6368;
  font-size: 1.0625rem;
  line-height: 1.65;
}
.why-page .assurance-intro > p { max-width: 28rem; }
.why-page .assurance-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.75rem, 4vw, 4rem);
}
.why-page .assurance-points h3 {
  margin: 0 0 .75rem;
  color: #1d1d1f;
  font-size: 1.25rem;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.02em;
}
@media (max-width: 800px) {
  .why-page .assurance-intro { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 2.5rem; }
  .why-page .assurance-points { grid-template-columns: 1fr; gap: 2rem; }
  .why-page .assurance-points p { max-width: 38rem; }
}

/* The opening follows the homepage's headline-left, copy-right composition. */
.why-page .about-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
}
.why-page .about-opening {
  display: block;
  max-width: 37rem;
  margin: 0;
}
.why-page .about-opening > p,
.why-page .about-opening .lead {
  max-width: none;
  margin: 0;
  color: #5f6368;
  font-size: 1.05rem;
  line-height: 1.55;
}
.why-page .about-opening > p + p { margin-top: 1.25rem; }

/* The centered roots statement is an intentional quiet pause. */
.why-page .roots-line {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 28rem;
  margin: 2rem auto 0;
  padding: 0;
  border: 0;
  text-align: center;
  color: #777c7e;
  font-size: clamp(1.25rem, 1.8vw, 1.75rem);
  line-height: 1.45;
  letter-spacing: -.025em;
}
.why-page .roots-line > * { display: block; }
.why-page .roots-line strong { color: #1d1d1f; font-weight: 700; }
.why-page .roots-line strong + span { margin-top: .65rem; }

/* Major section titles use the same scale and weight as Journey and DEPTH. */
.why-page .about-hero h1,
.why-page .relationship-grid h2,
.why-page .assurance-intro h2,
.why-page .why-intro h2,
.why-page .spirit-story h2,
.why-page .contact-intro h2 {
  margin: 0;
  max-width: 100%;
  font-size: var(--v3-section-heading-size) !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.055em;
  color: #1d1d1f;
}
.why-page .assurance-intro h2 span,
.why-page .spirit-story h2 span,
.why-page .contact-intro h2 .heading-soft { color: #777c7e; }

/* Exact homepage form structure and presentation, scoped to this page. */
.why-page #contact { padding: 3rem 0; }
.why-page #contact .contact-layout {
  max-width: var(--v3-content-width);
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 3vw, 3rem);
  align-items: start;
}
.why-page #contact .contact-intro { position: static; }
.why-page #contact .contact-intro > p:last-child {
  max-width: 27rem;
  margin-top: 1rem;
  font-size: 1.05rem;
  line-height: 1.55;
}
.why-page #contact .contact-form { padding: clamp(1.2rem, 2vw, 1.7rem); border-radius: 1.1rem; }
.why-page #contact .form-grid { gap: .65rem .85rem; }
.why-page #contact input,
.why-page #contact textarea { margin-top: .35rem; padding: .6rem .75rem; }
.why-page #contact textarea { min-height: 10rem; font-weight: 400; }
.why-page #contact .button {
  min-height: 3.15rem;
  padding: .8rem 1.35rem;
  border-radius: 999px;
  font-size: .95rem;
  font-weight: 600;
  background: #0876e8;
  color: #fff;
}
@media (max-width: 1000px) {
  .why-page #contact .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .why-page .about-hero { grid-template-columns: 1fr; gap: 2rem; }
  .why-page .roots-line { margin-top: 2rem; }
}
@media (max-width: 720px) {
  .why-page #contact { padding: 2.5rem 0; }
  .why-page #contact .contact-form { padding: 1rem; }
  .why-page #contact textarea { min-height: 9rem; }
}

/* Six equally framed principles, with less unused space inside each card. */
.why-page .principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.why-page .principles article,
.why-page .principles article:last-child {
  grid-column: auto;
  min-height: 0;
  padding: clamp(1.5rem, 2.8vw, 2.25rem);
}
.why-page .principles article:last-child p { max-width: 39rem; }
@media (max-width: 720px) {
  .why-page .principles { grid-template-columns: 1fr; }
}

/* Quick arrival, followed by the established scroll reveal. */
@keyframes why-arrive { from { opacity: 0; } to { opacity: 1; } }
.why-page .about-hero { animation: why-arrive .35s ease-out both; }
.scroll-reveal-ready .why-page .scroll-reveal,
.scroll-reveal-ready .why-page .scroll-reveal-child { transition-duration: .45s; }
@media (prefers-reduced-motion: reduce) {
  .why-page .about-hero { animation: none; }
  .scroll-reveal-ready .why-page .scroll-reveal,
  .scroll-reveal-ready .why-page .scroll-reveal-child { transition: none; }
}
