.listing-section{padding:clamp(56px,7vw,104px) 0;background:#f2f5fb;color:#07101f}
.listing-container{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.listing-heading{max-width:1000px;margin:0 auto 56px;text-align:center}
.listing-heading h2{font:800 clamp(2.6rem,4.2vw,4.4rem)/1.06 var(--display);text-transform:uppercase;letter-spacing:-.012em;max-width:none;margin:0;text-wrap:balance}
.listing-heading>div{max-width:780px;margin:24px auto 0;font:400 1.1rem/1.85 var(--body);color:#344158}.listing-heading p{margin:0;max-width:none}
.region-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 40px;align-items:start}
.region-group{min-width:0;border-top:1px solid #bbcce8;padding-top:24px}
.region-group h3{font:800 1.25rem/1.45 var(--body);text-transform:none;margin:0 0 16px;color:#214fc4;max-width:none}
.region-group ul{list-style:none;margin:0;padding:0}.region-group li+li{border-top:1px solid #d3dced}
.region-group .listing-card-link{font-weight:500;padding:14px 0;min-height:48px;margin:0;font-size:.95rem;color:#07101f}
.listing-card-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;text-decoration:none;color:#214fc4;font:800 .95rem/1.6 var(--body);padding:16px 0 0;margin-top:auto;overflow-wrap:anywhere}
.listing-card-link span{flex-shrink:0;font-size:1.3em}.listing-card-link:hover{text-decoration:underline;text-underline-offset:5px}
.listing-section a:focus-visible{outline:3px solid #214fc4;outline-offset:5px;border-radius:2px}
.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:stretch}
.listing-card{min-width:0;background:#f2f5fb;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;color:#07101f}
.listing-card>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.listing-card-content{padding:28px;display:flex;flex-direction:column;flex:1;min-width:0}
.listing-card h3{font:800 2.35rem/1.08 var(--display);text-transform:uppercase;max-width:none;width:100%;margin:0 0 20px;text-wrap:balance}
.listing-copy{font:400 1rem/1.85 var(--body);color:#344158;margin-bottom:18px}.listing-copy p{margin:0;max-width:none}
.listing-section--blue{background:#2f62e9;color:#f2f5fb}.listing-section--blue .listing-heading>div{color:#f2f5fb}
.listing-grid--cases{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.listing-grid--cases .listing-card{background:#e6edfa}.listing-grid--cases .listing-card-content{padding:32px}
.listing-sector{font:800 .75rem/1.6 var(--body);text-transform:uppercase;letter-spacing:.05em;color:#214fc4;margin:0 0 12px}
.listing-audience{font:400 .9rem/1.7 var(--body);color:#344158;margin:0 0 24px}
.listing-result{border-top:1px solid #b7c9ec;padding-top:24px;margin-bottom:24px}
.listing-result strong{display:block;font:800 clamp(2rem,3vw,3.2rem)/1.1 var(--display);color:#214fc4;overflow-wrap:break-word}
.listing-result p{font:500 .95rem/1.7 var(--body);color:#344158;margin:12px 0 0}
.listing-result--qualitative strong{font:800 1.45rem/1.45 var(--body);color:#07101f}
.listing-services{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:0 0 24px;font:600 .8rem/1.7 var(--body);color:#344158}
.listing-services li{padding:7px 0;border-bottom:1px solid #b7c9ec}
.listing-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.listing-controls[hidden]{display:none}.listing-stage{margin:0 4vw;padding:16px;background:#dfe8f8;border-radius:8px;overflow:hidden}.listing-stage .frame-stage{margin:auto;overflow:hidden;position:relative}.listing-stage iframe{display:block;width:100%;height:850px;border:0;transform-origin:top left;background:#f2f5fb}.listing-review-note{margin:28px 4vw 56px;max-width:900px;line-height:1.8;color:#344158}.listing-review-note p{margin:14px 0}
@media(max-width:1000px){.region-directory,.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.listing-card-content{padding:24px}}
@media(max-width:650px){.listing-container{width:calc(100% - 40px)}.listing-heading{margin-bottom:36px}.listing-heading h2{font-size:2.65rem}.listing-heading>div{font-size:1rem}.region-directory,.listing-grid{grid-template-columns:1fr;gap:32px}.listing-card h3{font-size:2.2rem}.listing-grid--cases .listing-card-content{padding:24px}.listing-stage{margin-inline:16px;padding:8px}.listing-controls label{width:100%;min-width:0}.listing-controls select{width:100%;max-width:100%}.listing-controls a{min-height:44px;display:flex;align-items:center}.listing-review-note{margin-inline:20px}}
@media(prefers-reduced-motion:reduce){.listing-section *{animation:none;transition:none;scroll-behavior:auto}}
