/* A persistent team line-up replaces the single-photo slider. */
.landing-story-layout:has(.team-explorer) { grid-template-columns:1fr; gap:38px; }
.landing-story-layout:has(.team-explorer) .landing-story-copy { max-width:850px; }
.team-explorer { min-width:0; width:100%; }
.team-explorer-hint { color:#c8d2d7; font-size:15px; line-height:1.6; margin:0 0 20px; }
.team-explorer-profiles { display:flex; gap:8px; align-items:stretch; }
.team-explorer .team-profile { position:relative; flex:1 1 0; min-width:0; padding:0; border:1px solid #ffffff30; border-radius:6px; background:#11171b; color:#f8f5f0; text-align:left; cursor:pointer; overflow:hidden; transition:flex .4s ease,border-color .2s ease; font:inherit; box-shadow:none; }
.team-explorer .team-profile[aria-expanded="true"] { flex:2.2 1 0; border-color:var(--person-accent); }
.team-profile-photo { display:block; height:440px; overflow:hidden; }
.team-profile-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.team-profile-label { position:relative; display:flex; flex-direction:column; gap:8px; padding:18px 14px 24px; min-height:140px; border-top:3px solid var(--person-accent); }
.team-profile-label strong { font:600 clamp(18px,1.65vw,25px)/1.15 var(--display); overflow-wrap:normal; }
.team-profile-role { font:500 13px/1.45 var(--body); color:var(--person-accent); padding-right:12px; }
.team-profile-sign { position:absolute; right:10px; bottom:8px; font-size:23px; line-height:1; color:var(--person-accent); }
.team-profile[aria-expanded="true"] .team-profile-sign { transform:rotate(45deg); }
.team-profile:hover { border-color:var(--person-accent); }
.team-profile:focus-visible { outline:3px solid #66e6ee; outline-offset:3px; }
.team-short-name,.team-role-short { display:none; }
.team-profile-detail:not([hidden]) { display:grid; grid-template-columns:1fr 1.2fr; gap:40px; padding:32px; margin-top:12px; background:linear-gradient(115deg,#17242c,#14181e); border:1px solid #ffffff30; border-radius:6px; }
.team-profile-detail[hidden] { display:none!important; }
.team-profile-detail h3 { font:600 clamp(28px,3vw,42px)/1.1 var(--display); margin:8px 0 16px; }
.team-profile-detail h4 { color:#9be9ed; font-size:14px; margin:0 0 8px; }
.team-profile-detail p { font-size:15px; line-height:1.7; color:#d2d8dc; margin:0 0 20px; }
@media (max-width:700px) {
 .team-explorer-profiles { gap:4px; align-items:flex-start; }
 .team-explorer .team-profile { border-radius:4px; }
 .team-explorer .team-profile[aria-expanded="true"] { flex:1.35 1 0; }
 .team-profile-photo { height:116px; }
 .team-profile-label { padding:10px 5px 22px; min-height:106px; gap:7px; }
 .team-profile-label strong { font-size:16px; }
 .team-profile-role { padding:0; font-size:10px; line-height:1.4; overflow-wrap:normal; hyphens:auto; }
 .team-profile-sign { right:5px; bottom:6px; font-size:20px; }
 .team-full-name,.team-role-full { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .team-short-name,.team-role-short { display:inline; }
 .team-profile-detail:not([hidden]) { grid-template-columns:1fr; gap:4px; padding:22px 18px; }
 .team-explorer-hint { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .team-explorer .team-profile { transition:none; } }

/* All five team identities stay uppercase in both compact and expanded views. */
.team-profile-label strong, .team-profile-detail h3 { text-transform: uppercase; }

/* Seven portraits with readable signatures, including on small screens. */
.team-explorer-profiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.team-explorer .team-profile { align-self:stretch; border-radius:8px; }
.team-profile-photo { position:relative; height:auto; aspect-ratio:3/4; }
.team-profile-photo img { object-position:50% 16%; }
.team-profile-label { min-height:210px; padding:20px 16px 30px; }
.team-profile-label strong { font-size:23px; }
.team-signature { display:block; font:italic 400 16px/1.5 var(--body); color:#e8e7e3; margin-top:8px; }
.team-profile-role { font-size:13px; }
.team-full-name,.team-role-full { position:static; width:auto; height:auto; clip-path:none; overflow:visible; }
.team-short-name,.team-role-short { display:none; }
@media(max-width:900px){ .team-explorer-profiles { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; } }
@media(max-width:600px){
 .team-explorer-profiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .team-profile-label { padding:16px 12px 30px; min-height:230px; }
 .team-profile-label strong { font-size:20px; }
 .team-profile-role { font-size:12px; }
 .team-signature { font-size:14px; }
}
@media(max-width:350px){ .team-explorer-profiles { grid-template-columns:1fr; } .team-profile-label { min-height:0; } }

/* Owner-selected option 03: a discreet brand composition, without a portrait. */
.team-photo-abstract{isolation:isolate;display:grid;place-items:center;background:linear-gradient(133deg,#25282c 0%,#171a1e 47%,#26272c 100%)}
.team-photo-abstract::before,.team-photo-abstract::after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none}
.team-photo-abstract::before{background:linear-gradient(135deg,#b65c8230,#d393aa42);clip-path:polygon(100% 0,100% 100%,48% 53%)}
.team-photo-abstract::after{background:linear-gradient(145deg,#171a1d,#1e2024);clip-path:polygon(0 0,100% 100%,0 100%,49% 52%)}
.team-abstract-line{position:absolute;inset:0;background:linear-gradient(48deg,transparent calc(50% - .5px),#a96c82aa 50%,transparent calc(50% + .5px)),linear-gradient(132deg,transparent calc(50% - .5px),#a96c8266 50%,transparent calc(50% + .5px));z-index:0}
.team-abstract-brand{z-index:1;padding:18px;background:transparent;text-shadow:0 2px 12px #151719;color:#f5f2ee;font:600 clamp(20px,2.1vw,32px)/1.15 var(--body);letter-spacing:.28em;text-align:center}
.team-abstract-brand small{display:block;font:400 11px/1.4 var(--body);letter-spacing:.42em;margin-top:9px}
.team-abstract-brand::after{content:"";display:block;width:28px;height:2px;margin:18px auto 0;background:#b87591}
@media(max-width:600px){.team-abstract-brand{font-size:20px;padding:12px}.team-abstract-brand small{font-size:9px}}

/* Slightly tighter Thomas portrait to match the scale of the team line-up. */
.team-profile-photo img[src*="/team-20261023/thomas"] {transform:scale(1.12);transform-origin:50% 70%;}


.team-explorer-profiles>.team-profile-detail{grid-column:1/-1;scroll-margin-top:130px}.team-profile-detail:focus-visible{outline:2px solid #66e6ee;outline-offset:3px}
