/* Team page */
.disc-list { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.people__grid { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 960px) { .people__grid { grid-template-columns: 7fr 4fr; gap: clamp(3rem, 6vw, 6rem); } }
.people__photo { width: min(100%, 26rem); justify-self: center; }
.disc { position: relative; isolation: isolate; overflow: hidden; display: grid; border-radius: calc(var(--radius) * 1.3); background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); color: var(--text); scroll-margin-top: calc(var(--header-h) + 1rem); }
.disc::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; transition: opacity .5s; background: radial-gradient(32rem circle at var(--mx, 50%) var(--my, 50%), rgba(184, 145, 63, .12), transparent 45%); }
.disc:hover::after { opacity: 1; }
@media (min-width: 860px) {
  .disc { grid-template-columns: 5fr 7fr; align-items: stretch; }
  .disc--flip .disc__art { order: 2; border-right: 0; border-left: 1px solid var(--line); }
}
.disc__art { position: relative; isolation: isolate; overflow: hidden; display: grid; place-items: end start; min-height: 14rem; padding: 1.25rem; color: var(--gold-2); border-bottom: 1px solid var(--line); background: var(--ivory-2); }
@media (min-width: 860px) { .disc__art { border-bottom: 0; border-right: 1px solid var(--line); min-height: 20rem; } }
.disc__art::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(rgba(15, 29, 54, .5), transparent 45%); }
.disc__img { position: absolute; inset: 0; z-index: -2; display: block; }
.disc__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease-expo); }
.disc:hover .disc__img img { transform: scale(1.04); }
.disc__art svg { width: 4.25rem; height: 4.25rem; padding: .7rem; border-radius: 50%; background: rgba(255, 255, 255, .92); box-shadow: var(--shadow-sm); }
.disc__num { position: absolute; top: 1.2rem; left: 1.5rem; font-family: var(--font-display); font-size: clamp(3rem, 6vw, 5rem); line-height: 1; color: #fff; text-shadow: 0 2px 18px rgba(15, 29, 54, .45); }
.disc__body { display: grid; gap: 1rem; align-content: center; justify-items: start; padding: clamp(1.75rem, 4vw, 3.5rem); }
.disc__body .eyebrow { color: var(--gold-2); }
.disc__title { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.9rem, 1.2rem + 2.4vw, 3.2rem); line-height: 1.06; letter-spacing: -.02em; }
.disc.card--ink { background: linear-gradient(160deg, var(--black-2), var(--black) 70%); border-color: rgba(200, 165, 91, .3); }
.disc__text { color: var(--muted); font-size: var(--fs-lead); max-width: 52ch; }

.together__grid { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 960px) { .together__grid { grid-template-columns: 7fr 5fr; gap: clamp(3rem, 6vw, 6rem); } }
.together .mf__text { max-width: 22ch; }
.together__art { position: relative; width: min(100%, 22rem); aspect-ratio: 1; justify-self: center; color: var(--gold-2); padding: 1.25rem; border-radius: 50%; background: rgba(20, 19, 16, .62); border: 1px solid rgba(200, 165, 91, .35); box-shadow: 0 18px 44px -24px rgba(0, 0, 0, .7); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.together__art svg { width: 100%; height: 100%; }
.together__t { position: absolute; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-2); }
.together__t--a { left: 50%; top: 22%; transform: translateX(-50%); }
.together__t--b { left: 17%; bottom: 25%; }
.together__t--c { right: 8%; bottom: 25%; }
@media (max-width: 400px) { .together__t { font-size: .66rem; letter-spacing: .08em; } }

/* Mobile: compact discipline cards (art becomes a short banner) and smaller people block */
@media (max-width: 699px) {
  .people__grid, .together__grid { gap: 1.75rem; }
  .people__photo { width: min(100%, 14rem); }
  .disc-list { gap: .75rem; }
  .disc__art { min-height: 7rem; padding: .8rem; }
  .disc__art svg { width: 3rem; height: 3rem; padding: .5rem; }
  .disc__num { top: .7rem; left: 1rem; font-size: 2.4rem; }
  .disc__body { gap: .6rem; padding: 1.1rem 1rem 1.25rem; }
  .disc__title { font-size: 1.5rem; }
  .disc__text { font-size: .9rem; }
  .together__art { width: min(100%, 15rem); }
}
