/* Shared profile gallery and team carousel, with native image links as fallback. */
.page-profile .profile-heading{padding-bottom:clamp(40px,5vw,72px);column-gap:clamp(32px,6vw,90px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);row-gap:26px;align-items:start}
.page-profile .profile-title,.page-profile .profile-summary{min-width:0}
.page-profile .profile-title h1{margin-bottom:0;font-size:clamp(48px,6vw,90px);overflow-wrap:anywhere}
.page-profile .profile-summary .page-lead{font-size:17px;line-height:1.95;color:var(--muted);margin-bottom:28px}
.profile-media{display:contents}
.profile-primary{grid-column:2;grid-row:1 / 4;min-width:0;align-self:stretch;position:relative}
.profile-primary::before{content:"";display:block;padding-top:125%;pointer-events:none}
.profile-secondary{grid-column:1;grid-row:3;min-width:0;max-width:100%;align-self:end;overflow:hidden}
.profile-stage{position:absolute;inset:0;background:#10120e;border:1px solid var(--line);overflow:hidden}
.profile-stage-link{display:block;width:100%;height:100%;position:relative}
.profile-stage img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.profile-zoom-hint{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:8px;padding:11px 14px;background:#151710dc;color:#f3eee5;font-size:10px;letter-spacing:.04em;border:1px solid #ffffff30;backdrop-filter:blur(8px)}
.profile-zoom-hint .icon{width:15px;height:15px}
.profile-photo-controls{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px;padding-block:0 14px;color:var(--muted);font-size:12px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.profile-photo-controls>span{min-width:0;text-align:center;flex:1}
.profile-photo-controls button,.related-controls button{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border:1px solid #62634f;color:var(--gold);background:transparent;cursor:pointer}
.profile-photo-controls button:disabled{opacity:.3;cursor:default}
.profile-photo-controls button:hover,.related-controls button:not(:disabled):hover{border-color:var(--gold);background:#d0b58210}
.profile-photo-controls .icon,.related-controls .icon{width:21px;height:21px}
.profile-thumbnail-viewport{min-width:0;max-width:100%;overflow:hidden}
.profile-thumbnails{--profile-thumb-gap:12px;display:flex;min-width:0;width:100%;gap:var(--profile-thumb-gap);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0;scroll-padding-inline:0}
.profile-thumbnails::-webkit-scrollbar{display:none}
.profile-thumbnails a{display:block;min-width:0;flex:0 0 calc((100% - (var(--profile-thumb-count,3) - 1)*var(--profile-thumb-gap))/var(--profile-thumb-count,3));aspect-ratio:4/5;max-height:210px;scroll-snap-align:start;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.profile-thumbnails a[aria-current="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.profile-thumbnails a:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.profile-thumbnails img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;transition:filter .2s}
.profile-thumbnails a:hover img{filter:brightness(1.12)}
.profile-media :is(a,button):focus-visible,.related-team :is(a,button,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.profile-photo-controls button:focus-visible,.profile-thumbnails a:focus-visible{outline-offset:-4px}
.profile-hotel{display:flex;align-items:flex-start;gap:13px;border-left:2px solid var(--gold);padding:18px 22px;margin:0 0 28px;background:#d0b5820a;font-size:14px;line-height:1.6;color:var(--ink)}
.profile-hotel .icon{flex:0 0 20px;margin-top:2px;color:var(--gold)}
.profile-hotel strong{display:block;margin-top:5px;color:var(--gold);font-size:21px;font-weight:500}
.profile-title .profile-hotel{margin:24px 0 0}
.person-card-body .person-hotel{font-size:10px;line-height:1.6;letter-spacing:.015em;color:var(--gold);margin:12px 0 4px}
.person-hotel strong{display:block;font-size:11px;font-weight:500}
.person-link .icon{width:18px;height:18px;flex-shrink:0}
.page-profile .public-content > .profile-links{padding-block:40px 48px;gap:24px 38px;border-bottom:1px solid var(--line);min-height:138px}
.profile-links .button{min-height:52px}
.public-content > .related-team{padding:clamp(60px,7vw,105px) var(--gutter) 0;max-width:1600px;margin-inline:auto}
.related-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:36px}
.related-heading h2{max-width:18ch;font-size:clamp(38px,4.6vw,68px);line-height:1.08;margin:14px 0 0;text-wrap:balance}
.related-heading .eyebrow{margin:0;color:var(--gold);font-size:11px;letter-spacing:.12em}
.related-controls{display:flex;gap:10px;flex-shrink:0}
.related-controls button:disabled{opacity:.3;cursor:default}
.related-team-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#6d674b transparent;padding-bottom:22px;overscroll-behavior-x:contain}
.related-team-rail .person-card{scroll-snap-align:start;min-width:0;display:flex;flex-direction:column}
.related-team-rail .person-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1;padding:20px 0 16px;min-height:140px}
.public-content .related-team-rail .person-card h3{font-size:clamp(26px,2.3vw,34px);max-width:100%;line-height:1.12;margin:0 0 10px}
.related-team-rail .person-link{margin-top:auto;padding-top:12px;min-height:42px}
.related-team-rail .person-photo img{aspect-ratio:3/4}
.page-contact .page-heading{align-items:center}
.page-contact .page-heading .heading-photo{height:auto;max-height:700px;aspect-ratio:4/5}
.page-contact .page-heading .heading-photo img{height:100%;object-position:center 25%}
.contact-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px 28px;margin-top:30px}
.contact-heading-actions .button{gap:12px;min-height:52px}
.contact-heading-email{display:inline-block;margin-top:24px;font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.no-js .profile-photo-controls,.no-js .related-controls{display:none}
.no-js .profile-thumbnails{scrollbar-width:thin;scrollbar-color:#6d674b transparent}
.no-js .profile-thumbnails::-webkit-scrollbar{display:block;height:5px}
@media(min-width:561px){.people-grid .person-card{display:flex;flex-direction:column}.people-grid .person-card-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;flex:1}.people-grid .person-link{margin-top:auto;padding-top:12px}.people-grid .person-card h3{max-width:100%}}
@media(min-width:851px) and (max-width:1100px){.related-team-rail{grid-auto-columns:calc((100% - 48px)/3)}}
@media(max-width:850px){.page-profile .profile-heading{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;row-gap:28px}.profile-primary{grid-column:1;grid-row:2;width:100%;max-width:600px;justify-self:center}.profile-secondary{grid-column:1;grid-row:4;width:100%;max-width:600px;justify-self:center}.page-profile .profile-summary{grid-row:3}.page-profile .profile-title h1{font-size:clamp(48px,10vw,70px)}.page-profile .profile-summary .page-lead{font-size:16px;line-height:1.9;margin-bottom:24px}.related-team-rail{grid-auto-columns:calc((100% - 24px)/2)}.profile-summary{margin-top:0}.page-profile .public-content > .profile-links{padding-block:32px 40px;min-height:auto}}
@media(max-width:560px){.profile-thumbnails{--profile-thumb-gap:10px}.profile-zoom-hint{right:10px;bottom:10px;font-size:9px;padding:9px 10px}.profile-photo-controls{padding-block:0 12px}.profile-photo-controls button{width:44px;height:44px;flex-basis:44px}.page-profile .profile-heading{gap:30px;padding-bottom:36px}.profile-hotel{font-size:13px;padding:16px 18px;margin-bottom:23px}.related-heading{align-items:flex-start;flex-direction:column;gap:23px;margin-bottom:28px}.related-heading h2{font-size:39px;max-width:15ch}.related-controls{align-self:flex-end}.related-team-rail{grid-auto-columns:100%;gap:18px}.public-content .related-team-rail .person-card h3{font-size:33px!important}.related-team-rail .person-card-body{min-height:123px}.related-team-rail .person-photo img{aspect-ratio:4/5}.person-card-body:has(.person-hotel){display:block}.contact-portrait img{max-height:none}.contact-portrait figcaption{padding:30px 20px 17px}}
@media(prefers-reduced-motion:reduce){.profile-thumbnails img{transition:none}}
