/* HPD Editorial Homepage 1.0 — all editorial rules scoped to hpd22. */
.hpd22-home,.hpd22-section { --hpd-blue:#073a71; --hpd-red:#c82232; --hpd-ink:#152638; --hpd-muted:#566579; box-sizing:border-box; }
.hpd22-home *,.hpd22-section * { box-sizing:border-box; }
.hpd22-home { max-width:1240px; margin:0 auto; padding:20px 22px 48px; background:#fff; color:var(--hpd-ink); }
.hpd22-home a,.hpd22-section a { color:inherit; text-decoration:none; }
.hpd22-home a:focus-visible,.hpd22-section a:focus-visible { outline:3px solid var(--hpd-red); outline-offset:4px; }
.hpd22-home a:hover,.hpd22-section a:hover { color:var(--hpd-blue); text-decoration:underline; }
.hpd22-breaking { display:flex; align-items:stretch; gap:18px; border:1px solid #dce3ec; background:#f4f7fb; margin-bottom:28px; }
.hpd22-breaking > strong { display:flex; align-items:center; flex:none; padding:12px 18px; background:var(--hpd-red); color:white; text-transform:uppercase; font:800 .8rem/1.3 system-ui,sans-serif; letter-spacing:.05em; }
.hpd22-breaking ul { display:grid; grid-template-columns:1fr 1fr; gap:18px; list-style:none; margin:0; padding:12px 16px 12px 0; width:100%; }
.hpd22-breaking li { display:flex; flex-direction:column; gap:5px; min-width:0; font:600 .9rem/1.4 system-ui,sans-serif; }
.hpd22-heading { border-bottom:4px solid var(--hpd-blue); padding-bottom:20px; margin-bottom:26px; }
.hpd22-heading p { margin:0 0 5px; font:800 .8rem/1.4 system-ui,sans-serif; color:var(--hpd-red); text-transform:uppercase; letter-spacing:.16em; }
.hpd22-heading h1 { margin:0; font:800 clamp(1.8rem,4vw,3.1rem)/1.12 Georgia,serif; color:var(--hpd-blue); }
.hpd22-section { margin:0 0 36px; }
.hpd22-section-head { border-bottom:2px solid #dde4ee; margin-bottom:18px; }
.hpd22-section-head h2 { display:inline-block; margin:0 0 -2px; padding:0 0 10px; border-bottom:3px solid var(--hpd-red); font:800 1.3rem/1.2 system-ui,sans-serif; color:var(--hpd-blue); }
.hpd22-cards { display:grid; gap:22px; }
.hpd22-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hpd22-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) { grid-template-columns:repeat(4,minmax(0,1fr)); }
.hpd22-card { min-width:0; border:1px solid #e1e7ee; background:#fff; box-shadow:0 2px 8px #17345408; }
.hpd22-photo { display:block; aspect-ratio:16/10; overflow:hidden; background:#edf2f8; }
.hpd22-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.hpd22-placeholder { display:flex; align-items:center; justify-content:center; background:linear-gradient(140deg,#e7edf5,#f6f8fb); border-bottom:1px solid #dce3ec; }
.hpd22-placeholder span { color:#687e99; text-transform:uppercase; letter-spacing:.15em; font:700 .85rem system-ui,sans-serif; }
.hpd22-card-text { padding:16px 18px 20px; }
.hpd22-kicker { margin:0 0 8px; color:var(--hpd-red); font:800 .7rem/1.3 system-ui,sans-serif; letter-spacing:.05em; text-transform:uppercase; }
.hpd22-card h3 { margin:0 0 12px; font:700 1.15rem/1.3 Georgia,serif; overflow-wrap:anywhere; }
.hpd22-card time,.hpd22-breaking time { color:var(--hpd-muted); font:400 .75rem/1.4 system-ui,sans-serif; }
.hpd22-excerpt { margin:12px 0 0; color:#425365; font:400 .95rem/1.55 system-ui,sans-serif; }
.hpd22-hero { grid-template-columns:1fr; }
.hpd22-hero .hpd22-card { display:grid; grid-template-columns:1.7fr 1fr; border:0; box-shadow:none; background:#f2f5f9; }
.hpd22-hero .hpd22-photo { height:100%; min-height:320px; aspect-ratio:16/10; }
.hpd22-hero .hpd22-card-text { padding:30px; align-self:center; }
.hpd22-hero h3 { font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.12; }
.hpd22-list { grid-template-columns:1fr; gap:0; }
.hpd22-list .hpd22-card { display:grid; grid-template-columns:180px 1fr; border:0; border-bottom:1px solid #dce3ec; box-shadow:none; padding:14px 0; }
.hpd22-list .hpd22-card-text { padding:0 18px; }
.hpd22-empty { margin:0; padding:18px; border:1px dashed #c9d4e1; color:var(--hpd-muted); font:400 .95rem/1.5 system-ui,sans-serif; }
body.hpd22-fullwidth #primary,body.hpd22-fullwidth .content-area { width:100%; max-width:100%; float:none; margin-right:0; }
body.hpd22-fullwidth #secondary { display:none; }
@media(max-width:960px) {
 .hpd22-grid,.hpd22-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hpd22-hero .hpd22-card { grid-template-columns:1fr; }
 .hpd22-hero .hpd22-photo { min-height:0; height:auto; }
}
@media(max-width:600px) {
 .hpd22-home { padding:14px 12px 28px; }
 .hpd22-breaking { flex-direction:column; gap:0; }
 .hpd22-breaking > strong { padding:9px 14px; }
 .hpd22-breaking ul { grid-template-columns:1fr; gap:12px; padding:12px 14px; }
 .hpd22-grid,.hpd22-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) { grid-template-columns:1fr; }
 .hpd22-cards { gap:18px; }
 .hpd22-hero .hpd22-card-text { padding:20px; }
 .hpd22-list .hpd22-card { grid-template-columns:110px 1fr; }
 .hpd22-list .hpd22-card-text { padding:0 12px; }
 .hpd22-card h3 { font-size:1.2rem; }
}
@media(prefers-reduced-motion:reduce) { .hpd22-home * { scroll-behavior:auto; } }
