/* Editorial homepage; scoped separately from the shared workforce styles. */
.qcp-public { --read-ink:#292b29; --read-muted:#62665e; --read-rule:#dedfd9; }
.read-story,.read-service { color:var(--read-ink); }
.read-story { max-width:1440px; margin:auto; padding:56px 40px 64px; }
.read-introduction { display:grid; grid-template-columns:1.12fr 1fr; gap:48px; align-items:center; }
.read-portrait { display:block; width:100%; height:auto; }
.read-eyebrow { margin:0 0 18px; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.read-intro-copy h1 { margin:0 0 24px; font:400 clamp(28px,2.5vw,40px)/1.35 Georgia,serif; }
.read-intro-copy p:not(.read-eyebrow),.read-story-body p,.read-service p { font-size:17px; line-height:1.85; }
.read-intro-copy p:last-child { margin-bottom:0; }
.read-story-body { max-width:900px; margin:56px auto 0; }
.read-story-body p { margin:0 0 24px; }
.read-story-body p:last-child { margin-bottom:0; }
.read-service { max-width:1440px; margin:auto; padding:52px 40px; border-top:1px solid var(--read-rule); }
.read-service h2 { margin:0 0 36px; text-align:center; font:400 clamp(30px,3.5vw,44px)/1.25 Georgia,serif; }
.read-service-grid { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:48px; }
.read-service h3 { margin:0 0 18px; font:400 clamp(25px,2.4vw,32px)/1.3 Georgia,serif; }
.read-site-preview { display:block; border:1px solid var(--read-rule); }
.read-site-preview img { display:block; width:100%; height:auto; }
.read-service-link { display:inline-block; margin-top:10px; color:var(--blue); font-weight:700; text-underline-offset:5px; }
.read-service a:focus-visible { outline:3px solid var(--blue); outline-offset:6px; }
.qcp-public .qcp-services { border-top:1px solid var(--read-rule); }
@media(max-width:850px) {
 .read-introduction,.read-service-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .read-story,.read-service { padding:36px 24px; }
 .read-story-body { margin-top:32px; }
 .read-service h2 { margin-bottom:28px; }
 .qcp-public .qcp-nav { gap:16px; flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
