/* Image-led public collections. Existing controls, reports and document covers stay intact. */
.hd-editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.hd-editorial-card { display:grid; grid-template-columns:40% minmax(0,1fr); min-width:0; min-height:280px; padding:0; overflow:hidden; border:1px solid #c7dedb; border-radius:16px; background:#fff; color:#0b1d26; box-shadow:0 10px 28px #0b1d2608; text-decoration:none; scroll-margin-top:175px; }
.hd-card-media { position:relative; display:block; min-width:0; min-height:180px; overflow:hidden; background:#112d36; }
.hd-card-media img { display:block; position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; transition:transform .35s ease; }
.hd-card-media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#0b1d2618,transparent 55%,#0b1d2625); pointer-events:none; }
.hd-card-number { position:absolute; top:18px; inset-inline-start:18px; z-index:1; display:grid; place-items:center; width:38px; height:38px; border:1px solid #79cfc5; border-radius:50%; background:#0b1d26e8; color:white; font:600 13px/1 Montserrat,sans-serif; }
.hd-card-copy { min-width:0; display:flex; flex-direction:column; padding:27px; border-top:4px solid #2ec4b6; text-align:start; }
.hd-editorial-card .hd-card-copy > div { display:flex; flex-direction:column; height:100%; }
.hd-editorial-card:nth-child(4n+2) .hd-card-copy,.hd-editorial-card:nth-child(4n+3) .hd-card-copy { background:#eaf5f2; border-top-color:#112d36; }
main .hd-card-copy h3 { margin:0 0 14px; color:#0b1d26; font-size:22px; line-height:1.3; letter-spacing:-.025em; }
main .hd-card-copy p { margin:0; color:#40565d; font-size:16px; line-height:1.65; opacity:1; }
.hd-card-copy .assessment-type-card__link { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:20px; color:#166c67; font-weight:700; }
.hd-card-copy .assessment-type-card__link::after { content:'↗'; font-size:23px; margin-inline-start:12px; }
[dir=rtl] .hd-card-copy .assessment-type-card__link::after { content:'↖'; }
.hd-editorial-card[href],.hd-audience-card,.hd-toolkit-card { transition:transform .2s,box-shadow .2s,border-color .2s; }
.hd-editorial-card[href]:hover,.hd-toolkit-card:hover,.hd-audience-card:hover { transform:translateY(-4px); box-shadow:0 16px 32px #0b1d261b; border-color:#159a91; }
.hd-editorial-card[href]:hover img,.hd-toolkit-card:hover img,.hd-audience-card:hover img { transform:scale(1.035); }
.hd-editorial-card[href]:focus-visible,.hd-toolkit-card:focus-visible,.hd-audience-card:focus-visible { outline:3px solid #159a91; outline-offset:5px; }
.hd-card-stack { display:flex; flex-direction:column; }
.hd-card-stack > .hd-card-media { height:175px; flex:0 0 175px; }
.hd-card-stack > .hd-card-copy { flex:1; }
.hd-four-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.hd-three-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hd-four-grid .hd-card-copy { padding:23px; }
.hd-expertise-grid { gap:18px; }
.founder-expertise-grid .hd-editorial-card { padding:0; border:1px solid #c7dedb; border-radius:14px; min-height:0; }
.founder-expertise-grid .hd-card-copy { padding:22px; }
.founder-expertise-grid .hd-card-copy h3 { font-size:19px; }
.founder-expertise-grid .hd-card-copy p { font-size:15px; }

 .pr-models .hd-editorial-card { min-height:230px; }

/* Services: a clear photographic choice followed by the existing detailed dialogue. */
.services-hub .sh-service-grid { gap:24px; }
.services-hub .sh-service.hd-service-card { --card-bg:#fff; --card-ink:#0b1d26; --card-copy:#40565d; --card-accent:#166c67; --card-rule:#c7dedb; border:1px solid #c7dedb; border-radius:16px; overflow:hidden; background:#fff; }
.services-hub .hd-service-card:nth-child(even) { --card-bg:#eaf5f2; background:#eaf5f2; }
.services-hub .hd-service-card > summary { display:flex; flex-direction:column; padding:0; border-radius:0; }
.services-hub .hd-service-card > summary::before { display:none; }
.services-hub .hd-service-card > summary > .hd-card-media { height:170px; flex:0 0 170px; }
.hd-service-copy { display:flex; flex:1; flex-direction:column; padding:24px; border-top:4px solid #2ec4b6; }
.services-hub .hd-service-card .sh-service-top { margin-bottom:16px; }
.services-hub .hd-service-card .sh-service-top .sh-index { width:auto; height:auto; border:0; font-size:12px; letter-spacing:.1em; }
.services-hub .hd-service-card h3 { font-size:20px; line-height:1.3; }
.services-hub .hd-service-copy > p { color:#40565d; font-size:16px; line-height:1.6; margin:13px 0 23px; }
.services-hub .hd-service-card .sh-service-action { color:#166c67; }
.services-hub .hd-service-card .sh-service-action > span { background:#2ec4b6; color:#0b1d26; }
.services-hub .hd-service-card[hidden] { display:none; }
.services-hub .hd-outcome-card { padding:0; min-height:0; overflow:hidden; border:1px solid #c7dedb; border-radius:14px; background:#112d36; color:#fff; }
.services-hub .hd-outcome-card:nth-child(even) { background:#eaf5f2; color:#0b1d26; }
.hd-outcome-card > .hd-card-media { height:140px; min-height:140px; flex:0 0 140px; }
.hd-outcome-copy { display:flex; flex:1; flex-direction:column; padding:22px; border-top:3px solid #2ec4b6; }
.services-hub .hd-outcome-card .sh-outcome-top { margin-bottom:18px; }
.services-hub .hd-outcome-card h3 { color:inherit; }
.services-hub .hd-outcome-card p { color:inherit; opacity:.9; }
.services-hub .hd-outcome-card .sh-outcome-caption { opacity:1; font-size:12px; line-height:1.5; }

/* Toolkit categories and Top 100 audiences retain their existing selection behaviour. */
.toolkit-grid:has(.hd-toolkit-card) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
main .toolkit-card.hd-toolkit-card { display:grid; grid-template-columns:40% minmax(0,1fr); padding:0; min-height:260px; background:#fff; color:#0b1d26; border:1px solid #c7dedb; border-radius:16px; overflow:hidden; box-shadow:0 10px 28px #0b1d2608; }
main .toolkit-card.hd-toolkit-card::before,main .toolkit-card.hd-toolkit-card::after { display:none; }
.hd-toolkit-card:nth-child(4n+2) .hd-card-copy,.hd-toolkit-card:nth-child(4n+3) .hd-card-copy { background:#eaf5f2; border-top-color:#112d36; }
main .hd-toolkit-card .toolkit-card-bottom { margin-top:auto; padding-top:20px; border-color:#c7dedb; color:#166c67; }
main .hd-toolkit-card .toolkit-open svg { color:inherit; stroke:currentColor; }
main .hd-toolkit-card .toolkit-status { color:#166c67; }
main .hd-toolkit-card .toolkit-open { color:#0b1d26; background:#2ec4b6; border-color:#2ec4b6; }
.tk-audience-grid:has(.hd-audience-card) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
main .tk-audience-grid .hd-audience-card { display:flex; flex-direction:column; padding:0; min-width:0; min-height:0; border:1px solid #c7dedb; border-radius:16px; background:#fff; color:#0b1d26; overflow:hidden; box-shadow:0 10px 28px #0b1d2608; }
.hd-audience-card > .hd-card-media { width:100%; height:175px; min-height:175px; flex:0 0 175px; }
.hd-audience-card > .hd-card-copy { width:100%; flex:1; padding:24px; }
main .hd-audience-card strong { display:block; margin:0 0 18px; font-size:22px; line-height:1.3; color:#0b1d26; }
main .hd-audience-card small { margin-top:auto; padding-top:16px; border-top:1px solid #c7dedb; font-size:14px; color:#166c67; }
.hd-audience-card:nth-child(even) .hd-card-copy { background:#eaf5f2; border-top-color:#112d36; }
main .tk-audience-grid .hd-audience-card[aria-expanded=true] { outline:3px solid #159a91; outline-offset:3px; background:#eaf5f2; }
.hd-case-card { overflow:hidden; border-radius:16px; border-color:#c7dedb; }
.hd-case-card > .hd-card-media { height:180px; border-bottom:4px solid #2ec4b6; }
html[lang=ar] .hd-card-copy h3,html[lang=ar] .hd-audience-card strong { letter-spacing:0; line-height:1.5; }
html[lang=ar] .hd-card-copy p { line-height:1.85; }

@media(max-width:1100px) {
 .hd-four-grid,.hd-three-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hd-card-copy { padding:22px; }
 main .hd-card-copy h3 { font-size:21px; }
 .services-hub .sh-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tk-audience-grid:has(.hd-audience-card) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
 .hd-editorial-grid:not(.hd-four-grid):not(.hd-three-grid),.toolkit-grid:has(.hd-toolkit-card) { grid-template-columns:1fr; }
 .hd-editorial-card { min-height:245px; }
 .hd-card-stack { min-height:0; }
 .services-hub .sh-service-grid { gap:18px; }
 .hd-service-copy { padding:21px; }
 .services-hub .hd-service-card h3 { font-size:19px; }
}
@media(max-width:540px) {
 .hd-editorial-grid,.hd-four-grid,.hd-three-grid,.hd-expertise-grid,.services-hub .sh-service-grid,.tk-audience-grid:has(.hd-audience-card) { grid-template-columns:1fr; gap:20px; }
 .hd-editorial-card,main .toolkit-card.hd-toolkit-card { display:flex; flex-direction:column; min-height:0; }
 .hd-editorial-card > .hd-card-media,.hd-toolkit-card > .hd-card-media,.hd-audience-card > .hd-card-media { height:200px; min-height:200px; flex:0 0 200px; }
 .hd-card-copy { padding:24px; }
 main .hd-card-copy h3 { font-size:23px; }
 .services-hub .sh-outcomes { grid-template-columns:1fr; gap:18px; }
 .services-hub .hd-outcome-card { display:grid; grid-template-columns:36% minmax(0,1fr); }
 .hd-outcome-card > .hd-card-media { height:100%; }
 .hd-outcome-copy { padding:20px; }
 .services-hub .hd-outcome-card h3 { font-size:18px; }
 .services-hub .hd-outcome-card p { font-size:15px; }
 .services-hub .hd-service-card > summary > .hd-card-media { height:200px; flex-basis:200px; }
 .services-hub .hd-service-card h3 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) {
 .hd-card-media img,.hd-editorial-card[href],.hd-toolkit-card,.hd-audience-card { transition:none; }
 .hd-editorial-card[href]:hover,.hd-toolkit-card:hover,.hd-audience-card:hover { transform:none; }
 .hd-editorial-card[href]:hover img,.hd-toolkit-card:hover img,.hd-audience-card:hover img { transform:none; }
}
