a{
  color:inherit;
  text-decoration:none;
}

/* =========================
   TOKENS
========================= */

:root{
  --corp-radius:24px;
  --corp-radius-lg:30px;

  --corp-border:rgba(255,255,255,0.10);
  --corp-border-strong:rgba(255,255,255,0.16);
  --corp-surface:rgba(18,24,34,0.62);

  --corp-shadow-soft:0 14px 34px rgba(0,0,0,0.22);
  --corp-shadow:0 24px 80px rgba(0,0,0,0.42);

  --corp-copy:rgba(255,255,255,0.92);
  --corp-muted:rgba(255,255,255,0.72);
  --corp-soft:rgba(255,255,255,0.56);

  --corp-green:rgba(166,255,181,1);
  --corp-teal:rgba(124,238,221,1);
  --corp-violet:rgba(160,161,255,1);

  --corp-ease:cubic-bezier(.22, .61, .36, 1);
  --corp-card-open-speed: .95s;
  --corp-card-content-speed: .72s;
  --corp-outline-draw-speed: 1.55s;
  --corp-card-pulse-speed: .75s;
}

/* =========================
   BASE
========================= */

body.corp{
  background:
    radial-gradient(1200px 720px at 12% -6%, rgba(166,255,181,0.16), rgba(166,255,181,0.035) 58%, transparent 72%),
    radial-gradient(1100px 760px at 108% 14%, rgba(142,153,251,0.16), rgba(142,153,251,0.045) 60%, transparent 74%),
    linear-gradient(180deg, #0d1118 0%, #101620 48%, #0d121a 100%);
  overflow-x:hidden;
}

.corp-main{
  position:relative;
  min-height:100vh;
  padding-top:calc(var(--header-h, 76px) + 24px);
  padding-bottom:72px;
  isolation:isolate;
}

.corp-main > *:not(.corp-global-bg){
  position:relative;
  z-index:1;
}

/* =========================
   BACKGROUND / GLOBE
========================= */

.corp-global-bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:auto;
  overflow:hidden;
}

.corp-globe-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.corp-globe-glow{
  position:absolute;
  inset:0;
  background:
    radial-gradient(1200px 960px at 72% 38%, rgba(124,238,221,0.085), rgba(124,238,221,0.035) 58%, transparent 72%),
    radial-gradient(1460px 1180px at 76% 46%, rgba(160,161,255,0.10), rgba(160,161,255,0.045) 64%, transparent 78%);
  filter:blur(44px);
}

.corp-globe-glow{
  transform-origin:76% 42%;
  animation:corp-globe-ambient 14s ease-in-out infinite;
  will-change:opacity, transform;
}

@keyframes corp-globe-ambient{
  0%,
  100%{
    opacity:.74;
    transform:scale(.985);
  }

  42%{
    opacity:1;
    transform:scale(1.025);
  }

  78%{
    opacity:.84;
    transform:scale(1.005);
  }
}

@media (max-width:780px){
  .corp-globe-glow{
    transform-origin:64% 38%;
  }
}

@media (prefers-reduced-motion:reduce){
  .corp-globe-glow{
    animation:none;
    opacity:.86;
    transform:none;
  }
}

.corp-globe-fade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(9,13,20,0.86) 0%,
      rgba(9,13,20,0.62) 16%,
      rgba(9,13,20,0.24) 34%,
      rgba(9,13,20,0.08) 58%,
      rgba(9,13,20,0.10) 100%
    ),
    linear-gradient(
      180deg,
      rgba(7,10,15,0.10) 0%,
      rgba(7,10,15,0.04) 28%,
      rgba(7,10,15,0.08) 58%,
      rgba(7,10,15,0.14) 100%
    );
}

/* =========================
   TYPOGRAPHY
========================= */

.corp-eyebrow,
.corp-section__eyebrow{
  margin:0 0 14px;
  color:var(--corp-soft);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.corp-section__title{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(1.9rem, 3vw, 2.6rem);
  line-height:1.08;
  letter-spacing:-.03em;
}

.corp-section__intro{
  max-width:56rem;
  margin:0;
  color:var(--corp-copy);
  font-size:1.02rem;
  line-height:1.75;
}

/* =========================
   HERO
========================= */

.corp-hero{
  min-height:760px;
  padding:42px 0 54px;
}

.corp-hero__copy{
  width:min(100%, 760px);
  padding-top:72px;
}

.corp-hero__title{
  max-width:10.5ch;
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(2.7rem, 5.3vw, 5rem);
  line-height:.94;
  letter-spacing:-.06em;
}

.corp-hero__lead{
  max-width:42ch;
  color:var(--corp-copy);
  line-height:1.7;
}

/* =========================
   SECTIONS
========================= */

.corp-section{
  padding:54px 0 24px;
}

.corp-section--tight{
  padding-top:26px;
}

.corp-section__header{
  margin-bottom:36px;
}

.corp-section__header--wide{
  max-width:760px;
}

#how-we-work{
  padding-top:18px;
}

/* =========================
   CONSULTING SERVICES
========================= */

.corp-services-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin-top:34px;
}

.corp-service-card{
  position:relative;
  overflow:hidden;
  min-height:74px;
  border:1px solid rgba(255,255,255,0.105);
  border-radius:26px;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(166,255,181,0.055), transparent 50%),
    radial-gradient(100% 130% at 100% 10%, rgba(160,161,255,0.06), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0.052), rgba(255,255,255,0.018)),
    rgba(18,24,34,0.64);
  box-shadow:0 18px 52px rgba(0,0,0,0.28);
  isolation:isolate;
  transform-origin:center center;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:
    transform .62s var(--corp-ease),
    border-color .42s ease,
    background .42s ease,
    box-shadow .48s ease;
}

.corp-service-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg, rgba(255,255,255,0.12), transparent 28%, transparent 70%, rgba(255,255,255,0.045));
  opacity:.42;
  transition:opacity .28s ease;
}

.corp-service-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  border:2px solid rgba(166,255,181,0);
  border-radius:26px;
  opacity:0;
  transform:scale(1);
  box-shadow:
    0 0 0 rgba(166,255,181,0),
    inset 0 0 0 rgba(166,255,181,0);
  transition:
    inset var(--corp-outline-draw-speed) linear,
    opacity .75s ease,
    border-color .95s ease,
    box-shadow 1.1s ease;
}

.corp-service-card:hover,
.corp-service-card.is-open,
.corp-service-card.is-preview-open{
  transform:translateY(-6px) scale(1.006);
  border-color:rgba(166,255,181,0.38);
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(166,255,181,0.08), transparent 50%),
    radial-gradient(100% 130% at 100% 10%, rgba(160,161,255,0.08), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.024)),
    rgba(18,24,34,0.70);
  box-shadow:
    0 24px 80px rgba(0,0,0,0.36),
    0 0 0 1px rgba(166,255,181,0.045) inset;
}

.corp-service-card:hover::before,
.corp-service-card.is-open::before,
.corp-service-card.is-preview-open::before{
  opacity:.68;
}

.corp-service-card:hover::after,
.corp-service-card.is-preview-open::after,
.corp-service-card.is-open::after{
  inset:12px;
  opacity:1;
  border-color:rgba(166,255,181,0.58);
  box-shadow:
    0 0 30px rgba(166,255,181,0.16),
    inset 0 0 24px rgba(166,255,181,0.055);
}

.corp-service-card.is-open::after{
  border-color:rgba(166,255,181,0.68);
  box-shadow:
    0 0 38px rgba(166,255,181,0.24),
    inset 0 0 30px rgba(166,255,181,0.075);
}

.corp-service-card.is-open,
.corp-service-card.is-preview-open{
  min-height:auto;
  animation:none;
}

.corp-service-card--wide{
  grid-column:1 / -1;
}

.corp-service-card__button{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  width:100%;
  padding:22px 24px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.corp-service-card__button:focus-visible{
  outline:2px solid rgba(166,255,181,0.78);
  outline-offset:-6px;
  border-radius:24px;
}

.corp-service-card__index{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:999px;
  background:rgba(255,255,255,0.045);
  color:rgba(255,255,255,0.58);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
}

.corp-service-card__main{
  position:relative;
  display:block;
  min-width:0;
}

.corp-service-card__main::after{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  width:96px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(166,255,181,0.55), transparent);
  opacity:0;
  transform:translate(-24px, -50%);
  pointer-events:none;
}

.corp-service-card:hover .corp-service-card__main::after,
.corp-service-card.is-open .corp-service-card__main::after,
.corp-service-card.is-preview-open .corp-service-card__main::after{
  animation:corp-card-trail .95s ease both;
}

.corp-service-card__title{
  display:block;
  margin-top:0;
  color:#fff;
  font-size:clamp(1.1rem, 1.8vw, 1.38rem);
  line-height:1.15;
  letter-spacing:-.025em;
  transition:
    transform .62s var(--corp-ease),
    letter-spacing .52s ease,
    color .42s ease,
    text-shadow .42s ease;
}

.corp-service-card:hover .corp-service-card__title,
.corp-service-card.is-open .corp-service-card__title,
.corp-service-card.is-preview-open .corp-service-card__title{
  transform:translateY(-2px);
  letter-spacing:.01em;
  text-shadow:0 0 22px rgba(166,255,181,0.14);
}

.corp-service-card__teaser{
  display:block;
  max-width:56rem;
  max-height:0;
  margin-top:0;
  overflow:hidden;
  color:rgba(255,255,255,0.70);
  font-size:.96rem;
  line-height:1.65;
  opacity:0;
  transform:translateY(-8px);
  transition:
    max-height var(--corp-card-open-speed) var(--corp-ease),
    margin-top .55s ease,
    opacity .5s ease,
    transform var(--corp-card-content-speed) var(--corp-ease);
}

.corp-service-card.is-open .corp-service-card__teaser,
.corp-service-card.is-preview-open .corp-service-card__teaser{
  max-height:120px;
  margin-top:10px;
  opacity:1;
  transform:translateY(0);
}

.corp-service-card__icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:999px;
  background:
    linear-gradient(135deg, rgba(166,255,181,0.16), rgba(160,161,255,0.14)),
    rgba(255,255,255,0.055);
  color:#fff;
  font-size:1.25rem;
  line-height:1;
  transition:
    transform .54s cubic-bezier(.16, 1.18, .3, 1),
    background .42s ease,
    border-color .42s ease;
}

.corp-service-card.is-open .corp-service-card__icon,
.corp-service-card.is-preview-open .corp-service-card__icon{
  transform:rotate(45deg) scale(1.06);
  border-color:rgba(166,255,181,0.36);
  background:
    linear-gradient(135deg, rgba(166,255,181,0.24), rgba(160,161,255,0.20)),
    rgba(255,255,255,0.075);
}

.corp-service-card.is-open .corp-service-card__icon{
  animation:none;
}

.corp-service-card__panel{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transform:translateY(-4px);
  transform-origin:top center;
  transition:
    grid-template-rows var(--corp-card-open-speed) var(--corp-ease),
    opacity .52s ease,
    transform var(--corp-card-content-speed) var(--corp-ease);
}

.corp-service-card:not(.is-open):not(.is-preview-open) .corp-service-card__panel{
  pointer-events:none;
}

.corp-service-card.is-open .corp-service-card__panel,
.corp-service-card.is-preview-open .corp-service-card__panel{
  grid-template-rows:1fr;
  opacity:1;
  transform:translateY(0);
}

.corp-service-card__panel-inner{
  min-height:0;
  overflow:hidden;
}

.corp-service-card__panel-inner ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0 24px 24px 80px;
  list-style:none;
}

.corp-service-card__panel-inner li{
  position:relative;
  color:rgba(255,255,255,0.78);
  font-size:.95rem;
  line-height:1.55;
  opacity:0;
  transform:none;
  transition:none;

}

.corp-service-card.is-open .corp-service-card__panel-inner li,
.corp-service-card.is-preview-open .corp-service-card__panel-inner li{
  opacity:1;
  transform:translateY(0);
}

.corp-service-card.is-open .corp-service-card__panel-inner li:nth-child(1),
.corp-service-card.is-preview-open .corp-service-card__panel-inner li:nth-child(1){
  transition-delay:.10s;
}

.corp-service-card.is-open .corp-service-card__panel-inner li:nth-child(2),
.corp-service-card.is-preview-open .corp-service-card__panel-inner li:nth-child(2){
  transition-delay:.17s;
}

.corp-service-card.is-open .corp-service-card__panel-inner li:nth-child(3),
.corp-service-card.is-preview-open .corp-service-card__panel-inner li:nth-child(3){
  transition-delay:.24s;
}

.corp-service-card.is-open .corp-service-card__panel-inner li:nth-child(4),
.corp-service-card.is-preview-open .corp-service-card__panel-inner li:nth-child(4){
  transition-delay:.31s;
}

.corp-service-card.is-open .corp-service-card__panel-inner li:nth-child(5),
.corp-service-card.is-preview-open .corp-service-card__panel-inner li:nth-child(5){
  transition-delay:.38s;
}

.corp-service-card:not(.is-open):not(.is-preview-open) .corp-service-card__panel-inner li{
  transition-delay:0s;
}

.corp-service-card__panel-inner li::before{
  content:"";
  position:absolute;
  top:.72em;
  left:-18px;
  width:6px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(166,255,181,0.95), rgba(160,161,255,0.95));
  box-shadow:0 0 14px rgba(166,255,181,0.32);
}

.corp-services-grid--featured{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.corp-services-grid--featured .corp-service-card--wide{
  grid-column:1 / -1;
}

@media (max-width:1100px){
  .corp-services-grid--featured{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:780px){
  .corp-services-grid--featured{
    grid-template-columns:1fr;
  }
}

.corp-sustainability-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  max-width:760px;
  margin:22px auto 0;
  padding:18px 20px;
  text-align:left;
  border:1px solid rgba(166,255,181,0.18);
  border-radius:20px;
  background:
    linear-gradient(135deg, rgba(166,255,181,0.07), rgba(160,161,255,0.045)),
    rgba(18,24,34,0.54);
  color:rgba(255,255,255,0.74);
}

.corp-sustainability-note span{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 10px;
  border:1px solid rgba(166,255,181,0.18);
  border-radius:999px;
  background:rgba(166,255,181,0.10);
  color:rgba(255,255,255,0.82);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.corp-sustainability-note p{
  margin:2px 0 0;
  line-height:1.65;
}

/* =========================
   ENGAGEMENT TYPES
========================= */

.corp-engagements{
  position:relative;
  width:min(100%, 1180px);
  margin:34px auto 0;
  padding:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.11);
  border-radius:30px;
  background:
    radial-gradient(900px 420px at 8% 0%, rgba(166,255,181,0.075), transparent 56%),
    radial-gradient(760px 420px at 100% 12%, rgba(160,161,255,0.075), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0.048), rgba(255,255,255,0.018)),
    rgba(13,18,27,0.68);
  box-shadow:
    0 28px 90px rgba(0,0,0,0.36),
    0 1px 0 rgba(255,255,255,0.06) inset;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.corp-engagements::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, rgba(255,255,255,0.12), transparent 24%, transparent 72%, rgba(255,255,255,0.045));
  opacity:.46;
}

.corp-engagements::after{
  content:"";
  position:absolute;
  top:0;
  left:30px;
  right:30px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(166,255,181,0.64), rgba(160,161,255,0.58), transparent);
  opacity:.7;
}

.corp-engagements__header{
  position:relative;
  z-index:1;
  max-width:680px;
  margin-bottom:24px;
}

.corp-engagements__header h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(1.7rem, 2.8vw, 2.35rem);
  line-height:1.05;
  letter-spacing:-.04em;
}

.corp-engagements__header p:last-child{
  max-width:52rem;
  margin:0;
  color:rgba(255,255,255,0.72);
  line-height:1.7;
}

.corp-engagements__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

.corp-engagement-card{
  position:relative;
  min-height:220px;
  padding:24px 22px 22px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.058), rgba(255,255,255,0.022)),
    rgba(24,31,43,0.58);
  box-shadow:0 18px 42px rgba(0,0,0,0.22);
  transition:
    transform .58s var(--corp-ease),
    border-color .42s ease,
    background .42s ease,
    box-shadow .48s ease;
}

.corp-engagement-card:hover{
  transform:translateY(-5px);
  border-color:rgba(166,255,181,0.32);
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(166,255,181,0.075), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,0.068), rgba(255,255,255,0.026)),
    rgba(24,31,43,0.64);
  box-shadow:0 24px 70px rgba(0,0,0,0.32);
}

.corp-engagement-card__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:30px;
  margin-bottom:42px;
  padding:0 11px;
  border:1px solid rgba(166,255,181,0.18);
  border-radius:999px;
  background:rgba(166,255,181,0.08);
  color:rgba(255,255,255,0.74);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
}

.corp-engagement-card h3{
  margin:0 0 12px;
  color:#fff;
  font-size:1.12rem;
  line-height:1.18;
  letter-spacing:-.025em;
}

.corp-engagement-card p{
  margin:0;
  color:rgba(255,255,255,0.70);
  font-size:.96rem;
  line-height:1.65;
}

/* =========================
   CLIENT WORKFLOW
========================= */

.corp-workflow{
  position:relative;
  padding:34px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.11);
  border-radius:32px;
  background:
    radial-gradient(900px 520px at 6% 0%, rgba(166,255,181,0.07), transparent 58%),
    radial-gradient(860px 520px at 100% 16%, rgba(160,161,255,0.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0.048), rgba(255,255,255,0.018)),
    rgba(13,18,27,0.70);
  box-shadow:
    0 30px 96px rgba(0,0,0,0.36),
    0 1px 0 rgba(255,255,255,0.06) inset;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.corp-workflow::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, rgba(255,255,255,0.12), transparent 24%, transparent 74%, rgba(255,255,255,0.045));
  opacity:.42;
}

.corp-workflow::after{
  content:"";
  position:absolute;
  top:0;
  left:34px;
  right:34px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(166,255,181,0.62), rgba(160,161,255,0.58), transparent);
  opacity:.74;
}

.corp-workflow__header{
  position:relative;
  z-index:1;
  max-width:780px;
  margin-bottom:30px;
}

.corp-workflow__header h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(1.9rem, 3vw, 2.65rem);
  line-height:1.04;
  letter-spacing:-.045em;
}

.corp-workflow__header p:last-child{
  max-width:56rem;
  margin:0;
  color:rgba(255,255,255,0.74);
  font-size:1.02rem;
  line-height:1.75;
}

.corp-workflow__rail{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}

.corp-workflow__rail::before{
  content:"";
  position:absolute;
  top:46px;
  left:10%;
  right:10%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(166,255,181,0.30), rgba(160,161,255,0.26), transparent);
  opacity:.85;
  pointer-events:none;
}

.corp-workflow-step{
  position:relative;
  min-height:310px;
  padding:24px 22px 22px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.058), rgba(255,255,255,0.022)),
    rgba(24,31,43,0.58);
  box-shadow:0 18px 44px rgba(0,0,0,0.22);
  transition:
    transform .62s var(--corp-ease),
    border-color .42s ease,
    background .42s ease,
    box-shadow .48s ease;
}

.corp-workflow-step:hover{
  transform:translateY(-6px);
  border-color:rgba(166,255,181,0.34);
  background:
    radial-gradient(130% 120% at 0% 0%, rgba(166,255,181,0.075), transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,0.068), rgba(255,255,255,0.026)),
    rgba(24,31,43,0.66);
  box-shadow:0 26px 76px rgba(0,0,0,0.34);
}

.corp-workflow-step__number{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:32px;
  margin-bottom:44px;
  padding:0 12px;
  border:1px solid rgba(166,255,181,0.18);
  border-radius:999px;
  background:
    linear-gradient(135deg, rgba(166,255,181,0.105), rgba(160,161,255,0.075)),
    rgba(255,255,255,0.035);
  color:rgba(255,255,255,0.78);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  box-shadow:0 0 24px rgba(166,255,181,0.08);
}

.corp-workflow-step h3{
  margin:0 0 11px;
  color:#fff;
  font-size:1.14rem;
  line-height:1.15;
  letter-spacing:-.025em;
}

.corp-workflow-step p{
  margin:0 0 16px;
  color:rgba(255,255,255,0.70);
  font-size:.95rem;
  line-height:1.62;
}

.corp-workflow-step ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.corp-workflow-step li{
  position:relative;
  padding-left:16px;
  color:rgba(255,255,255,0.72);
  font-size:.91rem;
  line-height:1.45;
}

.corp-workflow-step li::before{
  content:"";
  position:absolute;
  top:.62em;
  left:0;
  width:5px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(166,255,181,0.95), rgba(160,161,255,0.95));
  box-shadow:0 0 12px rgba(166,255,181,0.28);
}

.corp-workflow-output{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-top:18px;
  padding:18px 20px;
  border:1px solid rgba(160,161,255,0.18);
  border-radius:20px;
  background:
    linear-gradient(135deg, rgba(166,255,181,0.055), rgba(160,161,255,0.07)),
    rgba(18,24,34,0.54);
}

.corp-workflow-output span{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 10px;
  border:1px solid rgba(160,161,255,0.18);
  border-radius:999px;
  background:rgba(160,161,255,0.10);
  color:rgba(255,255,255,0.82);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.corp-workflow-output p{
  margin:2px 0 0;
  color:rgba(255,255,255,0.74);
  line-height:1.65;
}

.corp-workflow-cta{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:20px;
  padding:24px;
  border:1px solid rgba(166,255,181,0.18);
  border-radius:24px;
  background:
    radial-gradient(100% 160% at 0% 0%, rgba(166,255,181,0.085), transparent 52%),
    linear-gradient(180deg, rgba(255,255,255,0.052), rgba(255,255,255,0.018)),
    rgba(24,31,43,0.60);
}

.corp-workflow-cta h3{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(1.35rem, 2.1vw, 1.75rem);
  line-height:1.08;
  letter-spacing:-.035em;
}

.corp-workflow-cta p:not(.corp-section__eyebrow){
  margin:0;
  color:rgba(255,255,255,0.72);
  line-height:1.6;
}

.corp-workflow-cta__button{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border:1px solid rgba(166,255,181,0.26);
  border-radius:999px;
  background:
    linear-gradient(135deg, rgba(166,255,181,0.20), rgba(160,161,255,0.16)),
    rgba(255,255,255,0.065);
  color:#fff;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:-.01em;
  box-shadow:0 16px 34px rgba(0,0,0,0.24);
  transition:
    transform .48s var(--corp-ease),
    border-color .32s ease,
    background .32s ease,
    box-shadow .38s ease;
}

.corp-workflow-cta__button:hover{
  transform:translateY(-3px);
  border-color:rgba(166,255,181,0.52);
  background:
    linear-gradient(135deg, rgba(166,255,181,0.28), rgba(160,161,255,0.22)),
    rgba(255,255,255,0.085);
  box-shadow:0 20px 52px rgba(0,0,0,0.34);
}

.corp-workflow-cta__button:focus-visible{
  outline:2px solid rgba(166,255,181,0.78);
  outline-offset:4px;
}

/* =========================
   MOTION KEYFRAMES
========================= */


@keyframes corp-card-trail{
  0%{
    opacity:0;
    transform:translate(-40px, -50%);
  }

  28%{
    opacity:.75;
  }

  72%{
    opacity:.45;
  }

  100%{
    opacity:0;
    transform:translate(140px, -50%);
  }
}


/* =========================
   REVEALS
========================= */

.reveal-text,
.reveal-card{
  opacity:0;
  transform:translateY(14px);
  transition:
    opacity .7s ease,
    transform .7s ease;
}

.reveal-text.is-visible,
.reveal-card.is-visible{
  opacity:1;
  transform:none;
}

/* =========================
   SUPPORT CARD IMAGES
========================= */

.corp-service-card__media{
  width:calc(100% - 48px);
  max-width:520px;
  margin:0 auto 16px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:0 18px 34px rgba(0,0,0,0.22);
  background:rgba(255,255,255,0.03);
}

/* Cross-Domain gets the large, cinematic image treatment */
.corp-service-card--wide .corp-service-card__media{
  width:calc(100% - 48px);
  max-width:none;
  margin:0 auto 20px;
}

.corp-service-card--wide .corp-service-card__media img{
  aspect-ratio:21 / 8;
  object-fit:cover;
  object-position:center;
}

.corp-service-card__media img{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  transform:scale(1.01);
}

.corp-service-card__panel-inner ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0 24px 24px 98px;
  list-style:none;
}

/* =========================
   HOW WE WORK BACKGROUND IMAGE
========================= */

.corp-workflow--with-bg{
  background:
    linear-gradient(180deg, rgba(10,14,20,0.84), rgba(10,14,20,0.78)),
    radial-gradient(900px 520px at 6% 0%, rgba(166,255,181,0.06), transparent 58%),
    radial-gradient(860px 520px at 100% 16%, rgba(160,161,255,0.07), transparent 60%),
    url("/assets/img/photos/integration2.jpg") center center / cover no-repeat;
}

/* slightly brighten internal cards so they stay readable over the bg image */
.corp-workflow--with-bg .corp-workflow-step{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.060), rgba(255,255,255,0.024)),
    rgba(24,31,43,0.68);
}

.corp-workflow--with-bg .corp-workflow-output{
  background:
    linear-gradient(135deg, rgba(166,255,181,0.055), rgba(160,161,255,0.08)),
    rgba(18,24,34,0.64);
}

.corp-workflow--with-bg .corp-workflow-cta{
  background:
    radial-gradient(100% 160% at 0% 0%, rgba(166,255,181,0.08), transparent 52%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.022)),
    rgba(24,31,43,0.70);
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:1100px){
  .corp-workflow__rail{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .corp-workflow__rail::before{
    display:none;
  }

  .corp-workflow-step{
    min-height:280px;
  }
}

@media (max-width:980px){
  .corp-services-grid,
  .corp-engagements__grid{
    grid-template-columns:1fr;
  }

  .corp-service-card--wide{
    grid-column:auto;
  }

  .corp-engagement-card{
    min-height:auto;
  }

  .corp-engagement-card__number{
    margin-bottom:24px;
  }
}

@media (max-width:780px){
  .corp-hero{
    min-height:520px;
  }

.corp-service-card__media{
  width:calc(100% - 40px);
  margin:0 auto 14px;
}

.corp-service-card--wide .corp-service-card__media{
  width:calc(100% - 40px);
  margin:0 auto 16px;
}

.corp-service-card--wide .corp-service-card__media img{
  aspect-ratio:16 / 9;
}

.corp-service-card__panel-inner ul{
  padding:0 22px 22px 40px;
}
  .corp-section__intro{
    font-size:.98rem;
  }

  .corp-service-card.is-open,
  .corp-service-card.is-preview-open{
    min-height:auto;
  }

  .corp-service-card:hover,
  .corp-service-card.is-open,
  .corp-service-card.is-preview-open{
    transform:translateY(-3px);
  }

  .corp-service-card.is-open{
    animation:none;
  }

  .corp-service-card__button{
    grid-template-columns:1fr auto;
    align-items:start;
    gap:14px;
    padding:22px 20px 20px;
  }

  .corp-service-card__index{
    grid-column:1 / -1;
    width:auto;
    height:auto;
    justify-self:start;
    padding:7px 10px;
  }

  .corp-service-card__panel{
    filter:none;
  }

  .corp-service-card__panel-inner ul{
    padding:0 22px 22px 40px;
  }

  .corp-service-card__panel-inner li{
    transform:translateY(-3px);
  }

  .corp-sustainability-note,
  .corp-workflow-output,
  .corp-workflow-cta{
    flex-direction:column;
    align-items:flex-start;
  }

  .corp-engagements{
    width:min(100%, calc(100vw - 32px));
    padding:24px 20px;
    border-radius:26px;
  }

  .corp-engagements::after{
    left:22px;
    right:22px;
  }

.corp-engagement-card__image{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  margin-bottom:18px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:18px;
  object-fit:cover;
  box-shadow:0 14px 30px rgba(0,0,0,0.20);
  transition:
    transform .52s var(--corp-ease),
    filter .42s ease,
    box-shadow .42s ease;
}

.corp-engagement-card:hover .corp-engagement-card__image{
  transform:scale(1.018);
  filter:brightness(1.04) saturate(1.04);
  box-shadow:0 20px 42px rgba(0,0,0,0.28);
}
  .corp-workflow{
    padding:24px 20px;
    border-radius:28px;
  }

  .corp-workflow::after{
    left:22px;
    right:22px;
  }

  .corp-workflow__rail{
    grid-template-columns:1fr;
  }

  .corp-workflow-step{
    min-height:auto;
  }

  .corp-workflow-step__number{
    margin-bottom:24px;
  }

  .corp-workflow-cta__button{
    width:100%;
  }
}

@media (prefers-reduced-motion: reduce){
  .corp-service-card,
  .corp-service-card::before,
  .corp-service-card::after,
  .corp-service-card__main::after,
  .corp-service-card__title,
  .corp-service-card__teaser,
  .corp-service-card__icon,
  .corp-service-card__panel,
  .corp-service-card__panel-inner li,
  .corp-engagement-card,
  .corp-workflow-step,
  .corp-workflow-cta__button,
  .reveal-text,
  .reveal-card{
    animation:none !important;
    transition:none !important;
  }

  .corp-service-card:hover,
  .corp-service-card.is-open,
  .corp-service-card.is-preview-open,
  .corp-engagement-card:hover,
  .corp-workflow-step:hover,
  .corp-workflow-cta__button:hover{
    transform:none;
  }

  .corp-service-card__panel,
  .corp-service-card__teaser,
  .corp-service-card__panel-inner li,
  .reveal-text,
  .reveal-card{
    filter:none;
    transform:none;
  }

  .corp-service-card__panel-inner li,
  .reveal-text,
  .reveal-card{
    opacity:1;
  }
}