/* Mediators 3.2.22 — measured visual refinement of shared cards and sections.
   Preserves page-specific portfolio design, banner motion, and editorial hierarchy. */

/* Homepage: strengthen existing visual storytelling rather than add stock images. */
body.home .expert-card{
  border-color:#dce2e5;
  box-shadow:0 10px 27px rgba(15,36,52,.055);
}
body.home .expert-card:hover,
body.home .expert-card:focus-within{
  border-color:#cf9da6;
  box-shadow:0 20px 42px rgba(13,35,52,.13);
}
body.home .expert-card--feature{
  border-color:#172b3c;
  box-shadow:0 18px 36px rgba(16,30,45,.12);
}
body.home .group-card{
  border-color:#dce2e6;
  background:linear-gradient(155deg,#fff 56%,#f6f8f9 100%);
  box-shadow:0 9px 23px rgba(12,32,47,.042);
}
body.home .group-card:hover,
body.home .group-card:focus-within{
  border-color:#c9a0a7;
  box-shadow:0 18px 38px rgba(17,40,58,.10);
}
body.home .group-card .group-identity{
  border-bottom:3px solid #bb1d35;
}
body.home .insight-card{
  border:1px solid #dce2e6;
  box-shadow:0 10px 27px rgba(18,39,54,.055);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
  overflow:hidden;
}
body.home .insight-card:hover,
body.home .insight-card:focus-within{
  transform:translateY(-4px);
  border-color:#cfb0b7;
  box-shadow:0 18px 36px rgba(17,38,56,.12);
}
body.home .insight-body{background:linear-gradient(155deg,#fff 48%,#f7f9fa 100%)}
body.home .stats-mini{border-left:2px solid #c2cdd3;padding-left:18px}
body.home .stats-mini:first-child{border-left-color:#c5203b}
body.home .stats-mini-index{color:#576a78}
body.home .people-card{box-shadow:0 8px 22px rgba(15,38,53,.035)}
body.home .people-card:hover,
body.home .people-card:focus-within{box-shadow:0 19px 34px rgba(17,39,54,.105)}

/* Shared interior section backgrounds: a little depth, never decorative clutter. */
.interior-hero--light{
  background:linear-gradient(121deg,#f4f3ef 0%,#edf1f3 100%);
}
.interior-main .mpl-panel:not(.mpl-panel--dark):not(.mpl-panel--accent){
  background:linear-gradient(147deg,#f5f6f5 0%,#eef2f4 100%);
  border:1px solid #e1e6e8;
  border-top:3px solid #cf3047;
}
.interior-main .mpl-card{
  background:#fff;
  border-color:#dde3e6;
  box-shadow:0 9px 24px rgba(15,36,53,.048);
}
.interior-main .mpl-card:hover,
.interior-main .mpl-card:focus-within{
  border-color:#caa0a7;
  box-shadow:0 18px 35px rgba(16,38,55,.105);
}
.interior-main .mpl-card-inner{
  background:linear-gradient(159deg,#fff 62%,#f6f8fa 100%);
}
.interior-main .mpl-card h3{color:#173448}
.interior-main .mpl-card-index{color:#b81e35}
.interior-main .mpl-timeline-item{
  background:linear-gradient(150deg,#fff,#f7f9fa);
  border:1px solid #e1e6e8;
  border-top:4px solid #c42540;
  padding:26px 24px;
  box-shadow:0 9px 24px rgba(17,39,56,.043);
}
.interior-main .mpl-timeline-item:nth-child(3n+2){border-top-color:#234960}
.interior-main .mpl-editorial-card:not(:first-child){
  background:linear-gradient(150deg,#fff,#f1f5f7);
  border:1px solid #e0e5e8;
  border-top:4px solid #c6253f;
  box-shadow:0 8px 23px rgba(15,37,53,.045);
}
.interior-main .mpl-editorial-card:first-child{
  background:linear-gradient(140deg,#142c3d,#224256);
}

/* Client logos, database controls and contact panels deserve the same care as portfolios. */
.interior-clients .mpl-major-client-card{
  border-color:#dde3e6;
  background:linear-gradient(160deg,#fff 68%,#f8fafb);
  box-shadow:0 10px 25px rgba(13,36,53,.055);
}
.interior-clients .mpl-major-client-card:hover,
.interior-clients .mpl-major-client-card:focus-within{
  box-shadow:0 19px 35px rgba(16,37,53,.11);
  border-color:#d7a7b0;
}
.interior-clients .mpl-client-card-top{border-bottom-color:#dfe6e8}
.interior-clients .mpl-other-controls{
  background:#f5f7f8;
  border:1px solid #dce4e7;
  border-left:4px solid #bc2440;
  box-shadow:0 8px 22px rgba(19,42,57,.038);
}
.interior-clients .mpl-other-controls input{
  background:#fff;
  border-color:#bbcbd2;
}
.interior-contact .mpl-contact-entry{
  background:linear-gradient(152deg,#fff 0%,#eff3f5 100%);
  border:1px solid #dfe6e9;
  border-top:4px solid #c92540;
  border-left:1px solid #dfe6e9;
  box-shadow:0 10px 27px rgba(15,39,56,.045);
  overflow-wrap:anywhere;
}
.interior-contact .mpl-contact-entry:nth-child(even){border-top-color:#234a62}
.interior-contact .mpl-contact-entry h3{color:#173448}
.interior-contact .mpl-message-form{
  border:1px solid #dce4e7;
  border-top:4px solid #c92540;
  box-shadow:0 15px 38px rgba(17,42,60,.07);
  background:linear-gradient(154deg,#fff 76%,#f6f9fa 100%);
}
.interior-contact .mpl-message-form :is(input,select,textarea){border-color:#c4cfd5;background:#fff}

/* Service detail pages: convert rigid tables of boxes into purposeful cards. */
.service-detail .svc-insight-card{
  background:linear-gradient(143deg,#172f42,#25495d);
  border:1px solid #294b5e;
  border-top:4px solid #e13b52;
  border-left:1px solid #294b5e;
  box-shadow:0 18px 39px rgba(14,34,49,.13);
}
.service-detail .svc-insight-card strong{color:#fff}
.service-detail .svc-insight-card p{color:#dce7ed!important}
.service-detail .svc-offerings-grid{
  border:0;
  gap:16px;
}
.service-detail .svc-offering{
  position:relative;
  background:linear-gradient(158deg,#fff 54%,#f5f8fa 100%);
  border:1px solid #dde5e9;
  border-top:3px solid #233f53;
  box-shadow:0 10px 27px rgba(15,38,54,.052);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.service-detail .svc-offering:nth-child(3n+2){border-top-color:#c32440}
.service-detail .svc-offering:hover,
.service-detail .svc-offering:focus-within{
  transform:translateY(-4px);
  border-color:#beced6;
  box-shadow:0 18px 35px rgba(16,38,54,.105);
}
.service-detail .svc-offering-no{color:#ab2038;letter-spacing:.10em}
.service-detail .svc-process{
  background:linear-gradient(125deg,#f0f3f4,#f8f7f4);
  border:1px solid #dfe5e8;
}
.service-detail .svc-process-grid{gap:15px}
.service-detail .svc-process-item{
  background:#fff;
  border:1px solid #dce3e7;
  border-top:3px solid #c62944;
  padding:21px 19px 23px;
  box-shadow:0 7px 22px rgba(14,35,51,.04);
}
.service-detail .svc-process-item:nth-child(even){border-top-color:#264b61}
.service-detail .svc-usecase{
  background:#fff;
  border:1px solid #dde5e8;
  border-left:3px solid #bb243f;
  box-shadow:0 6px 20px rgba(17,39,55,.035);
}
.service-detail .svc-related-card{
  border:1px solid #dfe4e6;
  border-top:4px solid #c82740;
  box-shadow:0 9px 25px rgba(15,35,51,.05);
}
.service-detail .svc-related-card:nth-child(2){border-top-color:#284b60}
.service-detail .svc-related-card:hover,
.service-detail .svc-related-card:focus-visible{
  box-shadow:0 18px 34px rgba(14,35,51,.105);
  border-color:#d3afb6;
}

/* Shared end-of-page call to action, replacing a flat pale strip. */
.interior-page .interior-cta{
  background:radial-gradient(circle at 93% 20%,rgba(219,49,73,.16),transparent 29%),linear-gradient(120deg,#162c3c,#244759);
  border-top:4px solid #d22a45;
  color:#fff;
}
.interior-page .interior-cta .section-label{color:#f69ba8}
.interior-page .interior-cta .section-label::before{background:#f69ba8}
.interior-page .interior-cta h2{color:#fff}
.interior-page .interior-cta h2 em{color:#f1b1ba}
.interior-page .interior-cta .btn-red{background:#d52542;border-color:#d52542;color:#fff}
.interior-page .interior-cta .btn-red:hover{background:#aa1831}

/* Respect touch devices, keyboard access, and motion preferences. */
@media(hover:none){
  body.home :is(.expert-card,.group-card,.insight-card,.people-card),
  .interior-main :is(.mpl-card,.mpl-major-client-card),
  .service-detail :is(.svc-offering,.svc-related-card){transform:none}
}
@media(prefers-reduced-motion:reduce){
  body.home .insight-card,
  .service-detail .svc-offering{
    transition:none!important;
    transform:none!important;
  }
}
@media(max-width:600px){
  body.home .stats-mini{padding-left:13px}
  .service-detail .svc-process-item{padding:20px 18px}
  .interior-contact .mpl-contact-entry{min-height:0;padding:27px 23px}
  .interior-page .interior-cta{padding-inline:0}
}
