/* v15: the established Omega palette and type remain owned by styles.css. */

/* The group-photo caption sits on a light frame, including in the blue
   people-page opening. Give its text an explicit colour instead of inheriting
   the opening's white foreground. The homepage shares the same caption. */
.omega-presentation-v15 .team-portrait figcaption>span {color:var(--muted)}
.omega-presentation-v15 .team-portrait figcaption>span:first-child {color:var(--navy)}

/* Eight real people, with one quiet route passing behind their portraits. */
.omega-presentation-v15 .omega-team-portraits {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:66px 84px;
  background:var(--white);
}
.omega-presentation-v15 .team-portrait-grid {
  position:relative;
  z-index:1;
  max-width:var(--page-width);
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:48px 34px;
  padding-bottom:36px;
}
.omega-presentation-v15 .team-portrait-person {margin:0;min-width:0}
.omega-presentation-v15 .team-portrait-person:nth-child(4n+2) {transform:translateY(28px)}
.omega-presentation-v15 .team-portrait-person:nth-child(4n+4) {transform:translateY(12px)}
.omega-presentation-v15 .team-portrait-person:nth-child(7) {transform:translateY(32px)}
.omega-presentation-v15 .team-portrait-frame {
  width:min(100%,204px);
  padding:10px;
  border:0;
  border-radius:30px 7px 30px 7px;
  background:var(--blue-pale);
}
.omega-presentation-v15 .team-portrait-person:nth-child(3n+2) .team-portrait-frame {
  background:var(--portrait-neutral);
  border-radius:7px 30px 7px 30px;
}
.omega-presentation-v15 .team-portrait-person:nth-child(3n) .team-portrait-frame {background:var(--warm-white)}
.omega-presentation-v15 .team-portrait-photo {
  width:100%;
  height:auto;
  aspect-ratio:96/109;
  border-radius:22px 3px 22px 3px;
  background:transparent;
}
.omega-presentation-v15 .team-portrait-photo>svg {width:100%;height:auto;aspect-ratio:96/109}
.omega-presentation-v15 .team-portrait-person figcaption {
  margin-top:15px;
  font-size:18px;
  font-weight:600;
  line-height:1.35;
  color:var(--navy);
}
.omega-presentation-v15 .omega-team-route {
  position:absolute;
  z-index:0;
  width:min(calc(100% - 20px),1260px);
  height:calc(100% - 100px);
  inset:36px 0 auto;
  margin-inline:auto;
  overflow:visible;
  pointer-events:none;
  color:var(--turquoise);
}
.omega-team-route path {
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  opacity:.45;
}
.omega-route-drawing .omega-team-route path {animation:omega-team-route-draw 1400ms ease-out both}
@keyframes omega-team-route-draw {
  from {stroke-dasharray:1000;stroke-dashoffset:1000}
  to {stroke-dasharray:1000;stroke-dashoffset:0}
}

/* Give the services the full width: a short introduction, then paired links.
   The first two photographs carry the opening; the remaining images are
   compact signposts. Every description stays visible, including without JS. */
.design-review .omega-services-compact .expertise-grid {display:block}
.design-review .omega-services-compact .expertise-feature {
  position:static;
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,.75fr);
  gap:64px;
  align-items:center;
  margin-bottom:42px;
}
.design-review .omega-services-compact .expertise-feature .section-heading {margin-bottom:22px}
.design-review .omega-services-compact .expertise-feature .section-heading .text-link {margin-top:18px}
.design-review .omega-services-compact .expertise-intro {max-width:660px;font-size:18px;line-height:1.6}
.design-review .omega-services-compact .expertise-intro p+p {margin-top:12px}
.design-review .omega-services-compact .expertise-feature-image {margin:0;max-width:none}
.design-review .omega-services-compact .expertise-feature-image>img {aspect-ratio:1.5;border-radius:3px 3px 60px 3px}
.design-review .omega-services-compact .service-list {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 38px;
  --service-image-width:76px;
  --service-image-height:76px;
}
.design-review .omega-services-compact .service-list>a,
.design-review .omega-services-compact .service-list>a:last-child {
  grid-column:auto;
  grid-template-columns:var(--service-image-width) minmax(0,1fr) 22px;
  gap:18px;
  padding:22px 0;
  font-size:23px;
  line-height:1.2;
  border-top:1px solid var(--border);
  border-bottom:0;
  align-items:start;
  cursor:pointer;
}
.design-review .omega-services-compact .service-list>a:nth-child(-n+2) {
  --service-image-width:118px;
  --service-image-height:118px;
  padding-block:26px;
  font-size:25px;
}
.design-review .omega-services-compact .service-list .service-photo {
  width:var(--service-image-width);
  height:var(--service-image-height);
  aspect-ratio:1;
  object-fit:cover;
  border-radius:2px 2px 24px 2px;
  margin:0;
}
.design-review .omega-services-compact .service-list .service-photo-team {object-fit:contain}
.design-review .omega-services-compact .service-list>a>span {hyphens:auto;overflow-wrap:break-word}
.design-review .omega-services-compact .service-list>a>svg {width:22px;height:22px;margin-top:4px}
.design-review .omega-services-compact .service-list small {font-size:17px;line-height:1.5;margin-top:8px}
.design-review .omega-services-compact .service-list>a:is(:hover,:focus-visible) {
  background:var(--white);
  box-shadow:10px 0 var(--white),-10px 0 var(--white);
}
.design-review .omega-services-compact .service-list>a:focus-visible {outline:3px solid var(--accent-text);outline-offset:6px}
.design-review .omega-services-compact .service-list>a:active {box-shadow:inset 3px 0 var(--turquoise)}

/* The shorter value descriptions use their natural height. */
.design-review.omega-presentation-v15 .values-list {gap:26px 30px}
.design-review.omega-presentation-v15 .values-list dt {margin-bottom:10px}
.design-review.omega-presentation-v15 .values-list dd {font-size:18px;line-height:1.55}
.design-review.omega-presentation-v15 .values-illustration {max-width:260px;margin-top:28px}

@media(max-width:1100px) {
  .design-review .omega-services-compact .expertise-feature {gap:40px}
  .design-review .omega-services-compact .service-list {gap:0 28px;--service-image-width:60px;--service-image-height:70px}
  .design-review .omega-services-compact .service-list>a,
  .design-review .omega-services-compact .service-list>a:last-child {gap:14px;font-size:22px}
  .design-review .omega-services-compact .service-list>a:nth-child(-n+2) {--service-image-width:88px;--service-image-height:100px;font-size:24px}
}
@media(max-width:780px) {
  .omega-presentation-v15 .omega-team-portraits {padding-block:44px 48px}
  .omega-presentation-v15 .team-portrait-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 26px;padding-bottom:0}
  .omega-presentation-v15 .team-portrait-person:nth-child(n) {transform:none}
  .omega-presentation-v15 .omega-team-route {display:none}
  .design-review .omega-services-compact .expertise-feature {grid-template-columns:1fr;gap:28px;margin-bottom:30px}
  .design-review .omega-services-compact .expertise-feature-image {max-width:520px}
  .design-review .omega-services-compact .expertise-feature-image>img {aspect-ratio:2.2;border-radius:2px 2px 42px 2px}
  .design-review .omega-services-compact .service-list {grid-template-columns:1fr}
  .design-review .omega-services-compact .service-list>a,
  .design-review .omega-services-compact .service-list>a:nth-child(-n+2),
  .design-review .omega-services-compact .service-list>a:last-child {
    --service-image-width:78px;
    --service-image-height:84px;
    gap:18px;
    padding-block:22px;
    font-size:23px;
  }
}
@media(max-width:440px) {
  .omega-presentation-v15 .team-portrait-grid {gap:28px 18px}
  .omega-presentation-v15 .team-portrait-frame {padding:8px;border-radius:24px 5px 24px 5px}
  .omega-presentation-v15 .team-portrait-person figcaption {font-size:17px;margin-top:12px}
  .design-review .omega-services-compact .service-list>a,
  .design-review .omega-services-compact .service-list>a:nth-child(-n+2),
  .design-review .omega-services-compact .service-list>a:last-child {
    --service-image-width:58px;
    --service-image-height:66px;
    grid-template-columns:var(--service-image-width) minmax(0,1fr) 18px;
    gap:13px;
    font-size:21px;
  }
  .design-review .omega-services-compact .service-list>a>svg {width:18px;height:18px}
  .design-review .omega-services-compact .service-list small {font-size:16px}
}
@media(prefers-reduced-motion:reduce) {
  .omega-route-drawing .omega-team-route path {animation:none}
}
@media(forced-colors:active) {
  .omega-presentation-v15 .omega-team-route {display:none}
  .omega-presentation-v15 .team-portrait-frame {outline:1px solid CanvasText}
  .omega-presentation-v15 .team-portrait-photo {forced-color-adjust:none}
  .design-review .omega-services-compact .service-list>a {border-color:CanvasText}
  .design-review .omega-services-compact .service-list>a:focus-visible {outline-color:LinkText}
}
