.sandbox-preview{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px clamp(22px,4vw,70px);background:#e6eee7;border-bottom:1px solid #c4d5c7;color:#20362d;font-size:.76rem}
.sandbox-preview p{margin:0;line-height:1.4}.sandbox-preview strong{display:inline-flex;align-items:center;gap:8px;letter-spacing:.1em;font-size:.66rem;margin-right:12px}.sandbox-preview strong:before{content:"";width:7px;height:7px;background:#16845b;border-radius:50%;box-shadow:0 0 0 4px #16845b15}.sandbox-preview a{flex-shrink:0;font-weight:800;text-underline-offset:3px}
.team-portraits{align-items:start}.team-profile{min-width:0;background:#f1f5ef;border:1px solid #d7e1d8;border-radius:16px;overflow:hidden;box-shadow:0 5px 0 #d2ded3,0 14px 26px #20362d0e}.team-profile .team-portrait{border-radius:0}.team-profile .team-profile-copy{padding:24px}.team-profile h3{font-size:1.7rem;margin:0 0 9px}.team-profile-role{font-size:.68rem;letter-spacing:.1em;font-weight:800;text-transform:uppercase;color:#16845b;margin-bottom:13px;line-height:1.6}.team-profile-copy>p:not(.team-profile-role){font-size:.92rem;color:#526258;margin-bottom:0}.team-profile details{margin-top:18px;border-top:1px solid #d1ddd2;padding-top:16px;font-size:.86rem;color:#526258;line-height:1.6}.team-profile summary{font-weight:800;color:#20362d;cursor:pointer}.team-profile details p{margin:15px 0 0}.team-profile details[open] summary{color:#16845b}
.team-portraits{align-items:stretch}.team-profile .team-portrait{aspect-ratio:4/5;background:#fff}.team-profile .team-portrait img{object-fit:contain;object-position:center;transform:none}.team-profile .team-portrait:after{display:none}.team-profile .team-profile-copy{border-top:1px solid #d7e1d8}.team-profile .team-profile-copy h3{margin-bottom:0}.team-profile .team-profile-copy>p:not(.team-profile-role){margin-top:13px}.person-photo>img[src*="team-alessandro"]{object-fit:contain;object-position:center;background:white}.team-profile .team-profile-role{font-size:.67rem}
@media(min-width:541px) and (max-width:950px){.team-portraits{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
.team-profile summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d1ddd2;border-radius:8px;background:linear-gradient(145deg,#fff,#f0f4ed);box-shadow:0 4px 0 #cbd9cd,0 9px 18px #20362d12;transition:transform .2s,box-shadow .2s}.team-profile summary::-webkit-details-marker{display:none}.team-profile summary:after{content:"+";font-size:1.2rem}.team-profile summary:hover{transform:translateY(-2px);box-shadow:0 6px 0 #cbd9cd,0 12px 20px #20362d19}.team-profile summary:focus-visible{outline:3px solid #16845b;outline-offset:6px}.team-profile details[open] summary:after{content:"−"}@media(prefers-reduced-motion:reduce){.team-profile summary{transition:none}}
@media(max-width:620px){.sandbox-preview{font-size:.68rem;padding:9px 18px;gap:12px}.sandbox-preview strong{display:block;margin:0 0 3px;font-size:.61rem}.team-profile .team-profile-copy{padding:22px}.team-profile .team-portrait{max-height:none}}

/* Compact portraits keep the people visible without dominating the section. */
.request-portrait{width:112px;height:140px;object-fit:contain;border-radius:10px;background:white;margin-bottom:24px}
.team-portraits{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1180px;margin-inline:auto}
.team-profile{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;padding:22px;align-content:start}
.team-profile .team-portrait{width:112px;height:140px;border-radius:10px;max-height:none}
.team-profile .team-profile-copy{padding:0;border-top:0}
.team-profile .team-profile-copy h3{font-size:1.4rem}
.team-profile-role{margin-bottom:8px}
.team-profile .team-profile-copy>p:not(.team-profile-role){margin-top:10px}
.person-section{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:48px;padding:64px clamp(22px,6vw,110px)}
.person-photo{width:180px;min-height:0;max-height:none;background:transparent}
.person-photo>img[src*="team-alessandro"]{width:180px;height:225px;border-radius:12px}
.person-copy{padding:0}
@media(max-width:900px){.team-portraits{grid-template-columns:1fr}.person-section{grid-template-columns:144px minmax(0,1fr);gap:32px}.person-photo{width:144px}.person-photo>img[src*="team-alessandro"]{width:144px;height:180px}}
@media(max-width:620px){.team-profile{grid-template-columns:80px minmax(0,1fr);gap:16px;padding:18px}.team-profile .team-portrait{width:80px;height:100px;border-radius:8px}.team-profile .team-profile-copy{padding:0}.team-profile .team-profile-copy h3{font-size:1.25rem}.team-profile .team-profile-role{font-size:.58rem;letter-spacing:.07em}.team-profile .team-profile-copy>p:not(.team-profile-role){font-size:.85rem;line-height:1.6}.team-profile summary{font-size:.76rem;padding:10px;gap:8px}.person-section{display:block;padding:48px 22px}.person-photo{width:112px;margin-bottom:25px}.person-photo>img[src*="team-alessandro"]{width:112px;height:140px}}
