/* Two real people; original-resolution portraits, native phone links. */
.team{padding:85px 0 0;overflow:clip;background:#dcded5}
.team>.section-meta,.team-heading{margin-left:var(--gutter);margin-right:var(--gutter)}
.team-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}
.team-heading h2{margin:0;font-size:clamp(48px,5.7vw,88px)}
.team-heading .serif{font-size:clamp(22px,2.5vw,36px);max-width:350px;margin-right:6vw}
.team-stage{position:relative;height:148svh;min-height:1100px;margin-top:30px}
.team-pin{position:sticky;top:0;height:100svh;min-height:650px;padding:28px var(--gutter) 26px;display:flex;flex-direction:column;gap:22px}
.team-deck{position:relative;height:calc(100% - 36px);perspective:1800px}
.team .person{position:absolute;top:0;left:0;width:calc((100% - 50px)/2);height:100%;max-width:none;background:#dcded5;will-change:transform;transform-origin:50% 78%;border-radius:9px;box-shadow:0 16px 45px #11211518;overflow:hidden}
.team .person-photo{width:100%;height:calc(100% - 95px);aspect-ratio:auto;border-radius:9px;overflow:hidden;background:#b8bfb1}
.team .person-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;background:#18221d;transition:transform 1s var(--motion-ease)}
.team .person:hover .person-photo img{transform:scale(1.02)}
.team .person-caption{height:95px;padding:18px 5px 12px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.team .person h3{font-size:25px;margin:0 0 8px;letter-spacing:-.035em}
.team .person p{font-size:10px}
.team .person-phone{display:flex;align-items:center;gap:20px;font-size:13px;margin:0;padding:13px 0;border:0;white-space:nowrap}
.team-roll-hint{font-size:11px;color:#667262;text-align:center;letter-spacing:.025em}
/* Hover / keyboard focus unfolds the matching portrait beside any phone number. */
.phone-peek{position:fixed;z-index:1200;width:220px;padding:7px;border:1px solid #ffffff55;border-radius:22px;background:#17201ef2;color:var(--paper);box-shadow:0 22px 60px #07120f55;pointer-events:none;opacity:0;clip-path:inset(0 0 100% 0 round 22px);transform:translateY(-12px) scale(.92);transform-origin:50% 0;transition:clip-path .55s var(--motion-ease),opacity .25s,transform .6s var(--motion-ease);backdrop-filter:blur(18px)}
.phone-peek.is-open{opacity:1;clip-path:inset(0 round 22px);transform:none}
.phone-peek-photo{height:260px;border-radius:16px;overflow:hidden;background:#324039}
.phone-peek-photo img{height:100%;width:100%;object-fit:contain;object-position:center;background:#17201e}
.phone-peek-caption{display:flex;align-items:center;justify-content:space-between;padding:13px 9px 10px;gap:10px}
.phone-peek-caption strong{font-weight:400;font-size:16px;letter-spacing:-.03em}
.phone-peek-caption small{display:block;font-size:10px;margin-top:5px;color:#bdc7bc}
.phone-peek-caption>span{font-size:25px}
a[data-agent-phone]{transition:color .25s}
a[data-agent-phone]:hover,a[data-agent-phone]:focus-visible{color:#a8bdb1}
/* Mobile portraits unfold separately; the number itself always remains a call link. */
.mobile-menu .mobile-menu-contact{display:block;margin:22px 0 0;padding-top:17px}
.mobile-menu-contact>span{display:block;margin:0 10px 12px}
.agent-contact-list{display:grid;gap:8px}
.agent-contact-row{border:1px solid #ffffff30;border-radius:18px;overflow:hidden;color:var(--paper);background:#ffffff05}
.agent-contact-head{display:flex;align-items:center;gap:12px;padding:10px 12px}
.agent-photo-toggle{position:relative;display:block;flex-shrink:0;width:48px;height:48px;padding:0;border-radius:50%;background:#d5dbd1;border:1px solid #ffffff88;cursor:pointer}
.agent-photo-toggle img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.agent-photo-toggle[data-person=julian] img{object-position:70% 20%;scale:1;object-fit:cover}
.agent-photo-toggle .photo-plus{position:absolute;right:-3px;bottom:-2px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:17px;line-height:1;border:1px solid #324037;transition:transform .4s}
.agent-contact-row.is-open .photo-plus{transform:rotate(45deg)}
.mobile-menu .agent-contact-head>a,.fixed-contact .agent-contact-head>a{display:block;flex:1;min-width:0;padding:8px 0;color:var(--paper);font-size:17px;letter-spacing:-.03em;line-height:1.2}
.agent-contact-head>a small{display:block;color:#aebbad;font-size:10px;letter-spacing:.025em;margin:0 0 6px}
.agent-contact-head .agent-call-arrow{font-size:22px;margin-left:auto}
.agent-contact-head>a:hover,.agent-contact-head>a:focus-visible{color:#c1d8c6}
.agent-contact-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .55s var(--motion-ease),opacity .4s}
.agent-contact-row.is-open .agent-contact-reveal{grid-template-rows:1fr;opacity:1}
.agent-contact-reveal>div{min-height:0;overflow:hidden}
.agent-contact-portrait{height:270px;margin:0 10px 10px;border-radius:12px;overflow:hidden;background:#1c2822}
.agent-contact-portrait img{width:100%;height:100%;object-fit:contain;object-position:center}
.agent-contact-tip{font-size:10px!important;line-height:1.4;padding:0 14px 13px!important;color:#afbaad}
.fixed-contact .contact-options{width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;padding:12px;border-radius:24px;overscroll-behavior:contain;transform-origin:calc(100% - 50px) 100%}
.fixed-contact .contact-options{scrollbar-width:thin;scrollbar-color:#a8b5a755 transparent}
.fixed-contact .contact-options a+a{border:0}
.fixed-contact>summary{position:relative;isolation:isolate;overflow:hidden;transition:color .3s,background .3s}
.fixed-contact>summary::before{content:'';position:absolute;z-index:-1;inset:-1px;background:var(--paper);transform:translateY(110%) scaleX(.8);border-radius:50%;transition:transform .5s var(--motion-ease),border-radius .5s}
.fixed-contact>summary:hover,.fixed-contact>summary:focus-visible,.fixed-contact[open]>summary{color:var(--ink)}
.fixed-contact>summary:hover::before,.fixed-contact>summary:focus-visible::before,.fixed-contact[open]>summary::before{transform:none;border-radius:0}
body.mobile-menu-open>.fixed-contact{opacity:0;pointer-events:none}
@media(max-width:1050px){.team .person-caption{align-items:flex-start;flex-direction:column;gap:0;padding-top:14px}.team .person h3{font-size:22px}.team .person-phone{padding:8px 0;font-size:12px}.team .person-photo{height:calc(100% - 125px)}.team .person-caption{height:125px}}
@media(max-width:700px){
 .team{padding:60px 0 0}
 .team>.section-meta{margin-bottom:33px}
 .team-heading{display:block}
 .team-heading h2{font-size:48px;margin-bottom:24px}
 .team-heading .serif{font-size:27px;margin:0}
 .team-stage{height:145svh;min-height:1050px;margin-top:24px}
 .team-pin{height:100svh;min-height:620px;padding-top:22px;padding-bottom:20px;gap:17px}
 .team-deck{height:calc(100% - 31px)}
 .team .person{width:100%;height:calc((100% - 18px)/2);border-radius:9px}
 .team .person-photo{height:calc(100% - 76px)}
 .team .person-photo img{object-fit:cover;object-position:50% 35%}
 .team .person[data-person=julian] .person-photo img{object-position:68% 24%}
 .team .person-caption{height:76px;flex-direction:row;align-items:center;padding:12px 4px;gap:8px}
 .team .person h3{font-size:20px;margin-bottom:6px}
 .team .person p{font-size:8px;letter-spacing:.07em}
 .team .person-phone{font-size:11px;gap:6px;padding:13px 0}
 .team-roll-hint{font-size:9px}
 .phone-peek{display:none}
 .agent-contact-portrait{height:245px}
}
@media(hover:none),(pointer:coarse){.phone-peek{display:none}}
@media(prefers-reduced-motion:reduce){
 .team-stage{height:auto;min-height:0;padding-bottom:45px}
 .team-pin{height:auto;min-height:0;position:relative;padding-top:25px}
 .team-deck{display:grid;grid-template-columns:1fr 1fr;gap:28px;height:auto}
 .team .person{position:relative;width:100%;height:auto;transform:none!important;will-change:auto}
 .team .person-photo{height:auto;aspect-ratio:4/5}
 .team .person-caption{height:125px}
 .phone-peek{display:none}
 .agent-contact-reveal,.agent-photo-toggle *,.fixed-contact>summary::before{transition:none!important}
}
body.overview .team-stage{height:auto;min-height:0;padding-bottom:45px}
body.overview .team-pin{position:relative;height:auto;min-height:0}
body.overview .team-deck{display:grid;grid-template-columns:1fr 1fr;gap:28px;height:auto}
body.overview .team .person{position:relative;width:100%;height:auto;transform:none!important}
body.overview .team .person-photo{height:auto;aspect-ratio:4/5}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.team-deck{grid-template-columns:1fr}.team .person-photo{aspect-ratio:1.2}.team .person-caption{height:76px}}
