/* Floating research perspectives, with a readable no-JavaScript fallback. */
.index-page #services.pillars-showcase {
 --showcase-paper:#f2f6f1; --showcase-surface:#fff; --showcase-ink:#123e67; --showcase-muted:#44636f; --showcase-line:rgba(18,62,103,.15);
 position:relative; overflow:hidden; padding-block:clamp(72px,7vw,110px); color:var(--showcase-ink);
 background:radial-gradient(ellipse at 3% 6%,rgba(115,212,231,.34),transparent 46%),radial-gradient(ellipse at 98% 64%,rgba(143,198,122,.25),transparent 52%),linear-gradient(135deg,#eef6f2,#f2f6f1 55%,#eaf2e5);
}
.index-page #services.pillars-showcase .pillars-intro {display:grid;grid-template-columns:1.2fr 1fr;gap:20px 64px;align-items:end;margin:0 0 38px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.index-page #services.pillars-showcase .pillars-intro::after {display:none}
.index-page #services.pillars-showcase .pillars-intro-badge {grid-column:1/-1;display:inline-flex;justify-self:start;gap:10px;align-items:center;margin:0 0 4px;padding:9px 14px;border:1px solid #2f6a4826;border-radius:999px;background:#ffffff66;color:#26784f;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.index-page #services.pillars-showcase .pillars-intro-title {margin:0;color:var(--showcase-ink)!important;font:600 clamp(40px,4.8vw,72px)/1.08 'Poppins',sans-serif;letter-spacing:-.06em}
.index-page #services.pillars-showcase .pillars-intro-highlight {color:#2f6a48;font-family:Georgia,serif;font-weight:400;font-style:italic}
.index-page #services.pillars-showcase .pillars-intro-text {max-width:52ch;margin:0 0 3px;padding:20px 0 0;border:0;border-top:2px solid #8fc67a;color:var(--showcase-muted);font-size:14px;line-height:1.85}
#services.pillars-showcase .pillar-showcase {position:relative}
#services.pillars-showcase .pillar-showcase-topline {display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--showcase-line);color:var(--showcase-muted);font-size:9px;letter-spacing:.15em}
#services.pillars-showcase .pillar-showcase-topline i {margin-left:14px}
#services.pillars-showcase .pillar-showcase-orbit {display:grid;gap:24px}
#services.pillars-showcase .pillar-preview {min-width:0}
#services.pillars-showcase .pillar-preview-window {position:relative;display:flex;flex-direction:column;min-height:500px;overflow:hidden;border:1px solid #ffffff44;border-radius:13px;background:#20372c;box-shadow:0 22px 50px -28px #18251f55}
#services.pillars-showcase .pillar-preview-chrome {position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;height:76px;margin:0 36px;padding:0;border-bottom:1px solid #ffffff30;color:#ffffffd9;font-size:8px;letter-spacing:.14em}
#services.pillars-showcase .pillar-preview-media {position:absolute;inset:0;overflow:hidden;background:#25392e}
#services.pillars-showcase .pillar-preview-media img {width:100%;height:100%;object-fit:cover}
#services.pillars-showcase #pillar-4 .pillar-preview-media img {transform:scale(1.1);transform-origin:50% 45%}
#services.pillars-showcase .pillar-preview-topics {position:absolute;z-index:2;inset:108px auto auto 62px;max-width:55%;display:flex;flex-wrap:wrap;gap:6px;opacity:0;transform:translateY(10px);transition:opacity .35s,transform .35s}
#services.pillars-showcase .pillar-preview-topics span {padding:6px 10px;border:1px solid #ffffff40;border-radius:999px;background:#092b49c9;color:#f1f6ed;font-size:9px}
#services.pillars-showcase .pillar-preview-copy {position:relative;z-index:2;margin-top:auto;padding:36px;color:#fff}
#services.pillars-showcase .pillar-preview-heading {display:block}
#services.pillars-showcase .pillar-preview-number {position:absolute;z-index:2;top:104px;right:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:90px;height:106px;background:#d9eda9;color:#062d4b;font:700 48px/1 'Bricolage Grotesque','Poppins',sans-serif;letter-spacing:-.06em;clip-path:polygon(0 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%);transform:rotate(6deg);pointer-events:none}
#services.pillars-showcase .pillar-preview-heading h3 {max-width:680px;margin:0;color:#fff;font:700 clamp(34px,4vw,58px)/.98 'Bricolage Grotesque','Poppins',sans-serif;letter-spacing:-.045em;text-wrap:balance}
#services.pillars-showcase .pillar-preview-copy p {max-width:calc(100% - 86px);margin:18px 0 0;padding-top:14px;border-top:1px solid #ffffff35;color:#e3ecef;font-size:13px;line-height:1.65}
#services.pillars-showcase [hidden] {display:none!important}
#services.pillars-showcase .pillar-showcase.is-enhanced {--card-width:min(680px,62vw);--active-card-width:min(800px,72vw);--card-spread:62%}
#services.pillars-showcase .is-enhanced .pillar-showcase-stage {position:relative;height:620px;perspective:1500px;touch-action:pan-y}
#services.pillars-showcase .is-enhanced .pillar-showcase-stage::after {content:'';position:absolute;inset:auto 16% 18px;height:30px;background:radial-gradient(ellipse,#2a3b2720,transparent 68%);pointer-events:none}
#services.pillars-showcase .is-enhanced .pillar-showcase-orbit {position:relative;display:block;height:100%;transform-style:preserve-3d;transform:rotateX(var(--parallax-y,0deg)) rotateY(var(--parallax-x,0deg));transition:transform .3s ease-out}
#services.pillars-showcase .is-enhanced .pillar-preview {
 --card-x:0%;--card-z:70px;--card-y:0px;--card-ry:0deg;--card-rz:0deg;--card-scale:1;--hover-z:0px;
 position:absolute;top:40px;left:50%;width:var(--card-width);z-index:3;transform-style:preserve-3d;
 transform:translateX(calc(-50% + var(--card-x))) translateY(var(--card-y)) translateZ(calc(var(--card-z) + var(--hover-z))) rotateY(var(--card-ry)) rotateZ(var(--card-rz)) scale(var(--card-scale));
 opacity:0;visibility:hidden;pointer-events:none;transition:width .85s cubic-bezier(.22,.7,.2,1),transform .85s cubic-bezier(.22,.7,.2,1),opacity .65s,visibility .85s;
}
#services.pillars-showcase .is-enhanced .pillar-preview[data-position=active] {width:var(--active-card-width)}
#services.pillars-showcase .is-enhanced .pillar-preview[data-position=prev] {--card-x:calc(0% - var(--card-spread));--card-z:-160px;--card-y:25px;--card-ry:23deg;--card-rz:-4deg;--card-scale:.9;z-index:2}
#services.pillars-showcase .is-enhanced .pillar-preview[data-position=next] {--card-x:var(--card-spread);--card-z:-160px;--card-y:25px;--card-ry:-23deg;--card-rz:4deg;--card-scale:.9;z-index:2}
#services.pillars-showcase .is-enhanced .pillar-preview[data-position=away-left] {--card-x:-100%;--card-z:-300px;--card-ry:30deg}
#services.pillars-showcase .is-enhanced .pillar-preview[data-position=away-right] {--card-x:100%;--card-z:-300px;--card-ry:-30deg}
#services.pillars-showcase .is-revealed .pillar-preview:is([data-position=active],[data-position=prev],[data-position=next]) {opacity:1;visibility:visible;pointer-events:auto}
#services.pillars-showcase .is-enhanced:not(.is-revealed) .pillar-preview {transform:translateX(-50%) translateY(75px) translateZ(-240px) rotateX(12deg) scale(.88)}
#services.pillars-showcase .is-enhanced .pillar-preview-window {animation:pillar-preview-float 7s ease-in-out infinite;animation-play-state:paused}
#services.pillars-showcase .is-inview .pillar-preview:is([data-position=active],[data-position=prev],[data-position=next]) .pillar-preview-window {animation-play-state:running}
#services.pillars-showcase .is-enhanced .pillar-preview[data-position=prev] .pillar-preview-window {animation-delay:-2s}
#services.pillars-showcase .is-enhanced .pillar-preview[data-position=next] .pillar-preview-window {animation-delay:-4s}
#services.pillars-showcase .pillar-preview-select {position:absolute;z-index:6;inset:0;width:100%;border:0;border-radius:13px;background:transparent;cursor:pointer}
#services.pillars-showcase .pillar-preview-select span {position:absolute;inset:auto 25px 26px;display:flex;justify-content:space-between;color:#fff;font-size:10px;opacity:0;transition:opacity .3s}
#services.pillars-showcase .pillar-preview-select:is(:hover,:focus-visible) span {opacity:1}
#services.pillars-showcase .pillar-showcase-controls {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border:1px solid var(--showcase-line);border-radius:16px;background:#ffffff80;box-shadow:0 8px 26px #123e6705}
#services.pillars-showcase .pillar-showcase-caption {display:flex;align-items:center;gap:24px}
#services.pillars-showcase .pillar-showcase-count {color:var(--showcase-muted);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
#services.pillars-showcase .pillar-showcase-count [data-pillar-current] {color:var(--showcase-ink)}
#services.pillars-showcase .pillar-showcase-hint {color:var(--showcase-muted);font-size:10px}
#services.pillars-showcase .pillar-showcase-dots {display:flex;gap:8px}
#services.pillars-showcase .pillar-showcase-dots button {display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--showcase-muted);font-size:9px;transition:background .25s,color .25s}
#services.pillars-showcase .pillar-showcase-dots button[aria-pressed=true] {border-color:var(--showcase-ink);background:var(--showcase-ink);color:var(--showcase-surface)}
/* Directional artwork stays transparent over the neighbouring photographs. */
#services.pillars-showcase .pillar-showcase-arrows {position:absolute;z-index:10;top:40px;left:50%;width:min(calc(var(--active-card-width) + 340px),calc(100vw - 8px));height:500px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;pointer-events:none}
#services.pillars-showcase .pillar-showcase-arrows button {display:grid;place-items:center;flex:none;width:80px;height:112px;padding:0;border:0;border-radius:4px;background:transparent;color:#fff;box-shadow:none;cursor:pointer;pointer-events:auto}
#services.pillars-showcase .pillar-showcase-arrows svg {width:64px;height:80px;overflow:visible;fill:currentColor;fill-opacity:.58;filter:drop-shadow(0 3px 5px #031e3266);transition:transform .25s,fill-opacity .25s,filter .25s}
#services.pillars-showcase .pillar-showcase-arrows button:is(:hover,:focus-visible) {background:transparent;color:#fff}
#services.pillars-showcase .pillar-showcase-arrows button:is(:hover,:focus-visible) svg {fill-opacity:.85;filter:drop-shadow(0 4px 7px #031e3280)}
#services.pillars-showcase .pillar-showcase-arrows button:focus-visible {outline:2px solid #fff;outline-offset:2px}
#services.pillars-showcase [data-pillar-prev]:is(:hover,:focus-visible) svg {transform:translateX(-4px)}
#services.pillars-showcase [data-pillar-next]:is(:hover,:focus-visible) svg {transform:translateX(4px)}
#services.pillars-showcase :is(a,button,summary):focus-visible {outline:2px solid #668269;outline-offset:5px}
.index-page #services.pillars-showcase .pillar-overview {display:flex;justify-content:space-around;gap:24px;margin:32px 0 0;padding:30px 18px;border:1px solid #ffffff1a;border-radius:22px;background:linear-gradient(110deg,#062d4b,#0b3b53);box-shadow:0 18px 42px -28px #062d4b66}
.index-page #services.pillars-showcase .pillar-stat {display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:0;padding:0 20px;border-right:1px solid #ffffff26;text-align:center}
.index-page #services.pillars-showcase .pillar-stat:last-child {border-right:0}
.index-page #services.pillars-showcase .pillar-stat-num {color:#d9eda9;-webkit-text-fill-color:#d9eda9;font:500 42px/1.1 'Poppins',sans-serif}
.index-page #services.pillars-showcase .pillar-stat-label {max-width:19ch;color:#e7f2f5;font-size:10px;line-height:1.6;letter-spacing:.11em;text-transform:uppercase}
.index-page.dark-mode #services.pillars-showcase {--showcase-paper:#071f32;--showcase-surface:#1d2b24;--showcase-ink:#edf4f2;--showcase-muted:#b7ccd2;--showcase-line:#9bb3c42a;background:radial-gradient(ellipse at 3% 6%,#00a5d729,transparent 46%),radial-gradient(ellipse at 98% 64%,#8fc67a1c,transparent 52%),#071f32}
.index-page.dark-mode #services.pillars-showcase .pillars-intro-highlight {color:#b9cdb4}
@keyframes pillar-preview-float {0%,100% {transform:translateY(0)} 50% {transform:translateY(-9px)}}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 #services.pillars-showcase .is-revealed .pillar-preview:is([data-position=prev],[data-position=next]):hover {--hover-z:55px}
 #services.pillars-showcase .pillar-preview[data-position=active]:hover .pillar-preview-topics {opacity:1;transform:translateY(0)}
}
#services.pillars-showcase .pillar-preview[data-position=active]:focus-within .pillar-preview-topics {opacity:1;transform:translateY(0)}
@media (min-width:992px) {#services.pillars-showcase .pillar-showcase:not(.is-enhanced) .pillar-showcase-orbit {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:991px) {
 .index-page #services.pillars-showcase .pillars-intro {grid-template-columns:1fr;gap:18px}
 .index-page #services.pillars-showcase .pillars-intro-text {max-width:65ch;padding-top:16px;padding-left:0;border-left:0}
 #services.pillars-showcase .pillar-showcase.is-enhanced {--card-width:min(600px,78vw);--active-card-width:min(660px,84vw);--card-spread:58%}
 #services.pillars-showcase .pillar-showcase-hint {display:none}
}
@media (max-width:600px) {
 .index-page #services.pillars-showcase {padding-block:64px 56px}
 .index-page #services.pillars-showcase .pillars-intro {margin-bottom:32px}
 .index-page #services.pillars-showcase .pillars-intro-title {font-size:clamp(35px,9.8vw,52px)}
 .index-page #services.pillars-showcase .pillars-intro-text {font-size:13px}
 #services.pillars-showcase .pillar-showcase-topline {font-size:7px;letter-spacing:.09em}
 #services.pillars-showcase .pillar-showcase-topline>span:last-child {display:none}
 #services.pillars-showcase .pillar-showcase.is-enhanced {--card-width:calc(100vw - 56px);--active-card-width:calc(100vw - 32px);--card-spread:65%}
 #services.pillars-showcase .is-enhanced .pillar-showcase-stage {height:520px;perspective:1100px}
 #services.pillars-showcase .is-enhanced .pillar-preview {top:30px;--card-z:0px}
 #services.pillars-showcase .is-enhanced .pillar-preview[data-position=prev] {--card-z:-170px;--card-ry:28deg}
 #services.pillars-showcase .is-enhanced .pillar-preview[data-position=next] {--card-z:-170px;--card-ry:-28deg}
 #services.pillars-showcase .pillar-preview-copy {padding:24px}
 #services.pillars-showcase .pillar-preview-number {top:90px;right:24px;width:64px;height:78px;font-size:34px}
 #services.pillars-showcase .pillar-preview-heading h3 {font-size:clamp(28px,8.5vw,36px)}
 #services.pillars-showcase .pillar-preview-copy p {max-width:calc(100% - 64px);margin-top:14px;margin-bottom:0;padding-top:12px;font-size:11px}
 #services.pillars-showcase .pillar-preview-topics {display:none}
 #services.pillars-showcase .pillar-showcase-controls {flex-wrap:wrap;gap:12px;padding:12px 8px}
 #services.pillars-showcase .pillar-showcase-caption {order:1}
 #services.pillars-showcase .pillar-showcase-arrows {top:30px;height:450px}
 #services.pillars-showcase .pillar-showcase-arrows button {width:56px;height:88px}
 #services.pillars-showcase .pillar-showcase-arrows svg {width:44px;height:56px}
 #services.pillars-showcase .pillar-showcase-dots {order:3;width:100%;justify-content:center;gap:4px}
 #services.pillars-showcase .pillar-showcase-dots button {width:44px;height:44px}
 .index-page #services.pillars-showcase .pillar-overview {gap:0;margin-top:22px;padding:24px 10px;border-radius:18px}
 .index-page #services.pillars-showcase .pillar-stat {padding:0 9px}
 .index-page #services.pillars-showcase .pillar-stat-num {font-size:32px}
 .index-page #services.pillars-showcase .pillar-stat-label {font-size:8px;letter-spacing:.06em}
}
@media (prefers-reduced-motion:reduce) {
 #services.pillars-showcase .pillar-showcase *,#services.pillars-showcase .pillar-showcase *::after {animation:none!important;transition:none!important}
 #services.pillars-showcase .pillar-showcase-orbit {transform:none!important}
}

/* Preserve the research-section palette despite global description overrides. */
body.index-page:not(.dark-mode) #main-content #services.pillars-showcase .pillars-intro-text {color:var(--showcase-muted)}

/* Edge-to-edge photography with a reading scrim for the overlaid content. */
#services.pillars-showcase .pillar-preview-media::after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,#031e32b0,transparent 35%,#031e3270 58%,#031e32f5),linear-gradient(90deg,#062d4b38,transparent 65%)}
#services.pillars-showcase .pillar-preview-kicker {display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#d9eda9;font-size:9px;font-weight:500;letter-spacing:.17em;text-transform:uppercase}
@media (max-width:600px) {
 #services.pillars-showcase .pillar-preview-window {min-height:450px}
 #services.pillars-showcase .pillar-preview-chrome {height:66px;margin-inline:24px}
 #services.pillars-showcase .pillar-preview-kicker {margin-bottom:14px;font-size:7px}
}

/* The centered card stays still while its content and links are in use. */
#services.pillars-showcase .is-enhanced .pillar-preview[data-position=active] .pillar-preview-window {animation:none}


/* A single accessible page link covers the card without a visible button. */
#services.pillars-showcase .pillar-preview-link {position:absolute;inset:0;z-index:3;display:block;border:0;border-radius:inherit;background:transparent;cursor:pointer}
#services.pillars-showcase .pillar-preview-link:focus-visible {outline:2px solid #d9eda9;outline-offset:-4px}

/* Branded framing around the existing 3D composition. */
.index-page #services.pillars-showcase::before {
 content:'';position:absolute;top:90px;right:-350px;width:650px;height:650px;
 border:1px solid #2f6a4812;border-radius:50%;box-shadow:0 0 0 70px #2f6a4805,0 0 0 140px #2f6a4803;pointer-events:none;
}
.index-page #services.pillars-showcase > .container {position:relative;z-index:1}
.index-page.dark-mode #services.pillars-showcase .pillars-intro {background:none}
.index-page.dark-mode #services.pillars-showcase .pillars-intro-badge {border-color:#b9ddab33;background:#b9ddab0d;color:#b9ddab}
.index-page.dark-mode #services.pillars-showcase .pillar-showcase-controls {background:#ffffff08}
@media (max-width:600px) {
 .index-page #services.pillars-showcase .pillars-intro-badge {font-size:8px;padding:8px 11px}
 .index-page #services.pillars-showcase::before {right:-480px}
}

/* Editorial details inside the existing photo cards. */
#services.pillars-showcase .pillar-preview-series {margin-right:auto;color:#d9e6e8;font-size:8px;letter-spacing:.13em;text-transform:uppercase}
#services.pillars-showcase .pillar-preview-edition {margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:7px;letter-spacing:.16em;text-transform:uppercase}
#services.pillars-showcase .pillar-preview-edition b {color:#fff;font-size:10px;font-weight:500;letter-spacing:.12em}
#services.pillars-showcase .pillar-preview-kicker::before {content:'';width:24px;height:2px;background:#d9eda9}
#services.pillars-showcase .pillar-preview-heading em {display:block;margin-top:2px;color:#d9eda9;font-family:Georgia,serif;font-size:1.08em;font-weight:400;line-height:1.04;letter-spacing:-.055em}
#services.pillars-showcase .pillar-preview-card-arrow {position:absolute;z-index:2;right:36px;bottom:36px;display:grid;place-items:center;width:56px;height:56px;border:1px solid #d9eda9;border-radius:0;background:#d9eda9;color:#062d4b;font-size:29px;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);pointer-events:none;transition:background .25s,color .25s,border-color .25s}
#services.pillars-showcase .pillar-preview-window:hover .pillar-preview-card-arrow,
#services.pillars-showcase .pillar-preview-window:focus-within .pillar-preview-card-arrow {background:#f2f8e9;border-color:#f2f8e9;color:#062d4b}
@media (max-width:600px) {
 #services.pillars-showcase .pillar-preview-series {display:none}
 #services.pillars-showcase .pillar-preview-card-arrow {right:24px;bottom:24px;width:44px;height:44px;font-size:24px}
}

/* Exhibition-poster artwork, contained within the existing card geometry. */
#services.pillars-showcase .pillar-preview-window::before {content:'';position:absolute;z-index:2;inset:10px;border:1px solid #ffffff1a;border-radius:5px;pointer-events:none}
#services.pillars-showcase .pillar-preview-number::after {content:'RESEARCH';font:500 6px/1.2 'Poppins',sans-serif;letter-spacing:.18em}
#services.pillars-showcase .pillar-preview-side-label {position:absolute;z-index:2;top:108px;left:32px;writing-mode:vertical-rl;transform:rotate(180deg);color:#ffffffbf;font-size:7px;letter-spacing:.2em;text-transform:uppercase;pointer-events:none}
#services.pillars-showcase #pillar-3 .pillar-preview-heading h3 {font-size:clamp(28px,3.1vw,44px)}
@media (max-width:600px) {
 #services.pillars-showcase .pillar-preview-side-label {top:96px;left:24px;font-size:6px}
 #services.pillars-showcase #pillar-3 .pillar-preview-heading h3 {font-size:26px}
}
