/* Homepage hierarchy: promise, possibilities, foundation, invitation.
   Detail pages retain the shared editorial layouts. */
.home-questions { display:grid; grid-template-columns:150px minmax(0,1fr); gap:35px; padding:28px 0 10px; border-top:1px solid var(--hair); }
.questions-caption { padding-top:21px; }
.questions-caption p { margin-top:10px; color:var(--muted); font-size:11px; line-height:1.6; }
.reader-questions { min-width:0; }
.reader-question { display:grid; grid-template-columns:minmax(0,1fr) 24px; align-items:center; gap:25px; padding:18px 0; border-bottom:1px solid var(--hair); color:var(--ink); font:italic 400 clamp(22px,1.9vw,28px)/1.3 var(--serif); letter-spacing:-.015em; text-decoration:none; }
.reader-question:hover, .reader-question:focus-visible { color:var(--teal); }
.reader-arrow { justify-self:end; color:var(--teal); font:400 18px var(--sans); }
/* Overlaid grid cells reserve the widest word, so the question never shifts. */
.wish-word { display:inline-grid; overflow:hidden; vertical-align:bottom; color:var(--teal); }
.wish-word > span { grid-area:1 / 1; animation:wish-roll 15s ease-in-out infinite; }
.wish-word > span:nth-child(2) { animation-delay:-10s; }
.wish-word > span:nth-child(3) { animation-delay:-5s; }
.reader-question:hover .wish-word > span, .reader-question:focus-visible .wish-word > span { animation-play-state:paused; }
@keyframes wish-roll {
  0%, 28% { opacity:1; transform:translateY(0); }
  33.333% { opacity:0; transform:translateY(-110%); }
  33.334%, 94.666% { opacity:0; transform:translateY(110%); }
  100% { opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:reduce) {
  .wish-word > span { animation:none; opacity:0; transform:none; }
  .wish-word > span:first-child { opacity:1; }
}
.home-foundation { margin-top:23px; padding:25px 29px 18px; background:#edf0e9; border-radius:5px; }
.foundation-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding-bottom:20px; }
.foundation-heading h2 { font:400 16px/1.5 var(--sans); color:var(--muted); letter-spacing:-.015em; }
.foundation-heading h2 strong { color:var(--ink); font-weight:600; }
.foundation-heading .plain-link { flex:none; font-size:11px; }
.foundation-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #d1d9cd; }
.foundation-pillars article { padding:20px 25px 18px 0; }
.foundation-pillars article + article { padding-left:25px; border-left:1px solid #d1d9cd; }
.foundation-pillars article:last-child { padding-right:0; }
.foundation-pillars h3 { font:400 25px/1.13 var(--serif); letter-spacing:-.025em; margin:12px 0; }
.foundation-pillars article > p:not(.eyebrow) { font-size:13px; color:var(--muted); line-height:1.65; }
.foundation-note { border-top:1px solid #d1d9cd; padding-top:13px; font-size:10px; color:var(--muted); line-height:1.7; }
.home-invitation { padding:34px 0 28px; }
.invitation-main { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:50px; align-items:start; }
.invitation-copy h2 { font:400 32px/1.12 var(--serif); letter-spacing:-.025em; }
.invitation-copy p { max-width:62ch; color:var(--muted); font-size:14px; line-height:1.65; margin-top:14px; }
.invitation-copy .everyday-terms { color:var(--teal); font-size:13px; font-weight:600; margin-top:15px; }
.invitation-copy .button { margin-top:18px; }
.invitation-reason { border-left:1px solid var(--hair); padding-left:30px; }
.invitation-reason h3 { font:400 22px/1.2 var(--serif); letter-spacing:-.02em; }
.invitation-reason p { color:var(--muted); font-size:13px; line-height:1.65; margin-top:12px; }
.invitation-reason strong { color:var(--teal); font-weight:600; }
.invitation-reason .plain-link { display:inline-block; font-size:12px; margin-top:14px; }
@media (min-width:761px) and (max-width:1100px) {
  .home-questions { grid-template-columns:120px minmax(0,1fr); gap:25px; }
  .invitation-main { gap:30px; }
  .invitation-reason { padding-left:25px; }
}
@media (max-width:760px) {
  .home-questions { grid-template-columns:1fr; gap:6px; padding-top:24px; }
  .questions-caption { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; padding:0 0 7px; }
  .questions-caption p { margin:0; }
  .reader-question { padding:17px 0; gap:18px; font-size:22px; line-height:1.25; }
  .reader-arrow { font-size:17px; }
  .home-foundation { padding:21px 20px 16px; margin-top:18px; }
  .foundation-heading { flex-direction:column; gap:12px; padding-bottom:17px; }
  .foundation-heading h2 { font-size:15px; }
  .foundation-pillars { grid-template-columns:1fr; }
  .foundation-pillars article, .foundation-pillars article + article { padding:19px 0; border-left:0; border-bottom:1px solid #d1d9cd; }
  .foundation-pillars article:last-child { border-bottom:0; }
  .foundation-pillars h3 { font-size:25px; }
  .foundation-pillars article > p:not(.eyebrow) { font-size:13px; }
  .home-invitation { padding-top:27px; }
  .invitation-main { grid-template-columns:1fr; gap:24px; }
  .invitation-copy h2 { font-size:30px; }
  .invitation-reason { border-left:0; border-top:1px solid var(--hair); padding:21px 0 0; }
}
