.pfb-cards-section{--pfb-visible:1;--pfb-gap:24px;position:relative;padding:72px 0 64px;background:linear-gradient(110deg,var(--pfb-start),var(--pfb-end));color:var(--pfb-text,#fff);font-family:Poppins,sans-serif}
.pfb-cards-section *{box-sizing:border-box}.pfb-cards-section [hidden]{display:none!important}
.pfb-cards-inner{max-width:1450px;margin:auto;padding:0 clamp(28px,4.5vw,72px)}
.pfb-cards-section .pfb-section-heading{color:var(--pfb-text,#fff);font-size:clamp(26px,2.8vw,38px);line-height:1.2;margin:0 0 20px}
.pfb-section-intro{max-width:850px;margin:0 auto 32px;font-size:15px;line-height:1.65;color:var(--pfb-text,#fff)}.pfb-section-intro a{color:inherit;text-decoration:underline}.pfb-section-intro>:last-child{margin-bottom:0}
.pfb-audience-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 24px;margin:32px 0}
.pfb-cards-section .pfb-audience-buttons button{min-width:140px;min-height:40px;padding:8px 24px;border:2px solid var(--pfb-filter);border-radius:999px;background:transparent;color:var(--pfb-filter);font:500 14px/1.4 Poppins,sans-serif;cursor:pointer;box-shadow:none}
.pfb-cards-section .pfb-audience-buttons button[aria-pressed=true]{background:var(--pfb-filter);color:var(--pfb-filter-text,#17354e)}
.pfb-carousel{position:relative}.pfb-card-track{display:flex;align-items:stretch;gap:var(--pfb-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 12px;touch-action:pan-x pan-y pinch-zoom}.pfb-card-track::-webkit-scrollbar{display:none}
.pfb-programme-card{display:flex;flex-direction:column;flex:0 0 calc((100% - (var(--pfb-visible) - 1)*var(--pfb-gap))/var(--pfb-visible));min-width:0;overflow:hidden;border-radius:18px;background:#fff;color:#323943;box-shadow:0 3px 8px #00000017;scroll-snap-align:start}
.pfb-card-image{aspect-ratio:3/2;background:#e9f0f5;overflow:hidden}.pfb-cards-section .pfb-card-image img{display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover}
.pfb-card-body{display:flex;flex:1;flex-direction:column;padding:22px}.pfb-cards-section .pfb-card-title{font-family:Poppins,sans-serif;font-size:17px;font-weight:600;line-height:1.4;color:var(--pfb-accent);margin:0 0 12px}
.pfb-card-copy{font-size:14px;line-height:1.65;color:#424953;overflow-wrap:anywhere}.pfb-card-copy p{font:inherit;margin:0 0 12px}.pfb-card-copy ul,.pfb-card-copy ol{margin:0 0 16px;padding-left:18px}.pfb-card-copy ul{list-style:disc}.pfb-card-copy li{font:inherit;list-style:inherit;margin:0}.pfb-card-copy a{color:var(--pfb-accent);text-decoration:underline}.pfb-card-copy img{max-width:100%;height:auto}
.pfb-card-ctas{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:20px}
.pfb-cards-section .pfb-card-cta{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:2px solid var(--pfb-accent);border-radius:999px;background:var(--pfb-accent);color:#fff;font:500 14px/1.4 Poppins,sans-serif;text-align:center;text-decoration:none;transition:opacity .16s}
.pfb-cards-section .pfb-card-cta--outline{background:#fff;color:var(--pfb-accent)}.pfb-card-cta:hover{opacity:.85}
.pfb-cards-section .pfb-nav{position:absolute;top:43%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:10px;border:0;border-radius:50%;background:var(--pfb-accent);color:#fff;cursor:pointer;box-shadow:none}.pfb-nav svg{width:100%;height:100%;pointer-events:none}.pfb-nav--prev{left:-22px}.pfb-nav--next{right:-22px}.pfb-nav:disabled{opacity:.38;cursor:default}
.pfb-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;margin-top:20px}.pfb-cards-section .pfb-dot{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:0;cursor:pointer}.pfb-dot:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--pfb-text,#fff);opacity:.45}.pfb-dot[aria-current=true]:before{background:var(--pfb-text,#fff);opacity:1}
.pfb-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pfb-empty{text-align:center;color:var(--pfb-text,#fff);font-size:15px;margin:32px 0}
.pfb-cards-section button:focus-visible,.pfb-cards-section a:focus-visible,.pfb-card-track:focus-visible{outline:3px solid var(--pfb-filter);outline-offset:3px}
@media(min-width:768px){.pfb-cards-section{--pfb-visible:2;padding:76px 0 60px}}
@media(min-width:1024px){.pfb-cards-section{--pfb-visible:3}}
@media(max-width:767px){.pfb-cards-section{--pfb-gap:18px;padding:50px 0 34px}.pfb-cards-inner{padding:0 20px}.pfb-card-body{padding:20px}.pfb-nav--prev{left:-10px}.pfb-nav--next{right:-10px}.pfb-audience-buttons{gap:12px}.pfb-cards-section .pfb-audience-buttons button{min-width:130px}.pfb-pagination{margin-top:10px}}
@media(max-width:420px){.pfb-cards-inner{padding:0 16px}}
@media(prefers-reduced-motion:reduce){.pfb-cards-section *{scroll-behavior:auto!important;transition:none!important}}

/* Section colours and independently sized edges match neighbouring sections. */
.pfb-cards-section.pfb-background--solid{background:var(--pfb-background,#006da5)}
.pfb-section-wave{position:absolute;left:0;width:100%;display:block;pointer-events:none}
.pfb-section-wave--top{top:-1px;height:var(--pfb-wave-top-height,22px);fill:var(--pfb-wave-top,#fff)}
.pfb-section-wave--bottom{bottom:-1px;height:var(--pfb-wave-bottom-height,22px);fill:var(--pfb-wave-bottom,#fff);transform:rotate(180deg)}
.pfb-waves--top,.pfb-waves--both{padding-top:calc(var(--pfb-wave-top-height,22px) + 48px)}
.pfb-waves--bottom,.pfb-waves--both{padding-bottom:calc(var(--pfb-wave-bottom-height,22px) + 40px)}
/* Only bullet copy changes: tighter wrapped lines, with space between items. */
.pfb-cards-section .pfb-card-copy ul li{line-height:1.4;margin:0 0 12px}
.pfb-cards-section .pfb-card-copy ul li:last-child{margin-bottom:0}
.pfb-cards-section .pfb-card-copy ul li p{line-height:inherit;margin:0 0 8px}
.pfb-cards-section .pfb-card-copy ul li p:last-child{margin-bottom:0}
.pfb-cards-section .pfb-card-copy ul li ul{margin-top:8px}
@media(max-width:767px){.pfb-waves--top,.pfb-waves--both{padding-top:calc(var(--pfb-wave-top-height,22px) + 28px)}.pfb-waves--bottom,.pfb-waves--both{padding-bottom:calc(var(--pfb-wave-bottom-height,22px) + 20px)}}

/* Keep card paragraphs aligned with titles despite site-wide mobile padding. */
.pfb-cards-section .pfb-card-copy p{line-height:1.5;padding-left:0!important;padding-right:0!important}
.pfb-cards-section .pfb-card-copy ul li p{line-height:inherit}
