.personal-photos{margin-top:64px;border-top:1px solid #7760b545;padding-top:28px}
.personal-photos-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}
.personal-photos-heading h3{font-size:clamp(32px,4vw,58px);line-height:1.06;letter-spacing:-.035em;margin:0}
.personal-photos-heading p{max-width:300px;font-size:14px;line-height:1.55;margin:0}
.personal-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(145px,15vw,240px);grid-auto-flow:dense;gap:14px}
.personal-photo{display:block;position:relative;isolation:isolate;min-width:0;overflow:hidden;border-radius:8px;background:#262333;color:white;text-decoration:none;outline-offset:4px}
.personal-photo.wide{grid-column:span 2}.personal-photo.portrait{grid-row:span 2}
.personal-photo img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(var(--photo-scale,1));transition:filter .25s}
.personal-photo::after{content:"";position:absolute;inset:0;pointer-events:none;border:2px solid transparent;border-radius:inherit;transition:border-color .2s;background:linear-gradient(transparent 55%,#0009)}
.personal-photo-caption{position:absolute;left:14px;right:14px;bottom:13px;z-index:1;display:flex;gap:8px;align-items:center;justify-content:space-between;font:650 12px/1.3 Inter,Arial,sans-serif}
.personal-photo-caption svg{width:24px;height:24px;padding:4px;border:1px solid #ffffffa6;border-radius:50%;flex:none;transition:background .2s,transform .2s}
.personal-photo:hover::after,.personal-photo:focus-visible::after{border-color:#f3e8ff}.personal-photo:hover img{filter:brightness(1.1)}
.personal-photo:hover svg,.personal-photo:focus-visible svg{background:#7760b5;transform:rotate(90deg)}
#personal-photo-dialog{box-sizing:border-box;width:min(1280px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);height:calc(100dvh - 24px);padding:16px;border:1px solid #77717f;border-radius:12px;background:#17151d;color:#f4f0fa;overflow:hidden}
#personal-photo-dialog::backdrop{background:#09070eeb;backdrop-filter:blur(8px)}
.personal-photo-viewer{height:100%;display:flex;flex-direction:column;gap:12px}
.personal-photo-toolbar,.personal-photo-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none}
.personal-photo-toolbar p,.personal-photo-bottom p{margin:0;font-size:13px;line-height:1.4}
#personal-photo-dialog button{font:600 13px/1.2 Inter,Arial,sans-serif;min-height:44px;min-width:44px;padding:10px 14px;border:1px solid #91869f;border-radius:6px;background:transparent;color:inherit;cursor:pointer;transition:background .2s,color .2s}
#personal-photo-dialog button:hover,#personal-photo-dialog button:focus-visible{background:#d8c0fb;color:#20142d}
#personal-photo-dialog button:focus-visible{outline:2px solid white;outline-offset:3px}
.personal-photo-stage{flex:1;min-height:0;display:grid;place-items:center}
#personal-photo-large{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;min-height:0}
.personal-photo-controls{display:flex;gap:8px}
@media(max-width:720px){.personal-photos{margin-top:38px;padding-top:22px}.personal-photos-heading{display:block}.personal-photos-heading p{margin-top:14px;max-width:none}.personal-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(105px,33vw,210px);gap:10px}.personal-photo.wide{grid-column:span 1}.personal-photo-caption{font-size:10px;left:9px;right:9px;bottom:9px}.personal-photo-caption svg{width:22px;height:22px}#personal-photo-dialog{padding:10px}.personal-photo-bottom{align-items:start;flex-wrap:wrap}}
html[data-motion="off"] .personal-photo img{transform:none!important}
@media(prefers-reduced-motion:reduce){.personal-photo img{transform:none!important}.personal-photo img,.personal-photo::after,.personal-photo svg,#personal-photo-dialog button{transition:none}.personal-photo:hover svg{transform:none}}
