/* Homepage only: preserve the nine cards and show one full-width row panel. */
.home-observation-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start;overflow-anchor:none}
.home-observation-card{position:relative;cursor:pointer;user-select:text;-webkit-user-select:text}
.home-observation-toggle{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--sage-deep);font:inherit;font-size:24px;cursor:pointer}
.home-observation-toggle:focus-visible{outline:3px solid var(--sage);outline-offset:2px}
.home-observation-panel{grid-column:1 / -1;min-width:0;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--sage-soft);user-select:text;-webkit-user-select:text}
.home-observation-panel[hidden]{display:none!important}
.home-observation-panel p{display:block;margin:0;font-size:16px;line-height:1.85;color:var(--ink);white-space:normal;overflow:visible;overflow-wrap:break-word;-webkit-line-clamp:unset}
.home-observation-panel p+p{margin-top:14px}
@media(max-width:768px){
 .home-observation-grid{grid-template-columns:minmax(0,1fr)!important}
 .home-observation-panel{padding:18px 20px}
}

/* Homepage reading scale; override the existing compact-card typography only here. */
.home-observation-grid .home-observation-card h3{font-size:25px!important;font-weight:700;line-height:1.45!important}
.home-observation-grid .home-observation-card p{display:block!important;font-size:19px!important;line-height:1.65!important;overflow:visible!important;-webkit-line-clamp:unset!important;white-space:normal;overflow-wrap:break-word}
.home-observation-panel p{font-size:20px;line-height:1.85}
.home-observation-toggle{font-size:26px}
#flow-steps .home-companion-intro{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr);align-items:center;gap:32px;margin-bottom:26px}
#flow-steps .home-companion-copy{min-width:0}
#flow-steps .home-companion-photo{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;max-width:380px;justify-self:end;border-radius:22px}
@media(max-width:768px){
 .home-observation-grid .home-observation-card h3{font-size:22px!important;line-height:1.5!important}
 .home-observation-grid .home-observation-card p{font-size:17px!important;line-height:1.8!important}
 .home-observation-panel p{font-size:18px;line-height:1.85}
 .home-observation-toggle{font-size:24px}
 #flow-steps .home-companion-intro{grid-template-columns:minmax(0,1fr);gap:20px}
 #flow-steps .home-companion-photo{max-width:380px;justify-self:center}
}

/* Preserve the accompaniment heading sizes after adding the photo wrapper. */
.flow-section .home-companion-copy>.kicker{font-size:clamp(1.5rem,3vw,2.35rem)!important;font-weight:800;line-height:1.25}
.flow-section .home-companion-copy>h2{font-size:1.15rem!important;line-height:1.65}

/* Only the expanded observation body gets the final reading-size increase. */
.home-observation-panel p{font-size:22px;line-height:1.85;color:var(--ink)}
.home-observation-panel p+p{margin-top:20px}
@media(max-width:768px){.home-observation-panel p{font-size:19px;line-height:1.85}}

/* Measure each card's actual rendered summary; synchronize both body paragraphs. */
.home-observation-grid .home-observation-panel p{font-size:var(--home-observation-expanded-font)!important;line-height:1.8!important;color:var(--ink);max-height:none;overflow:visible}
.home-observation-grid .home-observation-panel p+p{margin-top:20px}

/* Separate the restored observation summary from its everyday situation. */
.home-observation-grid .home-observation-card{height:auto;min-height:0;max-height:none;align-self:stretch}
.home-observation-grid .home-observation-card .home-observation-situation{margin-top:12px;line-height:1.8!important;max-height:none;text-overflow:clip;-webkit-line-clamp:unset!important}
.home-observation-situation-label{color:var(--sage-deep);font-weight:600}

/* Put the situation label on its own line; measure text from the subtitle. */
.home-observation-grid .home-observation-card .home-observation-situation{margin-top:16px;font-size:var(--home-observation-situation-font)!important}
.home-observation-situation-label{display:block;margin-bottom:7px;font-size:inherit}

/* Keep the off-screen carousel announcement inside the page bounds. */
.hero-carousel > .sr-only { left: 0; top: 0; }
