.team-page {
  --ink: #060606;
  --paper: #ffffff;
  --aqua: #08dfc8;
  --aqua-deep: #009c88;
  --line: #171717;
  --muted: #595959;
  --radius: 20px;
  --font-primary: "Plus Jakarta Sans", Arial, sans-serif;
}

.team-page,
.team-page *,
.team-page *::before,
.team-page *::after { box-sizing: border-box; font-family: var(--font-primary); font-synthesis: none; }
html.team-page-document { scroll-behavior: smooth; }

body.team-page-body {
  margin: 0;
  background: #ffffff;
  color: #060606;
  font-family: "Plus Jakarta Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: -0.01em;
  font-style: normal;
  text-transform: none;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.team-page strong,
.team-page b { font-weight: 600; }
.team-page a { color: inherit; text-decoration: none; font-weight: 500; }
.team-page img { max-width: 100%; }
.team-page h1,
.team-page h2,
.team-page h3 { font-style: normal; text-transform: none; }
.team-page h1 { font-size: 64px; font-weight: 700; line-height: 1.08; letter-spacing: -0.04em; margin: 0 0 24px; }
.team-page h2 { font-size: 46px; font-weight: 700; line-height: 1.15; letter-spacing: -0.035em; margin: 0 0 20px; }
.team-page h3 { font-size: 32px; font-weight: 700; line-height: 1.25; letter-spacing: -0.03em; margin: 0 0 16px; }
.team-page p { font-size: 16px; font-weight: 400; line-height: 26px; letter-spacing: -0.005em; }

.team-page { padding: 0 0 clamp(50px, 7vw, 100px); }
.team-page .experts { padding-top: clamp(64px, 6vw, 100px); }
.section-shell { width: min(100% - clamp(24px, 6vw, 96px), 1540px); margin-inline: auto; }
.aqua { color: var(--aqua); }
 .section-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}


.hero { padding-top: clamp(26px, 4vw, 60px); }
.hero-heading h1,
.experts-heading h2,
.culture-heading h2,
.join-heading h2 {
  text-transform: none;
}
.hero-heading h1 {
  margin: 0 auto;
  width: 100%;
  max-width: 1460px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2px, 0.35vw, 6px);
  font-size: clamp(5rem, 7.45vw, 7.9rem);
  font-weight: 700;
  line-height: 0.88;
  letter-spacing: -0.058em;
  padding: clamp(46px, 5.4vw, 82px) 0 clamp(34px, 3.3vw, 50px);
}
.hero-heading h1 > span {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}
.hero-heading h1 > span:nth-child(1) {
  align-self: flex-start;
  margin-left: clamp(6%, 9vw, 12%);
  font-size: 0.9em;
}
.hero-heading h1 .green-word { color: #060606; font: inherit; }
.hero-heading h1 > span:nth-child(2) {
  position: relative;
  align-self: center;
  transform: translateX(3%);
  padding-left: clamp(34px, 4.8vw, 72px);
}
.hero-heading h1 > span:nth-child(2)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 52%;
  width: clamp(22px, 3.5vw, 52px);
  height: 2px;
  background: currentColor;
  transform: translateY(-50%);
}
.hero-heading h1 > span:nth-child(3) {
  align-self: flex-end;
  margin-right: clamp(2%, 4.5vw, 7%);
  font-size: 1.02em;
}
.hero-heading h1 .aqua {
  color: #57D97D;
  font-weight: 700;
  line-height: inherit;
  letter-spacing: inherit;
}
.hero-intro {
  display: grid;
  grid-template-columns: minmax(0, 620px) auto;
  justify-content: space-between;
  align-items: end;
  column-gap: clamp(32px, 6vw, 100px);
  border-top: 1px solid #c8c8c8;
  padding: 22px clamp(2%, 4.5vw, 7%) 28px clamp(6%, 9vw, 12%);
}
.hero-intro > p {
  grid-column: 1;
  width: 100%;
  max-width: 600px;
  margin: 0;
  text-align: left;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: -0.01em;
}
.hero-intro > a {
  grid-column: 2;
  justify-self: end;
}
.hero-intro > a,
.primary-button {
  display: inline-flex;
  width: max-content;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--aqua-deep);
  color: #fff;
  border-radius: 999px;
  padding: 8px 9px 8px 18px;
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: -0.01em;
  text-transform: none;
  transition: transform .25s ease, background .25s ease;
}
.hero-intro > a b,
.primary-button b { width: 32px; height: 32px; border-radius: 50%; background: #fff; color: var(--ink); display: grid; place-items: center; font-size: 17px; font-weight: 600; }
.hero-intro > a:hover,
.primary-button:hover { transform: translateY(-3px); background: #007d6d; }

/* Team hero CTA aligned with the Home page CTA palette. */
.hero-intro > p {
  color: #081E42;
}
.hero-intro > a {
  background: #ffffff;
  color: #081E42;
  box-shadow: 0 10px 30px rgba(8, 30, 66, 0.18);
  border: 1px solid rgba(8, 30, 66, 0.08);
}
.hero-intro > a b {
  background: #2ED06E;
  color: #081E42;
}
.hero-intro > a .arrow-icon path {
  stroke: #081E42;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero-intro > a:hover,
.hero-intro > a:focus-visible {
  background: #E8FBEF;
  color: #081E42;
}
.hero-intro > a:hover b,
.hero-intro > a:focus-visible b {
  background: #2ED06E;
}

.hero-stage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: clamp(470px, 42vw, 640px); border-radius: var(--radius); overflow: hidden; background: #050505; }
.hero-person { position: relative; min-width: 0; overflow: hidden; background: linear-gradient(145deg, var(--aqua), #007f72); }
.hero-person img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.hero-person:hover img { transform: scale(1.035); }
.hero-person::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.68)); pointer-events: none; }
.hero-person > div { position: absolute; z-index: 2; left: clamp(18px, 2.2vw, 34px); right: clamp(18px, 2.2vw, 34px); bottom: clamp(18px, 2.2vw, 34px); color: #fff; display: flex; justify-content: space-between; align-items: end; gap: 15px; }
.hero-person > div span { font-size: 12px; font-weight: 600; line-height: 17px; letter-spacing: 0.06em; text-transform: uppercase; }
.hero-person > div strong { font-size: 22px; font-weight: 600; line-height: 29px; letter-spacing: -0.02em; text-transform: none; }

.experts { padding: clamp(115px, 14vw, 220px) 0 clamp(100px, 13vw, 190px); }
.experts-heading > p,
.culture-heading > p,
.join-heading > p {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.experts-heading h2,
.culture-heading h2 {
  margin: 0 0 20px;
  font-size: clamp(1.875rem, 3.5vw, 2.875rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.experts-heading {
  max-width: 1380px;
  margin-inline: auto;
  text-align: center;
}

.experts-heading .experts-title {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 1vw, 16px);
  font-size: clamp(3.25rem, 5.8vw, 6.25rem);
  font-weight: 700;
  line-height: .96;
  letter-spacing: -.055em;
}

.experts-title-copy {
  display: block;
  width: 100%;
  color: #00295e;
  font: inherit;
  white-space: nowrap;
  text-align: center;
}

.experts-title-accent {
  color: #57D97D;
  font: inherit;
}

.experts-title-curve {
  display: block;
  width: clamp(190px, 24vw, 360px);
  height: auto;
  overflow: visible;
}

.experts-title-curve path {
  fill: none;
  stroke: #57D97D;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.culture-heading h2 span { color: #57D97D; font: inherit; }

.team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(54px, 6vw, 92px) clamp(14px, 1.8vw, 28px); margin-top: clamp(42px, 5.2vw, 74px); }
.team-card { min-width: 0; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.team-card:hover { transform: translateY(-8px); }
.portrait-wrap { aspect-ratio: 1 / 1.04; position: relative; overflow: hidden; border: 1px solid rgba(0,0,0,.45); border-radius: var(--radius); background: linear-gradient(145deg, var(--aqua), #006d62); transition: border .3s ease, box-shadow .3s ease; }
.portrait-wrap::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 -80px 75px rgba(0,0,0,.14); pointer-events: none; }
.portrait-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.team-card:hover .portrait-wrap { border-color: var(--aqua-deep); box-shadow: 0 14px 34px rgba(0,83,73,.15); }
.team-card:hover .portrait-wrap img { transform: scale(1.04); }
.socials { position: absolute; z-index: 3; top: 12px; right: 12px; display: flex; gap: 6px; }
.socials a { width: 28px; height: 28px; border-radius: 4px; background: #fff; display: grid; place-items: center; font-size: 11px; font-weight: 600; line-height: 16px; border: 1px solid rgba(0,0,0,.2); transition: background .25s ease, color .25s ease; }
.socials a:hover { background: #050505; color: var(--aqua); }
.member-meta {
  padding: 18px 2px 0;
}

.member-meta > p {
  margin: 0 0 8px;
  min-height: 0;
  color: #526474;
  font-size: clamp(.68rem, .78vw, .78rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .085em;
  text-transform: uppercase;
}

.member-meta > div {
  width: 100%;
  min-width: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 46px;
}

.member-meta h3 {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  max-width: calc(100% - 58px);
  overflow-wrap: anywhere;
  color: #061827;
  font-size: clamp(1.15rem, 1.45vw, 1.45rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.03em;
  text-transform: none;
}

.member-meta > div > .member-arrow-button {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(0, 41, 94, .34);
  border-radius: 50%;
  color: #00295e;
  background: #fff;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, background .28s ease, color .28s ease;
}

.member-meta .arrow-icon {
  width: 18px;
  height: 18px;
}

.team-card:hover .member-meta > div > .member-arrow-button,
.team-card:focus-within .member-meta > div > .member-arrow-button {
  transform: translate(3px, -3px);
  border-color: #57D97D;
  background: #57D97D;
  color: #073722;
}

.culture { padding: clamp(90px, 10vw, 150px) 0 clamp(105px, 12vw, 180px); border-top: 1px solid #bdbdbd; }
.culture-heading h2 { max-width: 1480px; }
.culture-panel { margin-top: clamp(44px, 6vw, 82px); display: grid; grid-template-columns: .82fr 1.58fr; gap: clamp(12px, 1.4vw, 22px); align-items: stretch; }
.culture-copy { min-height: 360px; border-radius: var(--radius); background: #050505; color: #fff; padding: clamp(24px, 3vw, 46px); display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.culture-copy::after { content: ""; width: 170px; height: 170px; position: absolute; right: -82px; bottom: -82px; border: 1px solid rgba(8,223,200,.55); border-radius: 50%; box-shadow: 0 0 0 28px rgba(8,223,200,.06), 0 0 0 56px rgba(8,223,200,.035); }
.culture-copy > span { color: var(--aqua); font-size: 13px; font-weight: 600; line-height: 18px; letter-spacing: 0.08em; text-transform: uppercase; }
.culture-copy > p { max-width: 560px; margin: 38px 0 0; font-size: 28px; font-weight: 700; line-height: 36px; letter-spacing: -0.025em; position: relative; z-index: 2; }
.principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 18px); }
.principles article { min-height: 360px; background: #f8fbfa; color: #061827; border: 1px solid rgba(6,24,39,.16); border-radius: var(--radius); padding: clamp(20px, 2.2vw, 34px); display: flex; flex-direction: column; justify-content: space-between; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.principles article:nth-child(2) { background: #c9f5e7; color: #061827; }
.principles article:nth-child(3) { background: #55d979; color: #062619; }
.principles article:hover { transform: translateY(-5px); border-color: var(--ink); }
.principles article > span { width: 38px; height: 38px; border-radius: 50%; background: #050505; color: #fff; display: grid; place-items: center; font-size: 13px; font-weight: 600; line-height: 18px; letter-spacing: 0.04em; }
.principles h3 { margin: auto 0 10px; color: inherit; font-size: 22px; font-weight: 700; line-height: 29px; letter-spacing: -0.02em; }
.principles p { margin: 0; color: #385064; font-size: 15px; font-weight: 500; line-height: 24px; letter-spacing: -0.005em; }
.principles article:nth-child(3) p { color: #174a34; }
.principles article:nth-child(3) > span { background: #073722; }

.join { padding-top: clamp(70px, 8vw, 120px); border-top: 1px solid #bdbdbd; }
.join-heading h2 {
  max-width: 1320px;
  margin: 0 0 18px;
  font-size: clamp(1.875rem, 3.8vw, 3rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.035em;
}
.join-heading h2 span { color: #57D97D; font: inherit; }
.join-card { margin-top: clamp(42px, 5vw, 74px); min-height: 330px; border-radius: var(--radius); background: #08356d; color: #fff; padding: clamp(28px, 4vw, 60px); display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.join-card::before { content: none; }
.join-card-visual-arrow { position: absolute !important; width: clamp(116px, 14vw, 205px); height: clamp(116px, 14vw, 205px); right: clamp(20px, 4vw, 62px); top: 50%; transform: translateY(-50%); border-radius: 50%; background: #fff; color: #050505 !important; display: grid !important; place-items: center; z-index: 1 !important; pointer-events: none; }
.join-card-visual-arrow-icon { display: block; width: 52%; height: 52%; }
.join-card-visual-arrow-icon path { stroke: currentColor; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; }
.join-card::after { content: ""; position: absolute; width: clamp(180px, 20vw, 300px); height: clamp(180px, 20vw, 300px); right: clamp(-100px, -5vw, -42px); bottom: clamp(-130px, -7vw, -72px); border: 1px solid rgba(85,217,121,.22); border-radius: 50%; background: rgba(4,91,124,.22); box-shadow: 0 0 0 40px rgba(4,91,124,.12), 0 0 0 80px rgba(4,91,124,.07); pointer-events: none; }
.join-card > span:not(.join-card-visual-arrow) { color: #fff; font-size: 11px; font-weight: 700; line-height: 16px; letter-spacing: 0.05em; text-transform: uppercase; position: relative; z-index: 2; }
.join-card > p { margin: 18px 0 28px; max-width: 620px; color: #e6eef8; font-size: 17px; font-weight: 400; line-height: 28px; letter-spacing: -0.01em; position: relative; z-index: 2; }
.join-card > div { display: flex; flex-wrap: wrap; align-items: center; gap: 15px 22px; position: relative; z-index: 2; }
.join-card .primary-button { background: #fff; color: #061827; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.join-card .primary-button .join-arrow { background: #57D97D; color: #073722; }
.arrow-icon { display: block; width: 18px; height: 18px; }
.hero-arrow-graphic { display: block; width: 18px; height: 18px; object-fit: contain; }
.arrow-icon path { stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.join-card .primary-button .join-arrow .arrow-icon { width: 21px; height: 21px; }
.join-card .primary-button:hover { background: #eef5fb; }
.join-card .team-content-cta .join-arrow { transition: transform .28s cubic-bezier(.2,.8,.2,1), background-color .28s ease; }
.join-card .team-content-cta:hover .join-arrow,
.join-card .team-content-cta:focus-visible .join-arrow { transform: translate(3px, -3px); }

[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .35s ease var(--delay, 0ms), transform .35s cubic-bezier(.2,.8,.2,1) var(--delay, 0ms); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1100px) {
  .team-page h1 { font-size: 48px; line-height: 1.1; letter-spacing: -0.035em; margin-bottom: 20px; }
  .team-page h2 { font-size: 38px; line-height: 1.18; letter-spacing: -0.03em; }
  .team-page h3 { font-size: 28px; }
  .hero-heading h1 { font-size: clamp(64px, 8.4vw, 88px); line-height: 0.9; letter-spacing: -0.052em; padding: 44px 0 30px; }
  .hero-heading h1 > span:nth-child(1) { margin-left: 6%; font-size: 0.9em; }
  .hero-heading h1 > span:nth-child(2) { transform: translateX(2%); }
  .hero-heading h1 > span:nth-child(3) { margin-right: 2%; font-size: 1.01em; }
  .hero-intro { padding-left: 6%; padding-right: 2%; column-gap: 30px; }
  .hero-intro > p { font-size: 17px; line-height: 28px; max-width: 560px; }
  .experts-heading .experts-title {
    font-size: clamp(3rem, 6.5vw, 5.1rem);
    line-height: .96;
  }
  .culture-heading h2 { font-size: 38px; line-height: 1.18; letter-spacing: -0.03em; }
  .join-heading h2 { font-size: 38px; }

  .hero-stage { grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: 520px; }
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .culture-panel { grid-template-columns: 1fr; }
  .culture-copy > p { max-width: 760px; }
  .principles { min-height: 300px; }
}

@media (max-width: 740px) {
  .team-page h1 { font-size: 36px; line-height: 1.15; letter-spacing: -0.03em; margin-bottom: 18px; }
  .team-page h2 { font-size: 30px; line-height: 1.22; letter-spacing: -0.025em; margin-bottom: 16px; }
  .team-page h3 { font-size: 25px; line-height: 1.28; letter-spacing: -0.02em; }
  .section-label { font-size: 12px; line-height: 18px; letter-spacing: 0.07em; }

  .section-shell { width: calc(100% - 24px); }
  .hero { padding-top: 18px; }
  .hero-heading h1 {
    font-size: clamp(43px, 12vw, 58px);
    line-height: 0.94;
    letter-spacing: -0.045em;
    gap: 3px;
    padding: 34px 0 25px;
  }
  .hero-heading h1 > span:nth-child(1) { align-self: flex-start; margin-left: 4%; font-size: 0.91em; }
  .hero-heading h1 > span:nth-child(2) { align-self: center; transform: translateX(1%); padding-left: 30px; }
  .hero-heading h1 > span:nth-child(2)::before { width: 20px; height: 2px; }
  .hero-heading h1 > span:nth-child(3) { align-self: flex-end; margin-right: 0; font-size: 0.96em; }
  .hero-intro { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; }
  .hero-intro > p { width: 62%; max-width: 100%; font-size: 16px; line-height: 26px; }
  .hero-intro > a,
  .primary-button { gap: 8px; font-size: 14px; line-height: 20px; }
  .hero-stage {
    width: calc(100% + 12px);
    margin-left: -6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    gap: 7px;
    min-height: clamp(290px, 90vw, 355px);
    overflow: visible;
    border-radius: 0;
    background: transparent;
  }
  .hero-stage > * {
    min-width: 0;
    min-height: clamp(290px, 90vw, 355px);
    border: 1px solid rgba(0, 0, 0, .16);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .09);
  }
  .hero-person img { object-position: center top; }
  .hero-person > div { left: 8px; right: 8px; bottom: 10px; display: block; }
  .hero-person > div span { font-size: 11px; font-weight: 600; line-height: 16px; letter-spacing: 0.04em; white-space: nowrap; }
  .hero-person > div strong { display: block; margin-top: 5px; font-size: 20px; font-weight: 600; line-height: 27px; letter-spacing: -0.02em; white-space: normal; }

  .experts { padding-top: 105px; }
  .experts-heading .experts-title {
    font-size: clamp(2.15rem, 10.2vw, 3.25rem);
    line-height: 1;
    letter-spacing: -.045em;
    gap: 8px;
  }
  .experts-title-copy {
    white-space: normal;
    text-wrap: balance;
  }
  .experts-title-curve {
    width: clamp(160px, 54vw, 245px);
  }
  .culture-heading h2 { font-size: 30px; line-height: 1.22; letter-spacing: -0.025em; }
  .team-grid { grid-template-columns: 1fr; gap: 50px; margin-top: clamp(30px, 8vw, 42px); }
  .portrait-wrap { aspect-ratio: 1 / 1.02; }
  .member-meta { padding-top: 15px; }
  .member-meta > p { font-size: .68rem; line-height: 1.35; margin-bottom: 7px; }
  .member-meta h3 { font-size: clamp(1.12rem, 5.2vw, 1.35rem); line-height: 1.12; }
  .member-meta > div > .member-arrow-button { width: 40px; height: 40px; }

  .culture { padding-top: 65px; }
  .culture-panel { min-height: 0; }
  .culture-copy { min-height: 310px; }
  .culture-copy > p { font-size: 24px; line-height: 31px; }
  .principles { grid-template-columns: 1fr; min-height: 0; }
  .principles article { min-height: 170px; }
  .principles h3 { font-size: 20px; line-height: 27px; margin-bottom: 8px; }
  .principles p { font-size: 14px; line-height: 23px; }

  .join { padding-top: 65px; }
  .join-heading h2 { font-size: 30px; line-height: 1.2; letter-spacing: -0.025em; margin-bottom: 14px; }
  .join-card { min-height: 430px; }
  .join-card-visual-arrow { width: 96px; height: 96px; right: 20px; top: auto; bottom: 22px; transform: none; }
  .join-card::after { width: 160px; height: 160px; right: -54px; top: auto; bottom: -68px; transform: none; }
  .join-card > p { max-width: 100%; margin: 14px 0 110px; font-size: 15px; line-height: 25px; }

}

@media (max-width: 420px) {
  .hero-heading h1 { font-size: 39px; line-height: 0.98; letter-spacing: -0.04em; }
}

@media (max-width: 380px) {
  .hero-heading h1 { font-size: 35px; line-height: 1; letter-spacing: -0.038em; }
}

@media (max-width: 767px) {
  html body.team-page-body .team-page .join-card {
    min-height: 0 !important;
    justify-content: flex-start !important;
    gap: 20px;
  }

  html body.team-page-body .team-page .join-card-visual-arrow {
    display: none !important;
  }

  html body.team-page-body .team-page .join-card > p {
    margin: 0 !important;
    max-width: 100% !important;
  }

  html body.team-page-body .team-page .join-card > div {
    margin-top: 8px;
  }

  html body.team-page-body .team-page .member-meta,
  html body.team-page-body .team-page .member-meta > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body.team-page-body .team-page .member-meta > p {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  html body.team-page-body .team-page .member-meta h3 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 56px) !important;
    overflow-wrap: anywhere;
  }

  html body.team-page-body .team-page .join-card > div {
    width: 100%;
  }

  html body.team-page-body .team-page .join-card .team-content-cta.dc-master-btn {
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: space-between !important;
    white-space: normal !important;
    text-align: left !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.team-page-document { scroll-behavior: auto; }
  .team-page,
  .team-page *,
  .team-page *::before,
  .team-page *::after { transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}


.decrypt-zone {
  position: relative;
  margin-top: clamp(52px, 6.5vw, 92px);
}

.team-grid-wrap {
  position: relative;
}

.team-grid-wrap .team-grid {
  position: relative;
  z-index: 1;
  margin-top: 0;
}

.cipher-card {
  --mx: 50%;
  --my: 42%;
  position: relative;
  outline: none;
}

.cipher-card:focus-visible .portrait-wrap {
  outline: 2px solid var(--aqua-deep);
  outline-offset: 4px;
}

.cipher-card .portrait-wrap img {
  filter: none;
}

.cipher-card .socials {
  transition: opacity .28s ease, transform .28s ease;
}

.cipher-mask {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
  opacity: .16;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, .02), rgba(5, 5, 5, .14)),
    repeating-linear-gradient(90deg, rgba(8, 223, 200, .22) 0 1px, transparent 1px 18px),
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .10) 0 1px, transparent 1px 22px);
  -webkit-mask-image: radial-gradient(circle 112px at var(--mx) var(--my), transparent 0 60px, rgba(0,0,0,.2) 84px, #000 120px);
  mask-image: radial-gradient(circle 112px at var(--mx) var(--my), transparent 0 60px, rgba(0,0,0,.2) 84px, #000 120px);
  transition: opacity .32s ease;
}

.cipher-card:hover .cipher-mask,
.cipher-card.is-active .cipher-mask {
  opacity: .24;
}

.cipher-card.is-discovered .cipher-mask {
  opacity: .055;
}

.mind-signal {
  position: absolute;
  z-index: 4;
  left: 13px;
  bottom: 13px;
  max-width: calc(100% - 26px);
  padding: 6px 8px;
  border-radius: 6px;
  background: rgba(5, 5, 5, .78);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  line-height: 15px;
  letter-spacing: .055em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .28s ease, transform .28s ease;
  pointer-events: none;
}

.cipher-card.is-active .mind-signal,
.cipher-card.is-discovered:hover .mind-signal,
.cipher-card.is-discovered:focus-visible .mind-signal {
  opacity: 1;
  transform: translateY(0);
}

.cipher-card.is-discovered .portrait-wrap {
  border-color: rgba(0, 156, 136, .32);
}

.decrypt-complete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-height: 0;
  margin-top: 0;
  padding: 0 22px;
  overflow: hidden;
  opacity: 0;
  border-radius: 14px;
  background: #050505;
  color: #fff;
  transition: max-height .45s cubic-bezier(.2,.8,.2,1), margin-top .45s ease, padding .45s ease, opacity .3s ease;
}

.decrypt-complete.is-visible {
  max-height: 140px;
  margin-top: clamp(36px, 4.5vw, 58px);
  padding: 22px clamp(20px, 3vw, 34px);
  opacity: 1;
}

.decrypt-complete p,
.decrypt-complete h3 {
  margin: 0;
}

.decrypt-complete p {
  flex: 0 0 auto;
  color: var(--aqua);
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.decrypt-complete h3 {
  text-align: right;
  font-size: clamp(20px, 2.2vw, 30px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.decrypt-complete h3 span {
  color: var(--aqua);
  font: inherit;
}

@media (max-width: 740px) {
  .decrypt-zone { margin-top: 44px; }
  .cipher-mask {
    opacity: .10;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .cipher-card:active .cipher-mask { opacity: .02; }
  .decrypt-complete,
  .decrypt-complete.is-visible {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
  .decrypt-complete h3 { text-align: left; font-size: 21px; }
}

@media (hover: none), (pointer: coarse) {
  .cipher-card .cipher-mask { opacity: .08; }
  .cipher-card.is-discovered .cipher-mask { opacity: 0; }
}

@media (max-width: 767px) {
  html body.team-page-body .team-page .member-meta,
  html body.team-page-body .team-page .member-meta > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body.team-page-body .team-page .member-meta > p {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  html body.team-page-body .team-page .member-meta h3 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 56px) !important;
    overflow-wrap: anywhere;
  }

  html body.team-page-body .team-page .join-card > div {
    width: 100%;
  }

  html body.team-page-body .team-page .join-card .team-content-cta.dc-master-btn {
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: space-between !important;
    white-space: normal !important;
    text-align: left !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cipher-mask,
  .decrypt-complete { transition: none; }
}


/* Team hero secondary CTA — matches the Home "Work With Us / See Our Work" button. */
html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: fit-content !important;
  inline-size: fit-content !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  gap: 14px !important;
  padding: 0 8px 0 28px !important;
  border: 1px solid #26D06A !important;
  border-radius: 999px !important;
  background: #26D06A !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transform: none !important;
  transition: background-color .28s ease, color .28s ease, border-color .28s ease, transform .28s ease !important;
}

html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn > span {
  display: block !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  white-space: nowrap !important;
}

html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn > img.team-home-cta-arrow {
  display: block !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  transform-origin: center !important;
  transition: transform .34s cubic-bezier(.22,1,.36,1) !important;
}

html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn:hover,
html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn:focus-visible {
  background: #ffffff !important;
  color: #0D2D52 !important;
  border-color: #26D06A !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

@media (hover: hover) {
  html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn:hover > img.team-home-cta-arrow {
    transform: translateY(-3px) rotate(-45deg) !important;
  }
}

html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn:focus-visible > img.team-home-cta-arrow {
  transform: translateY(-3px) rotate(-45deg) !important;
  outline: none !important;
}

@media (max-width: 768px) {
  html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    gap: 10px !important;
    padding: 0 7px 0 20px !important;
    font-size: 16px !important;
    line-height: 20px !important;
  }
  html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn > img.team-home-cta-arrow {
    flex-basis: 32px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
  }
}

/* Team-page content CTAs use Home/About geometry while preserving each CTA's
   existing color theme. The top SVG hero CTA is intentionally excluded. */
html body.team-page-body .team-page .team-home-cta.dc-master-btn,
html body.team-page-body .team-page .team-content-cta.dc-master-btn {
  width: fit-content !important;
  inline-size: fit-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html body.team-page-body .team-page .join-card .team-content-cta.dc-master-btn > .join-arrow {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
}

html body.team-page-body .team-page .join-card .team-content-cta.dc-master-btn > .join-arrow > .arrow-icon {
  width: 18px !important;
  height: 18px !important;
}

@media (max-width: 767px) {
  html body.team-page-body .team-page .join-card .team-content-cta.dc-master-btn > .join-arrow {
    flex-basis: 32px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }

  html body.team-page-body .team-page .join-card .team-content-cta.dc-master-btn > .join-arrow > .arrow-icon {
    width: 17px !important;
    height: 17px !important;
  }
}

@media (max-width: 767px) {
  html body.team-page-body .team-page .member-meta,
  html body.team-page-body .team-page .member-meta > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body.team-page-body .team-page .member-meta > p {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  html body.team-page-body .team-page .member-meta h3 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 56px) !important;
    overflow-wrap: anywhere;
  }

  html body.team-page-body .team-page .join-card > div {
    width: 100%;
  }

  html body.team-page-body .team-page .join-card .team-content-cta.dc-master-btn {
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: space-between !important;
    white-space: normal !important;
    text-align: left !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn,
  html body.team-page-body .team-page .hero-intro > a.team-home-cta.dc-master-btn > img.team-home-cta-arrow {
    transition-duration: 0s !important;
  }
}
