/* Team directory: portrait-ready cards with deliberately identifiable placeholders. */
#about{padding:clamp(90px,10vw,150px) 0 110px;background:linear-gradient(180deg,#f6f2e9 0%,#f0eee5 65%,#e9ede7 100%);color:#25494a;overflow:hidden}
#about>.environment-field{color:#a18a61}
.team-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:clamp(24px,6vw,90px);margin-bottom:44px}
.team-heading :is(h2,h1.page-heading){font-family:Georgia,serif;font-size:clamp(2.75rem,5.3vw,5.5rem);font-weight:400;line-height:1.02;letter-spacing:-.045em;max-width:790px;margin:12px 0 0}
.team-heading p{max-width:460px;line-height:1.7;font-size:1.02rem;margin:0 0 7px;color:#42605d}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative;z-index:1}
.team-card{background:#fffaf2;border:1px solid rgba(66,82,70,.16);box-shadow:0 14px 44px rgba(28,62,59,.055);min-width:0;display:flex;flex-direction:column;transition:transform .45s ease,box-shadow .45s ease}
.team-card:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(28,62,59,.12)}
.team-portrait{position:relative;isolation:isolate;aspect-ratio:1/.96;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 57% 22%,#f6eddb 0%,#d9ded0 38%,#789492 100%)}
.team-card:nth-child(4n+2) .team-portrait{background:radial-gradient(ellipse at 30% 20%,#f1e4cf 0%,#c9d7cf 41%,#698480 100%)}
.team-card:nth-child(4n+3) .team-portrait{background:radial-gradient(ellipse at 70% 20%,#e7ddc8 0%,#b9cec6 39%,#627d7c 100%)}
.team-card:nth-child(4n+4) .team-portrait{background:radial-gradient(ellipse at 38% 23%,#f0e5d1 0%,#d6dfd2 37%,#73928d 100%)}
.team-portrait::before,.team-portrait::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.4);border-radius:50% 50% 45% 55%;width:83%;height:130%;top:12%;left:-28%;transform:rotate(-23deg);animation:portrait-drift 16s ease-in-out infinite alternate}
.team-portrait::after{left:auto;right:-34%;top:-42%;transform:rotate(33deg);animation-delay:-7s}
.team-monogram{position:relative;z-index:1;font-family:Georgia,serif;font-size:clamp(4.2rem,7vw,7rem);font-style:italic;letter-spacing:-.12em;color:#fffdf2;text-shadow:0 8px 35px rgba(25,62,60,.27);padding-right:.12em}
.portrait-status{position:absolute;z-index:2;bottom:14px;left:14px;padding:7px 9px;background:rgba(28,66,65,.76);color:#fffaf1;font-size:9px;letter-spacing:.15em;font-weight:700}
.team-card-body{padding:24px 23px 22px;display:flex;flex-direction:column;flex:1}
.team-index{font-size:10px;letter-spacing:.17em;color:#8c7953;font-weight:700}
.team-card :is(h3,h1.page-heading,h2.section-subheading){font-family:Georgia,serif;font-size:clamp(1.5rem,2vw,2rem);font-weight:400;line-height:1.1;margin:14px 0 8px;letter-spacing:-.025em}
.team-role{min-height:2.7em;color:#836d49;font-size:.73rem;line-height:1.35;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin:0 0 16px}
.team-bio{font-size:.91rem;line-height:1.6;color:#48615e;margin:0 0 24px}
.team-contact{margin-top:auto;align-self:flex-start;padding:9px 0;border:0;border-bottom:1px solid #8e9f91;background:transparent;color:#25494a;font:inherit;font-size:.8rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:color .2s,border-color .2s}
.team-contact span{margin-left:10px;font-size:1rem}
.team-contact:hover,.team-contact:focus-visible{color:#8b6e3b;border-color:#8b6e3b}
.team-note{position:relative;z-index:1;max-width:720px;margin:35px 0 0;color:#526b65;font-size:.85rem;line-height:1.65}
@keyframes portrait-drift{to{translate:6px -10px;rotate:4deg}}
@media(max-width:1150px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-portrait{aspect-ratio:1/ .7}.team-monogram{font-size:7rem}}
@media(max-width:700px){#about{padding:74px 0 78px}.team-heading{grid-template-columns:1fr;gap:16px;margin-bottom:30px}.team-grid{grid-template-columns:1fr;gap:13px}.team-card{display:grid;grid-template-columns:112px 1fr;min-height:181px}.team-portrait{aspect-ratio:auto;height:100%;min-height:181px}.team-monogram{font-size:3.3rem}.portrait-status{font-size:7px;left:8px;bottom:10px;padding:5px}.team-card-body{padding:18px 18px 15px}.team-card :is(h3,h1.page-heading,h2.section-subheading){font-size:1.45rem;margin:8px 0 5px}.team-role{min-height:0;margin-bottom:9px;font-size:.65rem}.team-bio{font-size:.81rem;margin-bottom:8px}.team-contact{font-size:.72rem;padding:5px 0}.team-index{font-size:8px}}
@media(max-width:390px){.team-card{grid-template-columns:94px 1fr}.team-card-body{padding:16px 13px 12px}.team-portrait{min-height:190px}.team-monogram{font-size:2.9rem}}
@media(prefers-reduced-motion:reduce){.team-portrait::before,.team-portrait::after{animation:none}.team-card{transition:none}}
