/* Opening alternative: edge-to-edge portrait, no frame or border. */
.ab-hero--editorial{position:relative;isolation:isolate;background:radial-gradient(ellipse at 5% 75%,#29261d 0,transparent 55%),#111719}
.ab-hero--editorial .ab-hero__grid{position:static;display:block;min-height:700px}
.ab-hero--editorial .ab-hero__copy{width:60%;max-width:710px;padding:68px 0 48px}
.ab-hero--editorial h1{font-size:clamp(3.8rem,5.7vw,5.6rem);line-height:.98;letter-spacing:-.045em;margin-bottom:28px}
.ab-hero--editorial h1 em{display:block}.ab-hero--editorial h1 em span{display:block}
.ab-hero--editorial .ab-hero__copy>p{max-width:430px;font-size:.95rem}
.ab-hero--editorial .ab-hero__actions{flex-direction:row;align-items:center;gap:24px;flex-wrap:wrap}
.ab-hero--editorial .ab-hero__facts{max-width:415px;margin-top:35px;padding-top:18px}
.ab-hero--editorial .ab-hero__portrait{position:absolute;inset:0 max(0px,calc((100vw - 1440px)/2)) 0 auto;width:54%;max-width:740px;height:100%;margin:0;z-index:-1;background:transparent;overflow:hidden}
.ab-hero--editorial .ab-hero__portrait>img{object-position:50% 24%;mask-image:linear-gradient(90deg,transparent,#000 35%);height:100%;width:100%}
.ab-hero--editorial .ab-hero__portrait::after{background:linear-gradient(0deg,#111719 0%,#11171950 24%,transparent 55%),linear-gradient(90deg,#11171970,transparent 50%)}
.ab-hero--editorial .ab-hero__portrait figcaption{left:auto;right:max(48px,calc((100vw - 1200px)/2));bottom:40px;border:0;padding:0;text-align:right}
.ab-hero--editorial .ab-hero__portrait figcaption strong{font-size:2.2rem}

/* Shared portrait reveal on home and team. Each row keeps its original reading order. */
.ab-people-grid{display:flex;flex-direction:column;gap:36px}
.ab-people-row{display:flex;align-items:stretch;gap:24px}
.ab-person{position:relative;isolation:isolate;flex:1 1 0;min-width:0;height:600px;color:white;background:#152023;transition:flex .65s cubic-bezier(.2,.7,.2,1),transform .65s,box-shadow .65s}
.ab-person--compact{height:600px}
.ab-person__photo,.ab-person--compact .ab-person__photo{position:absolute;inset:0;aspect-ratio:auto;overflow:hidden;z-index:-2}
.ab-person__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 26%;filter:none;transition:transform .7s,filter .7s}
.ab-person__photo--center img{object-position:50% 50%}.ab-person__photo--bottom img{object-position:50% 85%}
.ab-person::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:transparent;transition:background .5s}
.ab-person__reveal{height:100%;margin:0}
.ab-person__reveal summary{display:block;list-style:none;cursor:pointer;position:absolute;inset:0;padding:0;color:white;font-weight:400}
.ab-person__reveal summary::-webkit-details-marker{display:none}
.ab-person__reveal summary::before{content:'';position:absolute;left:0;right:0;bottom:0;height:176px;background:var(--ab-black);pointer-events:none;transition:opacity .3s}
.ab-person__reveal[open] summary::before{opacity:0}
.ab-person__reveal summary:focus-visible{outline-offset:6px}
.ab-person__gold{position:absolute;width:100px;height:100px;left:0;bottom:38px;background:linear-gradient(135deg,#b18a49,#dbba78);transition:bottom .65s cubic-bezier(.2,.7,.2,1);z-index:0}
.ab-person__identity{position:absolute;left:28px;right:62px;bottom:64px;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.ab-person h3,.ab-person:hover h3,.ab-person:focus-within h3{font:500 2rem/1.15 var(--ab-serif);color:#fff;margin:0 0 10px;transform:none;text-shadow:0 2px 14px #0007;text-wrap:initial;overflow-wrap:break-word}
.ab-person__role{display:block;font-size:.77rem;letter-spacing:.055em;text-transform:uppercase;line-height:1.55;color:#f1eadc;margin:0;min-height:0}
.ab-person__toggle{position:absolute;right:25px;bottom:48px;width:32px;height:32px;border:1px solid #ffffff80;border-radius:50%;transition:transform .4s;z-index:4}
.ab-person__toggle::before,.ab-person__toggle::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:2px;background:currentColor;transform:translate(-50%,-50%);border-radius:1px}
.ab-person__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.ab-person__hint{position:absolute;left:34px;bottom:14px;font-size:.7rem;letter-spacing:.05em;color:#d7dcd9;transition:opacity .25s}
.ab-person .ab-person__body{position:absolute;top:180px;left:34px;right:34px;bottom:54px;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 12px 0;border:0;scrollbar-width:thin;scrollbar-color:#d2ac67 #ffffff14;font-size:.95rem;line-height:1.85;animation:ab-profile-read .4s ease both}
.ab-person .ab-person__body p{font-size:inherit;line-height:inherit;color:#f0f2ee;padding:0;margin:0 0 20px;white-space:pre-line}
.ab-person .ab-person__body .ab-person__department{font-size:.74rem;color:var(--ab-gold-light);letter-spacing:.06em;text-transform:uppercase;line-height:1.7}
.ab-person:has(.ab-person__reveal[open]){flex:1.45 1 0;z-index:3;transform:translateY(-10px);box-shadow:0 22px 42px #10201c2b}
.ab-person:has(.ab-person__reveal[open])::after{background:#081012d9}
.ab-person:has(.ab-person__reveal[open]) .ab-person__photo img{transform:scale(1.085);filter:blur(5px)}
.ab-person__reveal[open] .ab-person__gold{bottom:calc(100% - 130px)}
.ab-person__reveal[open] .ab-person__identity{top:40px;bottom:auto}
.ab-person__reveal[open] .ab-person__toggle{transform:rotate(45deg)}
.ab-person__reveal[open] .ab-person__hint{opacity:0}
.ab-person__placeholder-label{z-index:1;right:16px;top:15px;padding:4px 9px;font-size:.7rem;pointer-events:none}
.ab-person:has(.ab-person__reveal[open]) .ab-person__placeholder-label{opacity:0}
.ab-people-row--single{width:calc((100% - 24px)/2)}
.ab-people-row--single .ab-person{height:600px}
.ab-people-row--single .ab-person__photo img{object-position:50% 23%}
.ab-home-team__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.ab-home-team__invitation{display:grid;place-items:center;padding:32px}
.ab-home-team__link{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.4;gap:22px;padding-bottom:12px;font-weight:400}
.ab-home-team__link svg{width:30px;height:30px}
@keyframes ab-profile-read{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1100px){
 .ab-hero--editorial .ab-hero__grid{min-height:660px}
 .ab-hero--editorial .ab-hero__copy{width:65%;padding-top:60px}
 .ab-hero--editorial .ab-hero__portrait{width:56%}
 .ab-hero--editorial .ab-hero__portrait figcaption{right:32px}
 .ab-person,.ab-person--compact,.ab-people-row--single .ab-person{height:580px}.ab-person__identity{left:26px;right:52px}.ab-person .ab-person__body{left:26px;right:24px;font-size:.9rem}
}
@media(max-width:800px){
 .ab-hero--editorial .ab-hero__grid{min-height:0;display:flex;flex-direction:column}
 .ab-hero--editorial .ab-hero__copy{width:100%;max-width:none;padding:45px 0 0}
 .ab-hero--editorial h1{font-size:clamp(3.3rem,8.7vw,4.8rem);max-width:650px}
 .ab-hero--editorial h1 em span{display:inline}
 .ab-hero--editorial .ab-hero__copy>p{max-width:540px}
 .ab-hero--editorial .ab-hero__portrait{position:relative;width:calc(100% + 44px);height:510px;margin:-15px -22px 0;z-index:0;align-self:stretch}
 .ab-hero--editorial .ab-hero__portrait>img{mask-image:linear-gradient(180deg,transparent,#000 15%);object-position:50% 24%}
 .ab-hero--editorial .ab-hero__portrait figcaption{right:30px;bottom:26px}
 .ab-hero--editorial .ab-hero__facts{margin-top:25px;position:relative;z-index:2}
 .ab-person,.ab-person--compact,.ab-people-row--single .ab-person{height:570px}
 .ab-person h3,.ab-person:hover h3,.ab-person:focus-within h3{font-size:1.85rem}
 .ab-person__identity{left:22px;right:40px;bottom:68px}
 .ab-person__gold{width:80px;height:100px;bottom:60px}
 .ab-person__role{font-size:.7rem}.ab-person__toggle{right:18px;bottom:18px}
 .ab-person .ab-person__body{left:22px;right:18px;top:185px;font-size:.85rem}
 .ab-person:has(.ab-person__reveal[open]){flex:1.2 1 0}
 .ab-person__hint{left:22px;bottom:23px;font-size:.65rem}
}
@media(max-width:600px){
 .ab-home-team__grid{grid-template-columns:1fr;gap:0}.ab-home-team__invitation{min-height:170px;padding:30px 10px}.ab-home-team__link{font-size:1.45rem;gap:14px}
 .ab-people-row{flex-direction:column;gap:28px}
 .ab-person,.ab-person--compact,.ab-people-row--single .ab-person{height:560px;flex:auto}
 .ab-person:has(.ab-person__reveal[open]){flex:auto;transform:translateY(-5px)}
 .ab-people-row--single{width:100%}
 .ab-person h3,.ab-person:hover h3,.ab-person:focus-within h3{font-size:1.8rem}
 .ab-person__identity{bottom:66px;left:26px;right:50px}
 .ab-person .ab-person__body{top:175px;left:26px;right:24px;font-size:.91rem}
 .ab-person__gold{bottom:42px;width:90px;height:100px}
 .ab-person__role{font-size:.72rem}.ab-person__hint{left:26px}
 .ab-hero--editorial .ab-hero__portrait{width:calc(100% + 40px);margin-inline:-20px;height:430px}
 .ab-hero--editorial .ab-hero__portrait figcaption strong{font-size:1.85rem}
 .ab-hero--editorial .ab-hero__actions{align-items:flex-start;flex-direction:column;gap:18px}
}
@media(prefers-reduced-motion:reduce){
 .ab-person,.ab-person *{animation:none!important;transition:none!important}
 .ab-person:has(.ab-person__reveal[open]),.ab-person:has(.ab-person__reveal[open]) .ab-person__photo img{transform:none}
}
