/* /team — designed page. Layout and spacing only; body type comes from styles.css.
   The team photographs are cut-outs on pure black, so every band that carries them is #000 and the
   photos sit at the bottom of their box with black headroom above, faded in at the top edge. */
.dz-team { --edge: max(24px, calc((100vw - 1240px) / 2 + 24px)); --tint: #f5f4ef; --pitch: #000; }
.dz-team p { margin: 0 0 12px; }
.dz-team .tm-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.dz-team .tm-btns .btn { margin: 0; }

/* Hero: heading and lead on black, the two founders mirrored edge to edge beneath */
.dz-team .tm-hero { background: var(--pitch); color: var(--white); }
.dz-team .tm-head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 28px 72px; align-items: end; padding-top: 64px; padding-bottom: 48px; }
.dz-team .tm-head h1 { color: var(--white); margin: 0; font-size: clamp(2.8rem, 6.4vw, 5.6rem); }
.dz-team .tm-head .lead { color: #e6e5df; margin: 0; }
.dz-team .tm-hero .btn-outline { color: var(--white); }
.dz-team .tm-hero .btn-outline:hover { background: rgba(255,255,255,.1); }

.dz-team .tm-founders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #2a2a28; }
.dz-team .tm-founder { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: clamp(380px, 31vw, 450px); }
.dz-team .tm-right .tm-fphoto { order: 2; }
.dz-team .tm-right { border-left: 6px solid var(--lime); }
.dz-team .tm-fphoto { position: relative; margin: 0; background: var(--pitch); overflow: hidden; }
.dz-team .tm-fphoto img { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: contain; object-position: 50% 100%; display: block;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 9%), linear-gradient(90deg, transparent 3%, #000 18%, #000 80%, transparent 97%);
  -webkit-mask-composite: source-in; mask-image: linear-gradient(180deg, transparent 0, #000 9%), linear-gradient(90deg, transparent 3%, #000 18%, #000 80%, transparent 97%); mask-composite: intersect; }
.dz-team .tm-left .tm-fphoto img { -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 9%), linear-gradient(90deg, #000 0, #000 78%, transparent 97%);
  mask-image: linear-gradient(180deg, transparent 0, #000 9%), linear-gradient(90deg, #000 0, #000 78%, transparent 97%); }
.dz-team .tm-fcopy { padding: 48px 44px 44px; align-self: center; }
.dz-team .tm-fcopy h2 { color: var(--white); font-size: clamp(2rem, 3vw, 2.7rem); margin: 0 0 8px; }
.dz-team .tm-role { color: var(--lime); font-weight: 900; margin-bottom: 18px; }
.dz-team .tm-fcopy p:last-child { color: #e6e5df; margin: 0; }

/* The team: heading beside its lead, six portraits edge to edge, then what each person does */
.dz-team .tm-work { padding: 96px 0 88px; }
.dz-team .tm-work-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 20px 64px; align-items: end; margin-bottom: 48px; }
.dz-team .tm-work-head h2, .dz-team .tm-work-head .lead { margin: 0; }
.dz-team .tm-frieze { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); background: var(--pitch); }
.dz-team .tm-frieze li { margin: 0; padding: 0; min-width: 0; }
.dz-team .tm-frieze li + li { border-left: 1px solid #222; }
.dz-team .tm-frieze figure { position: relative; margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--pitch); }
.dz-team .tm-frieze img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: 50% 100%; display: block;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 16%); mask-image: linear-gradient(180deg, transparent 0, #000 16%); }
.dz-team .tm-frieze p { margin: 0; padding: 16px 18px 20px; border-top: 5px solid var(--lime); color: var(--white); }
.dz-team .tm-frieze b { display: block; font-weight: 900; font-size: 1.08rem; line-height: 1.25; }
.dz-team .tm-frieze span { display: block; color: #cfcec8; line-height: 1.35; margin-top: 4px; }
.dz-team .tm-bios { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 64px; margin-top: 56px; }
.dz-team .tm-bio { padding: 22px 0 18px; border-top: 2px solid var(--black); }
.dz-team .tm-bio h3 { margin: 0 0 8px; }
.dz-team .tm-bio p { margin: 0; }

/* Close: on lime, the invitation beside the four standards */
.dz-team .tm-close { background: var(--lime); padding: 88px 0; }
.dz-team .tm-close-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 40px 80px; align-items: center; }
.dz-team .tm-close-copy h2 { margin: 0 0 24px; }
.dz-team .tm-close-copy p { color: var(--black); }
.dz-team .tm-close .btn-outline { color: var(--black); }
.dz-team .tm-call { margin-top: 20px; }
.dz-team .tm-call a { font-weight: 900; color: var(--black); }
.dz-team .tm-standards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 4px solid var(--black); }
.dz-team .tm-standards div { padding: 26px 28px 26px 0; border-bottom: 1px solid rgba(14,14,14,.35); }
.dz-team .tm-standards div:nth-child(even) { padding: 26px 0 26px 28px; border-left: 1px solid rgba(14,14,14,.35); }
.dz-team .tm-standards h3 { margin: 0 0 8px; }
.dz-team .tm-standards p { margin: 0; color: var(--black); }

@media (max-width: 1100px) {
  .dz-team .tm-founders { grid-template-columns: 1fr; }
  .dz-team .tm-right { border-left: 0; border-top: 6px solid var(--lime); }
  .dz-team .tm-founder { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: 440px; }
  .dz-team .tm-right { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .dz-team .tm-fcopy { padding: 48px var(--edge) 44px 44px; align-self: center; }
  .dz-team .tm-right .tm-fcopy { padding: 48px 44px 44px var(--edge); }
  .dz-team .tm-frieze { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dz-team .tm-frieze li:nth-child(4) { border-left: 0; }
  .dz-team .tm-frieze li:nth-child(n+4) { border-top: 1px solid #222; }
}
@media (max-width: 820px) {
  .dz-team .tm-head, .dz-team .tm-work-head, .dz-team .tm-close-grid { grid-template-columns: 1fr; }
  .dz-team .tm-head { padding-top: 40px; padding-bottom: 36px; }
  .dz-team .tm-founder, .dz-team .tm-right { grid-template-columns: 1fr; min-height: 0; }
  .dz-team .tm-right .tm-fphoto { order: 0; }
  .dz-team .tm-fphoto { aspect-ratio: 20 / 21; }
  .dz-team .tm-fcopy, .dz-team .tm-right .tm-fcopy { padding: 28px 24px 44px; }
  .dz-team .tm-work { padding: 64px 0 56px; }
  .dz-team .tm-work-head { margin-bottom: 32px; }
  .dz-team .tm-frieze { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dz-team .tm-frieze li:nth-child(4) { border-left: 1px solid #222; }
  .dz-team .tm-frieze li:nth-child(odd) { border-left: 0; }
  .dz-team .tm-frieze li:nth-child(n+3) { border-top: 1px solid #222; }
  .dz-team .tm-frieze p { padding: 12px 14px 16px; }
  .dz-team .tm-bios { grid-template-columns: 1fr; margin-top: 40px; }
  .dz-team .tm-close { padding: 64px 0; }
  .dz-team .tm-standards div, .dz-team .tm-standards div:nth-child(even) { padding: 20px 14px 20px 0; }
  .dz-team .tm-standards div:nth-child(even) { padding-left: 14px; }
}
