.ds-team-single__hero {
  padding: 56px 60px;
  background: var(--ds-paper);
  position: relative;
  overflow: hidden;
}
/* Faint d-mark watermark on the right edge of the hero (light bg — no invert). */
.ds-team-single__hero-watermark {
  position: absolute;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
  width: 360px;
  height: 480px;
  background: url('../images/ico-delancey.svg') no-repeat center / contain;
  opacity: 0.06;
  pointer-events: none;
  z-index: 0;
}
.ds-team-single__hero-inner {
  max-width: var(--ds-page-max);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.ds-team-single__hero-grid {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: end;
}
.ds-team-single__portrait {
  position: relative;
  aspect-ratio: 4/5;
  background: linear-gradient(180deg, var(--ds-cyan) 0%, var(--ds-cyan-deep) 100%);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 28px 60px -20px rgba(0,184,240,.35), 0 12px 28px -10px rgba(11,19,32,.18);
}
.ds-team-single__portrait::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 38%;
  background: linear-gradient(180deg, transparent 0%, rgba(11,19,32,.45) 100%);
  pointer-events: none;
  z-index: 1;
}
.ds-team-single__portrait img {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 105%;
  width: auto;
  max-width: none;
}
.ds-team-single__portrait-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(15,26,45,0.92);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  z-index: 2;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 6px 18px -4px rgba(0,0,0,.3);
}
.ds-team-single__portrait-badge .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34,197,94,.6);
  animation: ds-team-pulse 1.8s ease-out infinite;
}
@keyframes ds-team-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(34,197,94,.6); }
  100% { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
}
@media (prefers-reduced-motion: reduce) {
  .ds-team-single__portrait-badge .dot { animation: none; }
}

.ds-team-single__role {
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.ds-team-single__name {
  font-size: clamp(48px, 6vw, 84px);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  color: var(--ds-ink);
  margin: 0;
}
.ds-team-single__credentials {
  font-size: 14px;
  font-weight: 700;
  color: var(--ds-ink-3);
  margin-top: 14px;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.ds-team-single__contacts {
  display: flex;
  gap: 24px;
  margin-top: 32px;
  flex-wrap: wrap;
  align-items: center;
}
.ds-team-single__contact-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ds-ink);
}
.ds-team-single__contact-link .icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--ds-line);
  display: grid;
  place-items: center;
}
.ds-team-single__contact-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--ds-line);
  display: grid;
  place-items: center;
  color: var(--ds-cyan-deep);
}

.ds-team-single__quote {
  padding: 72px 60px;
  background: #fff;
  text-align: center;
}
.ds-team-single__quote-inner {
  max-width: 1080px;
  margin: 0 auto;
}
.ds-team-single__quote-inner .mark {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 120px;
  font-weight: 900;
  color: var(--ds-cyan);
  line-height: 0.6;
  letter-spacing: -0.02em;
  height: 60px;
  overflow: hidden;
}
.ds-team-single__quote-inner p {
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--ds-ink);
  margin: 0 0 24px;
}
.ds-team-single__quote-inner .cite {
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-muted);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ds-team-single__video {
  padding: 72px 60px;
  background: #fff;
}
.ds-team-single__video-inner {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}
.ds-team-single__video-inner .ds-eyebrow { justify-content: center; margin-bottom: 24px; }
.ds-team-single__video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 24px;
  overflow: hidden;
  background: var(--ds-ink);
  box-shadow: var(--ds-shadow-card-pop);
}
.ds-team-single__video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.ds-team-single__bio {
  padding: 72px 60px;
  background: var(--ds-paper);
  position: relative;
  overflow: hidden;
}
/* Faint d-mark watermark on the right edge of the bio section. */
.ds-team-single__bio-watermark {
  position: absolute;
  right: -80px;
  top: 50%;
  transform: translateY(-50%);
  width: 320px;
  height: 420px;
  background: url('../images/ico-delancey.svg') no-repeat center / contain;
  opacity: 0.05;
  pointer-events: none;
  z-index: 0;
}
.ds-team-single__bio-grid {
  max-width: var(--ds-page-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 64px;
  align-items: start;
  position: relative;
  z-index: 1;
}
.ds-team-single__bio-body {
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.ds-team-single__bio-body p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--ds-ink-2);
  margin: 0;
  font-weight: 500;
}
/* Body lists rendered via the_content() inside team bio.
   Base resets ul/ol globally; restore visible markers. */
.ds-team-single__bio-body ul {
  list-style: none;
  padding-left: 22px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ds-team-single__bio-body ul li {
  position: relative;
  padding-left: 18px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--ds-ink-2);
  font-weight: 500;
}
.ds-team-single__bio-body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ds-cyan);
}
.ds-team-single__bio-body ol {
  list-style: decimal-leading-zero;
  padding-left: 36px;
  margin: 0;
}
.ds-team-single__bio-body ol li {
  font-size: 17px;
  line-height: 1.65;
  color: var(--ds-ink-2);
  font-weight: 500;
  padding-left: 6px;
  margin-bottom: 6px;
}
.ds-team-single__bio-body ol li::marker { color: var(--ds-cyan); font-weight: 800; }

.ds-team-single__expertise { position: sticky; top: 120px; }
.ds-team-single__expertise-card {
  padding: 28px 28px 24px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid var(--ds-line);
  position: relative;
  overflow: hidden;
}
.ds-team-single__expertise-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--ds-cyan) 0%, var(--ds-cyan-deep) 100%);
}
.ds-team-single__expertise-label {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.ds-team-single__expertise-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ds-team-single__expertise-card li {
  font-size: 15px;
  font-weight: 700;
  color: var(--ds-ink);
  display: flex;
  align-items: center;
  gap: 12px;
  line-height: 1.4;
}
.ds-team-single__expertise-check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ds-cyan);
  color: #fff;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.ds-blog-single__author-avatar,
.ds-team-single .avatar {
  border-radius: 50%;
}

.ds-team-single__hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 40px;
}
.ds-team-single__hero-stat {
  padding: 20px 22px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--ds-line);
  border-top: 3px solid var(--ds-cyan);
  transition: transform 200ms cubic-bezier(.2,.8,.2,1), box-shadow 200ms ease;
}
.ds-team-single__hero-stat:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -14px rgba(11,19,32,.18);
}
.ds-team-single__hero-stat .num {
  font-size: 32px;
  font-weight: 900;
  color: var(--ds-cyan);
  letter-spacing: -0.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.ds-team-single__hero-stat .lab {
  font-size: 11px;
  font-weight: 700;
  color: var(--ds-muted);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 8px;
}

.ds-team-single__cases {
  padding: 72px 60px;
  background: #fff;
  position: relative;
  overflow: hidden;
}
/* Faint d-mark watermark on the right edge of the cases section. */
.ds-team-single__cases-watermark {
  position: absolute;
  right: -80px;
  top: 50%;
  transform: translateY(-50%);
  width: 320px;
  height: 420px;
  background: url('../images/ico-delancey.svg') no-repeat center / contain;
  opacity: 0.05;
  pointer-events: none;
  z-index: 0;
}
.ds-team-single__cases-inner {
  max-width: var(--ds-page-max);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.ds-team-single__cases-head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
}
.ds-team-single__cases-head .ds-eyebrow { justify-content: center; }
/* Center the section-mark in the centered cases head. */
.ds-team-single__cases-mark { max-width: 820px; margin: 0 auto 24px; }
.ds-team-single__cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px;
}
.ds-team-single__case {
  padding: 28px 28px 24px;
  background: var(--ds-paper);
  border-radius: 18px;
  border: 1px solid var(--ds-line);
  border-top: 3px solid var(--ds-cyan);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ds-team-single__case .kicker {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-muted);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.ds-team-single__case .headline {
  font-size: 24px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.01em;
  line-height: 1.1;
}
.ds-team-single__case .detail {
  font-size: 14px;
  font-weight: 600;
  color: var(--ds-ink-3);
  line-height: 1.5;
}

.ds-team-single__nav {
  padding: 56px 60px;
  background: var(--ds-paper);
}
.ds-team-single__nav-inner {
  max-width: var(--ds-page-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.ds-team-single__nav-card {
  padding: 32px;
  background: #fff;
  border: 1px solid var(--ds-line);
  border-radius: 18px;
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
  color: inherit;
}
.ds-team-single__nav-card--right {
  justify-content: flex-end;
  text-align: right;
}
.ds-team-single__nav-card .kicker {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-muted);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.ds-team-single__nav-card .t {
  font-size: 18px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.005em;
  text-transform: uppercase;
  margin-top: 4px;
}

.ds-team-single__cta-band-sub {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 24px;
  opacity: 0.92;
}
.ds-team-single__cta-band-sub strong { font-weight: 800; color: var(--ds-cyan); }
.ds-team-single__cta-band-actions {
  display: inline-flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}
.ds-team-single__cta-band-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: var(--ds-fw-heavy);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 1100px) {
  .ds-team-single__hero-grid,
  .ds-team-single__bio-grid { grid-template-columns: 1fr; gap: 40px; }
  .ds-team-single__expertise { position: static; }
  .ds-team-single__cases-grid { grid-template-columns: 1fr; }
  .ds-team-single__nav-inner { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ds-team-single__hero-stats { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .ds-team-single__hero,
  .ds-team-single__quote,
  .ds-team-single__video,
  .ds-team-single__bio,
  .ds-team-single__cases,
  .ds-team-single__nav { padding-left: 20px; padding-right: 20px; }
  .ds-team-single__name { font-size: 44px; }
}

/* ===========================================================
   Final CTA band — used on /team/ + /team/<member>/ pages.
   Adds the consultation image + #delanceygotyou hashtag to
   the right of the existing copy (matching design snapshot).
   =========================================================== */
.ds-team-final-cta {
  text-align: left;
  position: relative;
  overflow: hidden;
}
/* Canonical d-pattern (CtaBand variant): right 45% strip.
   Slant baked into d-pattern.svg via SVG <pattern patternTransform="rotate(15)">. */
.ds-team-final-cta::before {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 45%;
  background: url('../images/d-pattern.svg') center / cover no-repeat;
  opacity: 0.18;
  pointer-events: none;
  z-index: 1;
}
.ds-team-final-cta .ds-team-final-cta__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) 360px;
  gap: 56px;
  align-items: center;
  max-width: var(--ds-page-max);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
/* Force white text for the dark-section CTA copy. */
.ds-team-final-cta .ds-team-final-cta__copy h2 { color: #fff; }
.ds-team-final-cta .ds-team-final-cta__sub { color: rgba(255, 255, 255, 0.92); }
.ds-team-final-cta .ds-team-final-cta__phone { color: #fff; border-color: rgba(255, 255, 255, 0.4); }
.ds-team-final-cta__copy h2 {
  margin-bottom: 18px;
}
.ds-team-final-cta__sub {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  margin-bottom: 24px;
  opacity: 0.92;
  max-width: 640px;
}
.ds-team-final-cta__sub strong { font-weight: 800; color: var(--ds-cyan); }
.ds-team-final-cta__actions {
  display: inline-flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.ds-team-final-cta__phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: var(--ds-fw-heavy);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: inherit;
  text-decoration: none;
  border: 1px solid currentColor;
  padding: 12px 18px;
  border-radius: 999px;
}
.ds-team-final-cta__phone:hover { opacity: 0.85; }
.ds-team-final-cta__pic {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--ds-cyan-deep, #003a4d);
}
.ds-team-final-cta__pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ds-team-final-cta__hashtag {
  position: absolute;
  left: 18px;
  bottom: 18px;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: #fff;
  text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}
.ds-team-final-cta__hashtag span {
  background: linear-gradient(90deg, var(--ds-cyan, #00b4d8), #fff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@media (max-width: 900px) {
  .ds-team-final-cta .ds-team-final-cta__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .ds-team-final-cta__pic { max-width: 480px; margin: 0 auto; }
}

/* AQC7 Fix 1: Team single name at very-narrow phones */
@media (max-width: 480px) {
  .ds-team-single__name { font-size: 30px; overflow-wrap: anywhere; word-break: break-word; text-wrap: wrap; hyphens: auto; }
}

/* CPT-RQC: Team single 480/375 polish */
@media (max-width: 480px) {
  .ds-team-single__hero { padding: 32px 16px; }
  .ds-team-single__quote,
  .ds-team-single__video,
  .ds-team-single__bio,
  .ds-team-single__cases,
  .ds-team-single__nav { padding-left: 16px; padding-right: 16px; }
  /* Hero portrait shouldn't be huge on phones */
  .ds-team-single__portrait { aspect-ratio: 4/5; max-width: 320px; margin: 0 auto; }
  /* Contact links stack on narrow */
  .ds-team-single__contacts { gap: 12px; flex-direction: column; align-items: flex-start; margin-top: 24px; }
  .ds-team-single__contact-link { font-size: 14px; }
  .ds-team-single__role { font-size: 12px; margin-bottom: 12px; }
  .ds-team-single__credentials { font-size: 13px; }
  /* Hero stats: stack to 1 col */
  .ds-team-single__hero-stats { grid-template-columns: 1fr; gap: 12px; margin-top: 28px; }
  .ds-team-single__hero-stat { padding: 16px 18px; }
  .ds-team-single__hero-stat .num { font-size: 24px; }
  /* Quote heading shrink */
  .ds-team-single__quote { padding-top: 48px; padding-bottom: 48px; }
  .ds-team-single__quote-inner p { font-size: 22px; overflow-wrap: anywhere; }
  .ds-team-single__quote-inner .mark { font-size: 80px; height: 40px; }
  /* Bio body text */
  .ds-team-single__bio-body p,
  .ds-team-single__bio-body ul li,
  .ds-team-single__bio-body ol li { font-size: 15.5px; }
  /* Cases card heading */
  .ds-team-single__case .headline { font-size: 19px; overflow-wrap: anywhere; }
  /* Nav cards tighter */
  .ds-team-single__nav { padding-top: 40px; padding-bottom: 40px; }
  .ds-team-single__nav-card { padding: 22px; gap: 14px; }
  .ds-team-single__nav-card .t { font-size: 15px; }
  /* Final CTA */
  .ds-team-final-cta__sub { font-size: 14.5px; }
  .ds-team-final-cta__actions { flex-direction: column; align-items: stretch; width: 100%; }
  .ds-team-final-cta__phone { justify-content: center; width: 100%; }
  .ds-team-final-cta__hashtag { font-size: 15px; left: 14px; bottom: 14px; }
}

/* AQC8 Fix: Invert d-mark icon on dark final-CTA so it's visible. */
.ds-team-final-cta .ds-section-mark__icon { filter: brightness(0) invert(1); }

/* AQC8 Fix: Style the back-arrow on the team-nav left card (PHP refs
   ds-team-single__nav-card-arrow / --left but no rules existed). */
.ds-team-single__nav-card-arrow {
  font-size: 22px;
  color: var(--ds-cyan);
  font-weight: 700;
  line-height: 1;
}
.ds-team-single__nav-card-arrow--left { margin-right: 4px; }
