.character-profiles{margin:75px auto 0;--bio-color:#f0c8d1;max-width:1400px;color:#173d34}
.bio-card{display:grid;grid-template-columns:1.08fr 1fr;background:var(--bio-color);border-radius:64px;overflow:hidden;transition:background .3s;min-height:640px}
.bio-art{padding:0;border:0;background:transparent;position:relative;min-height:640px;overflow:hidden;cursor:zoom-in;text-align:left;color:#fff}
.bio-art>img{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.bio-art:hover>img{transform:scale(1.025)}
.bio-art h3{position:absolute;bottom:35px;left:35px;margin:0;font:900 clamp(38px,4.1vw,68px)/.94 Inter,Arial,sans-serif;letter-spacing:-.06em;color:#fff!important;text-shadow:0 2px 18px #173d3430;pointer-events:none;z-index:1}
.bio-expand{position:absolute;right:20px;bottom:22px;width:42px;height:42px;display:grid;place-items:center;background:#fff;color:#173d34;border-radius:50%;font-size:24px}
.bio-copy{padding:48px 38px;align-self:center;text-align:start;font-family:Inter,Arial,system-ui,sans-serif}
.bio-copy blockquote{margin:0 0 28px;font-size:clamp(21px,2vw,28px);font-weight:850;line-height:1.3;letter-spacing:-.035em}
.bio-copy dl{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:12px;margin:0 0 24px;font-size:14px;line-height:1.5}.bio-copy dt{font-weight:800}.bio-copy dd{margin:0}
.bio-story p{font-size:16px;line-height:1.7;margin:0;white-space:pre-line}
.bio-selector{display:flex;align-items:flex-end;justify-content:center;gap:1px;padding:22px 0 15px;overflow-x:auto;direction:ltr;scrollbar-width:thin;scrollbar-color:#9fe3d955 transparent}
.bio-selector button{position:relative;flex:1 0 38px;max-width:65px;height:120px;background:none;border:0;padding:0 2px;color:#9caaa5;cursor:pointer;transition:color .2s,transform .25s}
.bio-selector button>span{display:block;width:100%;height:100%;background:currentColor;mask-image:var(--silhouette);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:var(--silhouette);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.bio-selector button[aria-pressed=true]{color:var(--character-color);transform:translateY(-5px)}
.bio-selector small{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);opacity:0;font:700 11px/1.2 Arial;color:white;pointer-events:none}
.bio-selector button[aria-pressed=true] small,.bio-selector button:hover small{opacity:1}.bio-selector button:focus-visible{outline:2px solid #9fe3d9;outline-offset:3px;border-radius:8px}
.bio-dialog{padding:48px 12px 12px;border:0;border-radius:20px;background:#fff;max-width:96vw;width:1200px;max-height:94dvh}.bio-dialog::backdrop{background:#10251ede;backdrop-filter:blur(8px)}.bio-dialog>img{width:100%;height:auto;max-height:82dvh;object-fit:contain}.bio-close{position:absolute;right:12px;top:8px;border:0;border-radius:50%;background:#173d34;color:white;width:34px;height:34px;font:25px Arial}body:has(.bio-dialog[open]){overflow:hidden}
@media(max-width:800px){.bio-card{grid-template-columns:1fr;border-radius:32px;min-height:0}.bio-art{min-height:0;aspect-ratio:1.1}.bio-art h3{font-size:clamp(40px,10vw,64px);bottom:24px;left:24px}.bio-copy{padding:28px 24px 35px}.bio-copy blockquote{font-size:24px}.bio-story p{font-size:16px;line-height:1.7}.bio-selector{justify-content:flex-start;gap:5px;padding-bottom:20px}.bio-selector button{flex:0 0 42px;height:106px}.character-profiles{margin-top:45px}}
@media(prefers-reduced-motion:reduce){.bio-card,.bio-art>img,.bio-selector button{transition:none}}

@media(max-width:800px){.bio-card>.bio-selector{background:#173d34;padding:10px 14px 24px;margin:0}.bio-card>.bio-selector button{height:86px}}

@media(max-width:800px){.bio-card>.bio-selector{position:relative;gap:10px;padding:18px calc(50% - 32px) 28px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.bio-card>.bio-selector::-webkit-scrollbar{display:none}.bio-card>.bio-selector button{flex:0 0 64px;max-width:64px;scroll-snap-align:center;scroll-snap-stop:normal;opacity:.65}.bio-card>.bio-selector button[aria-pressed=true]{opacity:1;transform:translateY(-5px) scale(1.08)}}
