/* Scoped role artwork. Normal document scrolling; no snap or wheel interception. */
.aegis-roles { --role-nav:67px; scroll-margin-top:var(--role-nav); }
.aegis-poster { --accent:104,155,240; position:relative; isolation:isolate; min-height:calc(100svh - var(--role-nav,67px)); height:calc(100svh - var(--role-nav,67px)); scroll-margin-top:var(--role-nav,67px); overflow:clip; background:#06080d; color:#eef3ff; border-bottom:1px solid #243044; }
.aegis-poster::before { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 72% 40%,rgba(var(--accent),.11),transparent 65%),linear-gradient(130deg,#07090e,#080d17 60%,#04060a); }
.poster-art { position:absolute; margin:0; inset:0 auto 0 0; width:58%; display:flex; align-items:center; justify-content:center; }
.poster-crop { position:relative; overflow:hidden; flex:none; width:min(100%,calc((100svh - 67px) * var(--ratio))); aspect-ratio:var(--ratio); mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 97%,transparent); mask-composite:intersect; }
.poster-crop img { position:absolute; display:block; max-width:none; width:var(--image-width); height:auto; left:var(--image-left); top:var(--image-top); }
.poster-art::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#06080d,transparent 12%,transparent 90%,rgba(6,8,13,.2)); }
.poster-copy { position:relative; margin-left:58%; width:42%; min-height:inherit; display:flex; flex-direction:column; justify-content:center; padding:48px clamp(24px,3.5vw,68px) 80px 0; z-index:2; }
.poster-kicker { display:flex; align-items:center; gap:14px; font:11px var(--mono); letter-spacing:.16em; color:#a5b3c9; margin:0 0 28px; }
.poster-kicker b { color:#689bf0; font-weight:400; }
.poster-kicker::after { content:''; flex:1; max-width:140px; height:1px; background:linear-gradient(90deg,#4785d8,transparent); }
.poster-name { font-size:clamp(60px,7.5vw,144px); line-height:.98; letter-spacing:-.055em; margin:0; font-weight:600; background:linear-gradient(110deg,#fff 20%,#d9e5ff 65%,#689bf0); color:transparent; background-clip:text; }
.poster-name.long { font-size:clamp(55px,6.5vw,118px); }
.poster-core { font-size:clamp(23px,2.1vw,38px); line-height:1.5; margin:28px 0 0; font-weight:500; }
.poster-sub { font-size:clamp(15px,1.3vw,21px); color:#a7b3c5; line-height:1.8; margin:16px 0 0; }
.poster-link { margin-top:36px; font:11px var(--mono); letter-spacing:.14em; color:#85b6ff; align-self:flex-start; border-bottom:1px solid #2b4262; padding-bottom:9px; }
.poster-meta { position:absolute; bottom:24px; left:4vw; right:4vw; display:flex; justify-content:space-between; font:10px var(--mono); color:#71819c; letter-spacing:.18em; z-index:3; }
.poster-hermes { --accent:124,102,243; }
.poster-hermes .poster-art,.poster-pi .poster-art,.poster-codex .poster-art { left:auto; right:0; }
.poster-hermes .poster-copy,.poster-pi .poster-copy,.poster-codex .poster-copy { margin-left:0; width:49%; padding-left:5.5vw; padding-right:0; }
.poster-hermes .poster-art { width:63%; }
.poster-hermes .poster-crop { mask-image:linear-gradient(to right,transparent 7%,#000 18%,#000 96%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 99%,transparent); }
.poster-hermes .poster-core { font-size:clamp(22px,2vw,34px); }
.poster-claude { --accent:207,113,55; }
.poster-claude .poster-art { width:49%; }
.poster-claude .poster-copy { margin-left:51%; width:49%; }
.poster-claude .poster-crop { width:min(92%,calc((100svh - 100px) * var(--ratio))); }
.poster-pi .poster-art { width:52%; }
.poster-pi .poster-crop { width:min(90%,calc((100svh - 108px) * var(--ratio))); }
.poster-codex .poster-art { width:56%; }
.poster-codex .poster-art::before { content:''; position:absolute; width:80%; aspect-ratio:1; border:1px solid #53698b; border-radius:50%; box-shadow:0 0 90px #4169ac44,inset 0 0 100px #4169ac22; background:repeating-linear-gradient(0deg,transparent 0 69px,#6487b512 70px),repeating-linear-gradient(90deg,transparent 0 69px,#6487b512 70px); }
.poster-codex .poster-crop { width:min(92%,calc((100svh - 100px) * .75)); mask-image:linear-gradient(0deg,transparent,#000 8%); filter:drop-shadow(0 0 35px #799de84d); }
@media (max-height:700px) and (min-width:861px) {
 .poster-copy { padding-top:30px; padding-bottom:55px; }
 .poster-kicker { margin-bottom:18px; }
 .poster-core { margin-top:20px; }
 .poster-link { margin-top:22px; }
 .poster-meta { bottom:16px; }
}
@media (max-width:860px) {
 .aegis-poster { height:auto; min-height:calc(100svh - 67px); padding-bottom:64px; }
 .aegis-poster .poster-art { position:relative; width:100%; height:52svh; inset:auto; }
 .aegis-poster .poster-crop { width:min(92%,calc(52svh * var(--ratio))); }
 .aegis-poster .poster-copy { margin:0; width:100%; min-height:0; padding:22px 7vw; }
 .poster-name,.poster-name.long { font-size:clamp(48px,11vw,86px); }
 .poster-kicker { margin-bottom:18px; }
 .poster-core { font-size:23px; margin-top:20px; }
 .poster-sub { font-size:15px; }
 .poster-link { margin-top:22px; }
 .poster-meta { left:7vw; right:7vw; bottom:20px; }
}
