/* Case Studies extends the native shell and component owners. */
.ilux-colour-white, .ilux-colour-navy { --ilux-featured-border: var(--ilux-pink); --ilux-featured-label: var(--ilux-pink); --ilux-featured-panel: #fff; }
.ilux-colour-pink { --ilux-featured-border: #fff; --ilux-featured-label: currentColor; --ilux-featured-panel: var(--ilux-section-colour, var(--ilux-pink)); }
.ilux-case-featured { --ilux-case-featured-image-height: 708px; position: relative; margin: 95px 0 80px; padding-top: 102px; min-width: 0; }
.ilux-case-featured:has(.ilux-case-featured__image) { min-height: var(--ilux-case-featured-image-height); }
.ilux-case-featured__image { position: absolute; top: 0; left: 0; width: 49%; height: var(--ilux-case-featured-image-height); }
.ilux-case-featured__image img { width: 100%; height: 100%; object-fit: cover; border-radius: 50px; }
.ilux-case-featured__panel { position: relative; margin-left: 42.6%; border: 3px solid var(--ilux-featured-border, var(--ilux-pink)); border-radius: 50px; padding: 80px 105px 90px 174px; display: flex; flex-direction: column; align-items: flex-start; }
.ilux-case-featured:not(:has(.ilux-case-featured__image)) .ilux-case-featured__panel { margin-left: 0; padding-inline: 80px; }
.ilux-case-featured__label { color: var(--ilux-featured-label, var(--ilux-pink)); font-size: 23.66px; font-weight: 700; margin: 0 0 30px; }
.ilux-case-featured h2 { font-size: 57.67px; line-height: 1.105; margin: 0 0 24px; overflow-wrap: anywhere; }
.ilux-case-featured__description { font-size: 23.66px; line-height: 1.35; font-weight: 700; margin: 0; }
.ilux-case-featured .ilux-button { margin-top: 24px; min-width: 226px; }
.ilux-case-filters { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 56px; }
.ilux-case-filters a { display: inline-flex; align-items: center; justify-content: center; min-height: 29px; padding: 3px 14px; border: 1px solid var(--ilux-navy); border-radius: 30px; font-size: 15px; font-weight: 700; text-decoration: none; color: var(--ilux-navy); transition: background-color 700ms ease-in-out, color 700ms ease-in-out; }
.ilux-case-filters a[aria-current], .ilux-case-filters a:hover { background: var(--ilux-pink); color: #fff; border-color: var(--ilux-pink); }
.ilux-case-filters a:focus-visible, .ilux-case-pagination a:focus-visible, .ilux-case-adjacent a:focus-visible { outline: 3px solid var(--ilux-pink); outline-offset: 4px; }
.ilux-case-study-landing .ilux-case-studies__grid { align-items: start; gap: 72px 31px; }
.ilux-case-study-landing .ilux-case-card img { object-position: center; }
.ilux-case-card__placeholder { display: block; width: 100%; aspect-ratio: 429 / 351; background: var(--ilux-blush); border-radius: 50px; }
.ilux-case-card__categories { display: flex; flex-wrap: wrap; gap: 6px; margin: 34px 0 16px; }
.ilux-case-card__categories span { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 30px; background: var(--ilux-blush); padding: 0 22px; min-height: 30px; font-size: 12px; line-height: 20px; font-weight: 700; letter-spacing: -.01em; }
.ilux-case-study-landing .ilux-case-card h3 { margin: 0 0 12px; }
.ilux-case-study-landing .ilux-case-card p { min-height: 96px; margin-bottom: 18px; font-weight: 500; }
.ilux-case-listing { padding-bottom: 100px; scroll-margin-top: calc(24px + var(--wp-admin--admin-bar--height, 0px)); }
.ilux-case-pagination { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 50px; }
.ilux-case-pagination .page-numbers { padding: 10px 16px; border: 1px solid var(--ilux-navy); border-radius: 25px; }
.ilux-case-pagination .current { background: var(--ilux-navy); color: white; }
.ilux-case-overview { margin-block: 77px 48px; min-height: 249px; padding: 57px 194px 55px 191px; border: 3px solid var(--ilux-pink); border-radius: 50px; display: grid; grid-template-columns: 261px 88px 279px 81px 250px; }
.ilux-case-overview > div:nth-child(1) { grid-column: 1; }
.ilux-case-overview > div:nth-child(2) { grid-column: 3; }
.ilux-case-overview > div:nth-child(3) { grid-column: 5; }
.ilux-case-overview h2 { display: flex; align-items: center; min-height: 42px; gap: 15px; font-size: 32px; margin: 0 0 20px; }
.ilux-case-overview > div:nth-child(2) h2 { margin-left: -3px; }
.ilux-case-overview > div:nth-child(3) h2 { margin-left: -1px; }
.ilux-case-overview > div:nth-child(3) img { transform: translateY(3px); }
.ilux-case-overview p { margin: 0; font-weight: 500; line-height: 1.4375; letter-spacing: -.01em; }
.ilux-case-overview img { flex: none; max-width: none; }
.ilux-case-testimonial { margin-block: 32px 55px; }
.ilux-case-testimonial .ilux-testimonials__track { width: 100%; margin: 0; padding: 0; gap: 30px; }
.ilux-case-testimonial .ilux-testimonial { flex-basis: 100%; min-width: 0; padding: 60px 15%; grid-template-columns: var(--ilux-testimonial-columns, 265px minmax(0, 1fr)); gap: 10px 90px; }
.ilux-case-adjacent { display: grid; grid-template-columns: 1fr 1fr; background: var(--ilux-navy); color: white; border-radius: 50px; min-height: 47px; margin-block: 24px 96px; padding: 10px 10%; gap: 24px; }
.ilux-case-adjacent div:last-child { text-align: right; }
.ilux-case-adjacent a { display: inline-flex; align-items: center; gap: 12px; color: white; font-size: 16px; font-weight: 700; text-decoration: none; }
.ilux-case-adjacent a > span[aria-hidden] { font-size: 36px; line-height: .6; }
@media (max-width: 1400px) {
 .ilux-case-featured__panel { padding-inline: 100px 60px; }
 .ilux-case-featured h2 { font-size: 45px; }
 .ilux-case-overview { padding-inline: 6%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; }
 .ilux-case-overview > div:nth-child(n) { grid-column: auto; }
 .ilux-case-testimonial .ilux-testimonial { padding-inline: 7%; gap: 30px; }
}
@media (max-width: 1024px) {
 .ilux-case-featured { margin-block: 60px; padding: 0; }
 .ilux-case-featured:has(.ilux-case-featured__image) { min-height: 0; }
 .ilux-case-featured__image { position: static; width: 100%; height: auto; aspect-ratio: 660 / 500; }
 .ilux-case-featured__panel { margin: -50px 20px 0; padding: 50px; min-height: 0; background: var(--ilux-featured-panel, #fff); }
 .ilux-case-featured .ilux-button { margin-top: 20px; }
 .ilux-case-featured__description { font-size: 20px; }
 .ilux-case-overview { grid-template-columns: 1fr; padding: 40px; gap: 30px; }
 .ilux-case-overview p { max-width: 600px; }
 .ilux-case-testimonial .ilux-testimonial { display: block; padding: 35px; }
 .ilux-case-testimonial .ilux-testimonial blockquote { font-size: 23px; }
 .ilux-case-adjacent { padding-inline: 30px; }
}
@media (max-width: 680px) {
 .ilux-case-featured__panel { margin: -30px 10px 0; padding: 30px 24px; border-radius: 34px; }
 .ilux-case-featured h2 { font-size: 30px; }
 .ilux-case-featured__label { font-size: 20px; margin-bottom: 20px; }
 .ilux-case-filters { gap: 10px; margin-bottom: 35px; }
 .ilux-case-filters a { min-height: 44px; }
 .ilux-case-card__categories { margin-top: 20px; }
 .ilux-case-study-landing .ilux-case-card p { min-height: 0; }
 .ilux-case-listing { padding-bottom: 60px; }
 .ilux-case-overview { margin-block: 40px; padding: 30px 24px; border-radius: 34px; }
 .ilux-case-overview h2 { font-size: 24px; }
 .ilux-case-adjacent { padding: 20px; margin-bottom: 60px; gap: 15px; }
 .ilux-case-adjacent a { font-size: 14px; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .ilux-case-filters a { transition: none; } }
.ilux-case-adjacent img { flex: none; max-width: none; }
.ilux-case-adjacent__previous { transform: rotate(180deg); }


/* Native WYSIWYG paragraphs, headings and normal WordPress aligned media. */
.ilux-case-body { display: flow-root; font-size: 16px; line-height: 1.55; font-weight: 500; }
.ilux-case-body > p { margin: 0 0 20px; }
.ilux-case-body > p:first-child:not(:has(img)) { font-size: 23.66px; line-height: 1.35; font-weight: 700; margin-bottom: 60px; }
.ilux-case-body h2 { font: 700 23.66px/1.4 Manrope, sans-serif; letter-spacing: -.01em; margin: 0 0 16px; }
.ilux-case-body > h2:first-of-type { margin-left: 110px; }
.ilux-case-body > h2:first-of-type + p { margin-bottom: 58px; }
.ilux-case-body img { max-width: 100%; border-radius: 50px; }
.ilux-case-body > p:has(> img.alignleft:only-child) { float: left; width: 523px; margin: 0 55px 25px 0; }
.ilux-case-body > p > img.alignleft { display: block; float: none; margin: 0; width: 100%; height: 598px; object-fit: cover; object-position: center; }
.ilux-case-body > p:has(> img.alignleft:only-child) ~ :is(h2, h3, p) { margin-left: 578px; clear: none; }
.ilux-case-body > p:has(> img.alignleft:only-child) ~ p { width: 775px; max-width: calc(100% - 575px); }
.ilux-case-body > p:has(> img.alignleft:only-child) + h2 { margin-top: -1px; margin-bottom: 20px; width: 656px; max-width: calc(100% - 578px); }
@media (max-width: 1400px) {
 .ilux-case-body > p:has(> img.alignleft:only-child) { width: 39%; margin-right: 4%; }
 .ilux-case-body > p:has(> img.alignleft:only-child) ~ :is(h2, h3, p) { margin-left: 43%; }
 .ilux-case-body > p:has(> img.alignleft:only-child) ~ p { width: auto; max-width: none; }
 .ilux-case-body > p:has(> img.alignleft:only-child) + h2 { max-width: 57%; }
}
@media (max-width: 1024px) {
 .ilux-case-body > p:first-child:not(:has(img)) { margin-bottom: 32px; }
 .ilux-case-body > h2:first-of-type + p { margin-bottom: 45px; }
 .ilux-case-body > h2:first-of-type { margin-left: 0; }
 .ilux-case-body > p:has(> img.alignleft:only-child) { float: none; width: 100%; margin: 0 0 25px; }
 .ilux-case-body > p > img.alignleft { height: auto; aspect-ratio: 523 / 598; }
 .ilux-case-body > p:has(> img.alignleft:only-child) ~ :is(h2, h3, p) { margin-left: 0; }
 .ilux-case-body > p:has(> img.alignleft:only-child) + h2 { width: auto; max-width: 100%; }
 .ilux-case-overview > div:nth-child(n) h2 { margin-left: 0; }
 .ilux-case-overview > div:nth-child(3) img { transform: none; }
}
@media (max-width: 680px) { .ilux-case-body > p:first-child:not(:has(img)) { font-size: 20px; } }
