/* Portraits in the team directory. Each card has one accessible profile action. */
.main-content .team-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(285px,100%),1fr));gap:18px}
.main-content .team-person-card{display:block;position:relative;min-width:0;aspect-ratio:4/5;padding:0;overflow:hidden;border:1px solid #3b3b3b;border-radius:16px;background:#292929;box-shadow:0 12px 28px #0004;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.main-content .team-person-card:hover{transform:translateY(-3px);border-color:#d9bd45;box-shadow:0 18px 34px #0007}
.main-content .team-person-card:has(.team-card-open:focus-visible){outline:3px solid #ffd21a;outline-offset:3px}
.team-card-open{display:block;position:relative;width:100%;height:100%;min-height:300px;padding:0;border:0;background:#292929;color:#fff;text-align:left;cursor:pointer;overflow:hidden}
.team-card-open:focus-visible{outline:0!important;box-shadow:none!important}
.team-card-open .team-card-avatar{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;max-width:none;border:0;border-radius:0;background:radial-gradient(circle at 50% 34%,#484848,#242424 75%);color:#f7df82;font:800 clamp(50px,7vw,84px)/1 Montserrat,Arial,sans-serif}
.team-card-open .team-card-avatar img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.team-card-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#06060600 30%,#0909095e 57%,#090909e8 86%,#090909f5 100%);pointer-events:none}
.team-card-programs{position:absolute;top:13px;left:13px;z-index:3;display:flex;align-items:center;gap:6px;pointer-events:none}
.team-card-programs:empty{display:none}
.team-card-programs img{display:block;width:48px;height:48px;object-fit:contain;padding:4px;border:1px solid #d8d5ce;border-radius:8px;background:#f7f6f5;box-shadow:0 2px 8px #0008}
.team-card-info{position:absolute;inset:auto 0 0;z-index:3;display:grid;gap:5px;width:100%;padding:44px 19px 20px;color:#fff;pointer-events:none}
.team-card-role{color:#ffe17a;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.team-card-info strong{display:block;max-width:100%;overflow:hidden;color:#fff!important;font:800 clamp(15px,1.55vw,20px)/1.2 Montserrat,Arial,sans-serif;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px 6px #0008}
.team-card-info small{color:#e9e7e2!important;font-size:11px;line-height:1.45;text-shadow:0 1px 4px #000b}
@media(max-width:600px){.main-content .team-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.main-content .team-person-card{aspect-ratio:3/4}.team-card-open{min-height:220px}.team-card-info{padding:35px 12px 13px}.team-card-info strong{font-size:15px}.team-card-info small{font-size:10px}}
@media(max-width:360px){.main-content .team-card-grid{grid-template-columns:1fr}.main-content .team-person-card{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.main-content .team-person-card,.team-card-open .team-card-avatar img{transition:none}.main-content .team-person-card:hover{transform:none}}

/* The opened profile keeps the same portrait language and gives details room. */
.profile-dialog{width:min(1060px,calc(100vw - 24px))}
.profile-dialog .person-profile{display:grid;gap:22px}
.profile-dialog .person-profile-intro{display:grid;grid-template-columns:minmax(250px,42%) minmax(0,1fr);align-items:stretch;gap:0;margin:0;min-height:320px;overflow:hidden;border:1px solid #3f3f3f;border-radius:16px;background:#242424}
.profile-dialog .person-profile-intro .photo-preview{width:100%;height:100%;min-height:320px;border:0;border-radius:0;background:#242424;color:#ffe180;font:800 clamp(52px,7vw,88px)/1 Montserrat,Arial,sans-serif}
.profile-dialog .person-profile-intro .photo-preview img{object-fit:cover;mask-image:linear-gradient(90deg,#000 0%,#000 48%,#000d 62%,#0007 79%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 48%,#000d 62%,#0007 79%,transparent 100%)}
.profile-dialog .person-profile-identity{display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0;padding:30px clamp(24px,4vw,48px);background:linear-gradient(100deg,#242424,#272727 100%)}
.profile-dialog .person-profile-identity h3{margin:0;color:#fff;font-size:clamp(25px,2.7vw,34px);line-height:1.14;overflow-wrap:anywhere}
.profile-dialog .person-profile-identity .eyebrow{margin:0;color:#f3cf58}
.profile-dialog .person-profile-identity .detail-copy{margin:0;color:#e0ddd7}
.profile-dialog .person-profile-identity .area-chips{margin-top:6px}
.profile-dialog .profile-section,.profile-dialog [data-person-seasons]:not(:empty),.profile-dialog .profile-responsibilities{margin:0;padding:20px;border:1px solid #393939;border-radius:12px;background:#232323}
.profile-dialog .pdi-detail{display:grid;gap:20px;min-width:0}
.profile-dialog .pdi-detail>.notice,.profile-dialog .pdi-detail>.inline-fields,.profile-dialog .pdi-detail>.profile-section{margin:0}
.profile-dialog .pdi-detail>.inline-fields:empty{display:none}
.profile-dialog .pdi-detail>.profile-section{padding:22px}
.profile-dialog .pdi-detail>.profile-section>h3,.profile-dialog .pdi-detail>.profile-section>.checklist-heading{margin:0 0 16px}
.profile-dialog .pdi-detail .profile-review{padding:18px 0}
.profile-dialog .pdi-detail .profile-review:last-child{border-bottom:0;padding-bottom:0}
.profile-dialog .pdi-detail .profile-specialty-chips{gap:8px;margin:14px 0}
.profile-dialog .pdi-detail .checklist-heading{gap:12px;flex-wrap:wrap}
.profile-dialog .pdi-detail .empty-inline{margin:0;padding:12px 0 4px}
@media(max-width:600px){.profile-dialog .pdi-reserved-profile{padding:16px}.profile-dialog .pdi-detail{gap:16px}.profile-dialog .pdi-detail>.profile-section{padding:16px}}
.profile-dialog .dialog-foot [data-profile-actions],.profile-dialog .dialog-foot [data-profile-actions] .inline-fields{display:contents}
.profile-dialog .dialog-foot .button{white-space:nowrap}
.profile-dialog [data-person-seasons]:not(:empty){padding:18px!important;border-color:#57545a!important;background:linear-gradient(150deg,#272727,#232323 65%)!important}
.profile-dialog [data-person-seasons] .panel-head{min-height:0;margin:0 0 13px;padding:0;border:0;background:transparent}
.profile-dialog [data-person-seasons] .panel-head h3{margin:0;font-size:17px;line-height:1.2}
.profile-dialog .profile-metrics{margin:0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.profile-dialog .profile-metrics>div{background:#272727}
.profile-dialog .profile-specialties .checklist-heading{gap:14px}
@media(max-width:700px){.profile-dialog .person-profile-intro{grid-template-columns:1fr}.profile-dialog .person-profile-intro .photo-preview{height:320px;min-height:320px}.profile-dialog .person-profile-intro .photo-preview img{mask-image:linear-gradient(180deg,#000 0%,#000 52%,#000a 75%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,#000a 75%,transparent 100%)}.profile-dialog .person-profile-identity{padding:24px}.profile-dialog .person-profile-identity h3{font-size:27px}}

/* Full-viewport sign-in with a persistent illuminated point wordmark. */
.access-outer{display:block;min-height:100svh;padding:0;background:#101010}
.access-page{display:flex;flex-direction:column;width:100%;min-height:100svh;border-radius:0;box-shadow:none;overflow:hidden;background:#101010}
.access-page .access-top{flex:0 0 auto;padding:20px clamp(24px,4vw,68px)}
.access-page .access-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,44%);flex:1;min-height:0}
.access-page .access-story{position:relative;display:flex;flex-direction:column;justify-content:center;gap:25px;min-height:0;padding:clamp(40px,7vw,104px);overflow:hidden;background-color:#171717;background-image:radial-gradient(circle at 58% 43%,#272727 0,#191919 39%,#141414 75%),linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:auto,32px 32px,32px 32px}
.access-page .access-story::before{display:none}
.access-page .access-story::after{content:"";position:absolute;inset:auto auto 19% 8%;width:min(45vw,520px);height:min(45vw,520px);border:1px solid #ffd21a24;border-radius:50%;transform:rotate(-18deg);pointer-events:none}
.access-page .access-season,.access-page .access-hero{z-index:1;position:relative}
.access-page .access-hero{margin:0;animation:none}
.access-page .login-particles-running .access-hero{opacity:0}
.access-page .login-particles-complete .access-hero{animation:access-identity .55s ease-out both}
.login-particle-canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;pointer-events:none}
.access-page .access-hero h1{font-size:clamp(48px,6vw,92px);line-height:1.02;letter-spacing:-.055em}
.access-page .access-form-area{display:flex;flex-direction:column;justify-content:center;min-height:0;padding:clamp(32px,5vw,80px);background:#1e1e1e}
.access-page .access-bottom.login-brand-footer{flex:0 0 auto;padding:14px clamp(24px,4vw,68px);border-top:1px solid #2e2e2e;background:#101010}
@keyframes access-identity{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.access-page .access-main{grid-template-columns:1fr}.access-page .access-story{min-height:270px;padding:35px clamp(24px,5vw,48px)}.access-page .access-hero h1{font-size:clamp(38px,7vw,60px)}.access-page .access-form-area{padding:38px clamp(24px,5vw,48px)}.access-page .access-story::after{display:none}}
@media(max-width:600px){.access-page .access-top{padding:16px 20px}.access-page .access-story{min-height:205px;padding:24px 22px;gap:10px}.access-page .access-hero h1{font-size:34px}.access-page .access-form-area{padding:28px 22px}.access-page .access-bottom.login-brand-footer{padding:11px 16px}}
@media(prefers-reduced-motion:reduce){.access-page .access-hero,.access-page .login-particles-complete .access-hero{animation:none;opacity:1}}
.access-page .login-particles-wordmark .access-hero{animation:none;opacity:0}

/* The portrait is the profile heading; keep the dialog title for assistive technology. */
.profile-dialog .dialog-head{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);border:0!important}
.profile-dialog .profile-close{order:100;flex:0 0 38px;width:38px;height:38px;border:0;background:transparent;color:#d4d1c9}
.profile-dialog .profile-close:hover{background:#ffffff0d;color:#fff}
@media(max-width:600px){
  .dialog.profile-dialog[open]{display:block;overflow-y:auto}
  .dialog.profile-dialog[open]>form{display:block;max-height:none;overflow:visible}
  .dialog.profile-dialog[open] .dialog-body{overflow:visible}
  .dialog.profile-dialog[open] .dialog-foot{position:static;flex-shrink:0;padding-bottom:18px}
  .profile-dialog .profile-close{position:fixed;right:18px;top:18px;z-index:20;background:#242424;border:1px solid #515151;box-shadow:0 2px 8px #0005}
}
.life-wheel-tooltip{overflow-wrap:anywhere}

/* Small responsibility portraits should fill their circles like the profile photos.
   Season-default marks keep their intentional contain fit. */
.workspace .responsible-links.responsible-avatars{gap:6px}
.responsible-person-link .responsible-avatar:not([data-avatar-fit="contain"]){overflow:hidden;border-radius:50%}
.responsible-person-link .responsible-avatar:not([data-avatar-fit="contain"])>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--avatar-x,50%) var(--avatar-y,50%)}

/* Center names over their own avatar in both activity rows and dialogs. */
.dialog .responsible-person-tooltip{left:50%;transform:translate(-50%,3px);width:max-content;max-width:min(220px,calc(100vw - 48px));white-space:normal;text-align:center;overflow-wrap:anywhere}
.dialog .responsible-person-link:is(:hover,:focus-visible) .responsible-person-tooltip{transform:translate(-50%,0)}

/* The dark sign-in surface keeps every interactive state legible. */
.access-page .access-form-area{color:#f4f3f1}
.access-page .access-heading h2,.access-page .access-form-area .field label{color:#f4f3f1}
.access-page .access-modes{border:1px solid #3b3b3b;background:#191919}
.access-page .access-modes button{color:#d3cfc6;background:transparent}
.access-page .access-modes button:hover:not([aria-pressed="true"]){color:#fff;background:#323232}
.access-page .access-modes button[aria-pressed="true"]{color:#ffe377;background:#3b3520;box-shadow:inset 0 0 0 1px #8f792d}
.access-page .access-modes button[aria-pressed="true"]:hover{color:#ffeb9a;background:#4a4124}
.access-page .access-modes button:focus-visible,.access-page .access-submit:focus-visible{outline:3px solid #ffe168;outline-offset:3px}
.access-page .access-form-area .field input{border-color:#515151;background:#191919;color:#f8f8f7;caret-color:#f5d247}
.access-page .access-form-area .field input::placeholder{color:#c2bdb1;opacity:1}
.access-page .access-form-area .field input:hover{border-color:#9f9885}
.access-page .access-form-area .field input:focus-visible{border-color:#f5d247;outline:3px solid #f5d247;outline-offset:2px}
.access-page .access-form-area .field input:-webkit-autofill,.access-page .access-form-area .field input:-webkit-autofill:hover,.access-page .access-form-area .field input:-webkit-autofill:focus{-webkit-text-fill-color:#f8f8f7;box-shadow:0 0 0 1000px #191919 inset;caret-color:#f5d247}
.access-page .access-submit.button.primary{border-color:#d3a91b;background:#f5ce39;color:#1c1c1c!important;box-shadow:0 3px 0 #a67d0b}
.access-page .access-submit.button.primary:hover{background:#ffe06a;color:#161616!important}
.access-page .access-submit.button.primary:active{background:#edc329;box-shadow:0 1px 0 #a67d0b}
.access-page .access-submit.button.primary:disabled{opacity:.72;color:#1c1c1c!important}
.access-page .access-form-area .text-button{color:#e3e1dc}
.access-page .access-form-area .text-button:hover{color:#fff}

/* Fade belongs to the portrait frame, so zooming cannot move its edge. */
.profile-dialog .person-profile-intro .photo-preview{mask-image:linear-gradient(90deg,#000 0%,#000 55%,#000c 75%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 55%,#000c 75%,transparent 100%)}
.profile-dialog .person-profile-intro .photo-preview img{mask-image:none;-webkit-mask-image:none}
@media(max-width:700px){.profile-dialog .person-profile-intro .photo-preview{mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%)}}
/* Dialogs live outside .workspace; their portraits still need a square box. */
.responsible-person-link>.responsible-avatar.avatar{display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;aspect-ratio:1/1;padding:0;border:0;box-sizing:border-box;overflow:hidden;border-radius:50%}
.responsible-person-link>.responsible-avatar.avatar>img{display:block;width:100%;height:100%;max-width:none;aspect-ratio:1/1;padding:0;border:0;object-fit:cover}
.responsible-person-link>.responsible-avatar.avatar[data-avatar-fit="contain"]>img{object-fit:contain}


/* A fixed portrait frame keeps every directory card the same size. */
.main-content .team-person-card{aspect-ratio:4/5;align-self:stretch}
.main-content .team-card-open{display:block;height:100%;min-height:0;aspect-ratio:auto}
.main-content .team-card-open>.team-card-programs{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;max-width:48px;gap:6px}
.main-content .team-card-open>.team-responsibility-badges{position:absolute;inset:12px 12px auto auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;width:auto;max-width:calc(100% - 88px);padding:0;background:transparent;border:0}
.main-content .team-card-open>.team-responsibility-badges>span{width:fit-content;max-width:100%;padding:3px 6px;font-size:9px;line-height:1.25;text-shadow:0 1px 3px #000;border-width:1px;box-shadow:none}
.main-content .team-card-open>.team-responsibility-badges>.team-responsibility-badge{background:#153e2c80;color:#c6ffdf;border-color:#a1d8bc66}
.main-content .team-card-open>.team-responsibility-badges>[class^="leadership-"]{background:#29292980;color:#f0e9d9;border-color:#dfd6b766}
.main-content .team-card-open>.team-responsibility-badges>.pdi-review-due-badge{order:-10!important;background:#8b2233b3;color:#fff;border-color:#ed849477}
.main-content .team-card-open>.team-responsibility-badges>.pdi-excellence-badge{background:#57451880;font-size:17px}
@media(max-width:600px){.main-content .team-person-card{aspect-ratio:3/4}.main-content .team-card-open>.team-responsibility-badges{top:9px;right:9px;max-width:calc(100% - 68px)}.main-content .team-card-open>.team-card-programs{top:9px;left:9px;max-width:36px}.main-content .team-card-open>.team-card-programs img{width:36px;height:36px;flex-basis:36px}}
@media(max-width:360px){.main-content .team-person-card{aspect-ratio:4/5}}

.team-card-info>.pdi-review-due-badge{width:fit-content;max-width:100%;margin-left:-8px;margin-bottom:3px;padding:3px 7px;background:#8b2233b3;color:#fff;border:1px solid #ed849477;border-radius:5px;font-size:9px;font-weight:800;line-height:1.3;letter-spacing:0;text-transform:none}

/* Anchor the portrait frame without percentage-height resolution in WebKit. */
.main-content .team-person-card{width:100%;box-sizing:border-box;justify-self:stretch}
.main-content .team-person-card>.team-card-open{position:absolute!important;inset:0;width:100%;height:100%}

/* Compact profile identity and aligned indicators. */
.profile-dialog .person-profile-identity{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;gap:12px 16px}
.profile-dialog .person-profile-identity>.eyebrow{grid-column:1;grid-row:1}
.profile-dialog .person-profile-identity>.profile-contact-icons{grid-column:2;grid-row:1;margin:0;gap:6px}
.profile-dialog .person-profile-identity>h3,.profile-dialog .person-profile-identity>.area-chips,.profile-dialog .person-profile-identity>.team-responsibility-badges{grid-column:1/-1}
.profile-dialog .profile-contact-icons>.profile-contact-icon{width:30px;height:30px;min-height:30px;flex-basis:30px}
.profile-dialog .profile-contact-icons svg{width:14px;height:14px}
.profile-dialog .profile-metrics>div{display:flex;flex-direction:column;min-width:0}
.profile-dialog .profile-metrics dt{display:flex;align-items:flex-start;gap:5px;flex:1;line-height:1.45;min-height:2.9em}
.profile-dialog .profile-metrics dd{margin:12px 0 0;font-variant-numeric:tabular-nums;line-height:1.1}
.profile-dialog .profile-metric-help{margin:0;flex:none;line-height:1}
.profile-dialog .profile-metric-help summary{width:16px;height:16px;min-height:0;padding:0}
.profile-dialog .profile-metric-help summary svg{width:11px;height:11px}
