/* ALBiNOLOG — Mustili website. */
.bio-layout{grid-template-areas:"aside intro" "aside main";grid-template-rows:auto 1fr;row-gap:0;align-items:start}
.bio-aside{grid-area:aside}.bio-main{grid-area:main}
.bio-intro{grid-area:intro;text-align:left;margin-bottom:2.5rem;min-width:0}
@media(max-width:640px){.bio-layout{grid-template-areas:"intro" "aside" "main";grid-template-rows:auto;row-gap:2rem}.bio-intro{margin-bottom:0}}
.bio-portrait{display:block;max-width:330px}.bio-portrait img{width:100%;height:auto;border-radius:1rem}.bio-portrait:hover{outline:1px solid var(--accent);outline-offset:4px}
.photo-gallery{margin-top:2rem;min-width:0;max-width:100%}.photo-gallery h2{font-size:1.4rem;margin-bottom:1rem;line-height:1.4}
.gallery-pages{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--accent) var(--panel);padding:4px 0 12px}
.gallery-page{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,auto);gap:.5rem;align-content:start;scroll-snap-align:start}
.gallery-thumb{display:block;min-width:0;background:#060706;border:1px solid var(--line);border-radius:.35rem;overflow:hidden}.gallery-thumb img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center top;transition:opacity .2s}.gallery-thumb:hover img{opacity:.8}
.gallery-controls{display:none;gap:.6rem;align-items:center;justify-content:space-between;margin-top:.6rem;flex-wrap:wrap}.js .gallery-controls{display:flex}.gallery-arrows{display:flex;gap:.4rem}.gallery-controls button{cursor:pointer;color:var(--ink);font:inherit}.gallery-arrows button{background:var(--panel);border:1px solid var(--line);border-radius:50%;width:44px;height:44px;font-size:1.5rem;line-height:1}.gallery-arrows button:disabled{opacity:.35;cursor:default}.gallery-controls .text-link{background:transparent;border:0;border-bottom:1px solid var(--line);padding:.35rem 0;min-height:44px;font-size:.875rem}.gallery-pages.is-expanded{display:grid;overflow:visible;scroll-snap-type:none}.photo-gallery:has(.is-expanded) .gallery-arrows{display:none}
.press-card h2 a:hover{color:var(--accent)}
.photo-dialog{background:#101110;color:#f3f5ef;border:1px solid #444c40;border-radius:.7rem;width:min(1120px,calc(100vw - 24px));height:min(880px,calc(100dvh - 24px));max-width:none;max-height:none;padding:0;overflow:hidden}.photo-dialog::backdrop{background:#000d}.photo-dialog[open]{display:flex;flex-direction:column}
.photo-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #444c40}.photo-dialog h2{font-size:1.2rem;line-height:1.4;letter-spacing:0}.photo-dialog button{min-width:44px;min-height:44px;background:#1c201a;color:#fff;border:1px solid #58624f;border-radius:.4rem;font:inherit;cursor:pointer;padding:.4rem .8rem}.photo-dialog button:disabled{opacity:.4;cursor:default}
.photo-dialog figure{margin:0;min-height:0;flex:1;display:flex;flex-direction:column;padding:.75rem 1rem;gap:.6rem}.photo-dialog-image{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;touch-action:pan-y}.photo-dialog-image img{width:100%;height:100%;object-fit:contain;user-select:none}.photo-dialog figcaption{font-size:.9375rem;line-height:1.5;color:#d0d5c9;overflow-wrap:anywhere;flex-shrink:0}.photo-dialog-footer{display:flex;gap:.7rem;align-items:center;justify-content:space-between;padding:.6rem 1rem 1rem;flex-wrap:wrap}.photo-counter{font-size:.875rem;color:#d0d5c9}.photo-dialog a{font-size:.875rem;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:640px){.bio-portrait{max-width:260px;justify-self:center}.photo-gallery{grid-column:1/-1}.photo-dialog-footer{gap:.5rem}.photo-dialog-footer button{font-size:.875rem;padding:.4rem .6rem}}
@media(prefers-reduced-motion:reduce){.gallery-thumb img{transition:none}}
