/* Team page: built on the area2 system (white ↔ green sections, reveal, parallax) */
.tm-hero { position: relative; display: grid; gap: 22px; min-height: min(72vh, 680px); align-content: center; }
.tm-h1 { max-width: 12ch; }
.tm-marks { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; align-items: center; gap: .2em; font: 400 clamp(90px, 15vw, 240px)/1 var(--fm-serif); letter-spacing: -.04em; color: var(--acc); opacity: .16; pointer-events: none; }
.tm-marks i { font-style: normal; font-size: .4em; animation: tmSpin 9s linear infinite; }
@keyframes tmSpin { to { transform: rotate(360deg); } }
.tm-text { display: grid; gap: 18px; max-width: 62ch; }
.tm-text p { margin: 0; font: 400 clamp(17px, 1.4vw, 21px)/1.6 var(--fm-sans); }
.tm-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 36px); }
.tm-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); background: var(--card); border-radius: 6px; overflow: hidden; transition: transform .45s var(--fm-ease), background-color .9s var(--fm-ease); }
.tm-card:hover { transform: translateY(-4px); }
.tm-photo { position: relative; margin: 0; min-height: 340px; background: var(--panel); display: grid; place-items: center; overflow: hidden; transition: background-color .9s var(--fm-ease); }
.tm-ini { font: 400 clamp(64px, 7vw, 110px)/1 var(--fm-serif); letter-spacing: -.03em; color: var(--acc); }
.tm-photo figcaption { position: absolute; left: 14px; bottom: 12px; font: 500 10px var(--fm-sans); letter-spacing: .16em; text-transform: uppercase; }
.tm-body { padding: clamp(22px, 2.4vw, 36px); display: grid; gap: 12px; align-content: start; }
.tm-body h3 { margin: 0; font: 400 clamp(28px, 2.6vw, 40px)/1 var(--fm-serif); letter-spacing: -.02em; }
.tm-role { margin: 0; font: 500 11px/1.5 var(--fm-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--acc); }
.tm-exp { margin: 6px 0 10px; padding: 0; list-style: none; display: grid; gap: 8px; font: 400 15px/1.45 var(--fm-sans); }
.tm-exp li { padding-left: 18px; position: relative; }
.tm-exp li::before { content: "//"; position: absolute; left: 0; color: var(--acc); font-size: 11px; top: .2em; }
.tm-li { margin-top: auto; }
.tm-off { opacity: .55; cursor: default; } .tm-off:hover { transform: none; box-shadow: none; }
.tm-off .tbd { background: none; color: inherit; padding: 0; }
.tm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 36px); margin-top: clamp(24px, 3vw, 44px); }
.tm-slot { display: grid; gap: 10px; align-content: start; padding: clamp(22px, 2.4vw, 36px); border: 1px dashed var(--line); border-radius: 6px; text-decoration: none; color: inherit; min-height: 220px; transition: border-color .3s, transform .45s var(--fm-ease); }
.tm-slot:hover { border-color: var(--acc); transform: translateY(-4px); }
.tm-slot h3 { margin: 0; font: 400 32px/1 var(--fm-serif); }
.tm-slot p { margin: 0; font: 400 15px/1.45 var(--fm-sans); }
.tm-slot b { margin-top: auto; font: 500 11px var(--fm-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--acc); }
.tm-slot b i { font-style: normal; display: inline-block; transition: transform .3s; } .tm-slot:hover b i { transform: translateX(4px); }
.a2-top > span:empty { display: block; }
@media (max-width: 1100px) { .tm-cards { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
  .tm-hero { min-height: 0; padding-top: 20px; }
  .tm-marks { position: static; transform: none; font-size: 84px; margin-top: 6px; }
  .tm-card { grid-template-columns: minmax(0, 1fr); }
  .tm-photo { min-height: 260px; }
  .tm-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .tm-marks i { animation: none; } }
.tm-ini { transition: transform .8s var(--fm-ease); }
.tm-card:hover .tm-ini { transform: scale(1.08) rotate(-3deg); }

/* Hero photo, in the background on the right */
.tm-hero > :not(.tm-shot) { position: relative; z-index: 1; }
.tm-shot { position: absolute; z-index: 0; right: 0; top: 50%; width: min(38vw, 520px); aspect-ratio: 4 / 5; margin: 0; transform: translateY(-50%); overflow: hidden; border-radius: 6px; box-shadow: 0 30px 60px -30px rgba(0, 40, 40, .45); animation: tmIn 1.4s var(--fm-ease) both .2s; }
.tm-shot img { width: 100%; height: calc(100% + 80px); margin-top: -40px; object-fit: cover; display: block; animation: tmZoom 2.4s var(--fm-ease) both; }
@keyframes tmIn { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes tmZoom { from { transform: scale(1.15); } to { transform: none; } }
@media (max-width: 1100px) { .tm-shot { width: 34vw; } }
@media (max-width: 760px) { .tm-shot { position: relative; top: auto; transform: none; width: 100%; margin-top: 8px; } }
@media (prefers-reduced-motion: reduce) { .tm-shot, .tm-shot img { animation: none; } }

/* Three founders: one row of vertical cards on wide screens */
@media (min-width: 1101px) {
  .tm-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tm-card { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
  .tm-photo { min-height: 300px; }
}
