.cardgrid__grid{display:grid;gap:var(--space-md)}.cardgrid__grid--2{grid-template-columns:repeat(2,1fr)}.cardgrid__grid--3{grid-template-columns:repeat(3,1fr)}.cardgrid__grid--4{grid-template-columns:repeat(4,1fr)}.cardgrid__card{background:var(--colour-card);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:var(--space-lg);height:100%;padding:clamp(24px,2.4vw,36px);text-decoration:none;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}.cardgrid__card:has(.cardgrid__media){min-height:320px}.cardgrid__card:hover{background:var(--colour-card-hover);transform:translateY(-3px)}.surface--sky .cardgrid__card{background:var(--colour-white)}.surface--sky .cardgrid__card:hover{background:var(--colour-white);box-shadow:0 14px 32px rgba(38,38,38,.08)}.cardgrid__body{align-content:start;display:grid}.cardgrid__tag{color:var(--colour-black-60);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:1.4px;text-transform:uppercase}.cardgrid__title{font-size:var(--font-size-x-large);letter-spacing:-.02em;line-height:1.1}.cardgrid__subtitle{color:var(--colour-black-80);font-size:var(--font-size-small);line-height:1.5;max-width:34ch}.cardgrid__more{align-items:center;color:var(--colour-signal);display:inline-flex;font-size:var(--font-size-small);gap:8px;margin-top:4px}.cardgrid__grid--2 .cardgrid__subtitle{font-size:var(--font-size-body);line-height:1.55;margin-top:.25rem;max-width:54ch}.cardgrid__grid--2 .cardgrid__more{font-size:var(--font-size-body);margin-top:auto;padding-top:.5rem}.cardgrid__more svg{transition:transform var(--dur) var(--ease)}.cardgrid__card:hover .cardgrid__more svg{transform:translateX(4px)}.cardgrid__media{display:block;margin-top:auto}.cardgrid__media img{transition:transform .4s var(--ease)}.cardgrid__card:hover .cardgrid__media img{transform:scale(1.03)}@media (max-width:1024px){.cardgrid__grid--3,.cardgrid__grid--4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.cardgrid__grid{grid-template-columns:1fr!important}.cardgrid__card{min-height:0}}:is(.surface--dark,.surface--gradient) .cardgrid__card{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.14);color:var(--colour-white)}:is(.surface--dark,.surface--gradient) .cardgrid__card:hover{background:hsla(0,0%,100%,.12)}:is(.surface--dark,.surface--gradient) .cardgrid__link{color:var(--colour-aqua)}.surface--bright .cardgrid__card{background:hsla(0,0%,100%,.55);color:var(--colour-blue-dark)}.cardgrid__media{aspect-ratio:4/3;background:rgba(16,36,58,.06);border-radius:var(--border-radius-very-small);overflow:hidden;width:100%}.cardgrid__media img{display:block;height:100%;object-fit:contain;padding:4%;width:100%}.cardgrid__grid--fit-cover .cardgrid__media{aspect-ratio:1/1}.cardgrid__grid--fit-cover .cardgrid__media img{object-fit:cover;padding:0}.cardgrid__media--empty{background:linear-gradient(180deg,var(--colour-sky),var(--colour-aqua-tint))}.cardgrid .section__intro a{color:var(--colour-signal-deep);font-weight:400;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}.cardgrid .section__intro a:hover{color:var(--colour-blue-dark);text-decoration-thickness:3px}.cardgrid .section__intro a strong{font-weight:400}.cardgrid__card{display:grid;grid-template-rows:minmax(0,1fr) auto}.cardgrid__body{display:flex;flex-direction:column;gap:10px;height:100%}.cardgrid__more{margin-top:auto}.cardgrid__media{margin-top:var(--space-sm)}.cardgrid--compact .section__head{margin-bottom:var(--space-md)}.cardgrid--compact .section__head .h2,.cardgrid--compact .section__head h2{font-size:var(--font-size-x-large)}.cardgrid--compact .section__head .copy,.cardgrid--compact .section__head p:not(.section__eyebrow){font-size:var(--font-size-body)}.cardgrid--compact .cardgrid__grid{gap:var(--space-md)}.cardgrid--compact .cardgrid__card{grid-template-rows:auto 1fr;min-height:0;overflow:hidden;padding:0}.cardgrid--compact .cardgrid__card:has(.cardgrid__media){min-height:0}.cardgrid--compact .cardgrid__media{border-radius:0;margin:0;order:-1}.cardgrid--compact .cardgrid__body{gap:6px;padding:1rem 1.25rem 1.25rem}.cardgrid--compact .cardgrid__title{font-size:1.125rem;line-height:1.25}.cardgrid--compact .cardgrid__subtitle{font-size:.875rem}.cardgrid--compact .cardgrid__more{font-size:.875rem;margin-top:auto;padding-top:.25rem}.cardgrid--compact .cardgrid__card{background:#fff;border:1px solid rgba(16,36,58,.06);box-shadow:0 18px 44px -30px rgba(16,36,58,.4),0 4px 12px -8px rgba(16,36,58,.15);transition:transform .26s var(--ease),box-shadow .26s var(--ease)}.cardgrid--compact .cardgrid__card:hover{background:#fff;box-shadow:0 28px 60px -30px rgba(16,36,58,.5),0 6px 16px -8px rgba(16,36,58,.18);transform:translateY(-4px)}.cardgrid--compact .cardgrid__media{position:relative}.cardgrid--compact .cardgrid__media:after{background:linear-gradient(180deg,transparent 60%,rgba(16,36,58,.22));content:"";inset:0;pointer-events:none;position:absolute}.cardgrid--compact .cardgrid__media img{transition:transform .5s var(--ease)}.cardgrid--compact .cardgrid__card:hover .cardgrid__media img{transform:scale(1.04)}.cardgrid--compact .cardgrid__media{aspect-ratio:16/9;background:var(--colour-sky);display:block;height:auto}.cardgrid--compact .cardgrid__media img{height:100%;object-fit:cover;padding:0;width:100%}.cardgrid[id]{scroll-margin-top:calc(var(--header-height, 4rem) + 24px)}.cardgrid .section__head{max-width:none}.cardgrid .section__head .section__intro{max-width:860px}.cardgrid--plain-media .cardgrid__card,.cardgrid--plain-media .cardgrid__card:hover{background:var(--colour-white)}.cardgrid--plain-media .cardgrid__card{box-shadow:inset 0 0 0 1px var(--colour-hairline)}.cardgrid--plain-media .cardgrid__card:hover{box-shadow:inset 0 0 0 1px var(--colour-hairline),0 14px 32px rgba(38,38,38,.08)}.cardgrid--plain-media .cardgrid__media{aspect-ratio:16/10;background:transparent}.cardgrid--plain-media .cardgrid__media img{object-fit:contain;padding:2%}.cardgrid--wide-media .cardgrid__grid .cardgrid__media{aspect-ratio:2/1}.cardgrid--wide-media .cardgrid__media img{height:100%;object-fit:cover;width:100%}.cardgrid__body{flex:1 1 auto;height:auto}