/* demo57 "Kairos Darkroom": a photographer's profile, fixed identity column beside one large picture at a time. */
.p-demo57 { --bg:#111110; --w:#ecebe6; --dim:#a3a29b; --edge:clamp(16px,2.4vw,36px); background:var(--bg); }
.p-demo57 .main { padding:0; }
.p-demo57 .header { background:#111110; }
.p-demo57 .header::before { display:none; }
.ka { display:grid; grid-template-columns:minmax(300px,27vw) minmax(0,1fr); color:var(--w); font-family:"DM Mono",ui-monospace,monospace; font-size:14px; }
.ka :where(*) { color:inherit; }
.ka :where(h1,h2,p,figure,ul) { margin:0; padding:0; }
.ka img { display:block; }
.ka-id { position:sticky; top:70px; height:calc(100vh - 70px); display:flex; flex-direction:column; gap:15px; padding:var(--edge); border-right:1px solid #ecebe62e; overflow:auto; }
.ka-ava { width:76px; height:76px; object-fit:cover; filter:grayscale(1); }
.ka-id h1 { font:400 clamp(50px,5.4vw,96px)/.92 "Instrument Serif",serif; letter-spacing:-.02em; }
.ka-id em { font-style:italic; }
.ka-m { color:var(--dim); line-height:1.5; }
.ka-m b { color:var(--w); font-weight:500; }
.ka-bio { font:400 clamp(19px,1.5vw,23px)/1.28 "Instrument Serif",serif; }
.ka-acts { display:flex; gap:8px; }
.ka-acts>* { display:inline-flex; align-items:center; min-height:40px; padding:0 15px; border:1px solid var(--w); background:none; color:var(--w); font:500 13px "DM Mono",monospace; text-decoration:none; cursor:pointer; transition:background .2s,color .2s; }
.ka-acts>*:hover,.ka-acts [aria-pressed=true] { background:var(--w); color:#111; }
.ka-f { display:flex; flex-wrap:wrap; gap:14px; margin-top:auto; }
.ka-f button { min-height:28px; background:none; border:0; border-bottom:1px solid transparent; padding:0; color:var(--dim); font:400 13px "DM Mono",monospace; cursor:pointer; }
.ka-f button:hover { color:var(--w); }
.ka-f [aria-pressed=true] { color:var(--w); border-color:var(--w); }
.ka-count { font:400 clamp(44px,4.4vw,74px)/1 "Instrument Serif",serif; color:var(--dim); }
.ka-count b { font-weight:400; color:var(--w); }
.ka-w { min-height:calc(100vh - 70px); display:flex; flex-direction:column; justify-content:center; padding:var(--edge) clamp(16px,6vw,110px); }
.ka-w[hidden] { display:none; }
.ka-w>div { height:calc(100vh - 170px); min-height:360px; display:flex; justify-content:center; overflow:hidden; }
.ka-w img { height:100%; width:auto; max-width:100%; object-fit:contain; opacity:0; transform:scale(1.035); filter:grayscale(.15); transition:opacity 1.1s,transform 1.4s cubic-bezier(.2,.7,.2,1); }
.ka-w.is-in img { opacity:1; transform:none; }
.ka-w figcaption { display:flex; justify-content:center; flex-wrap:wrap; gap:6px 24px; padding-top:14px; color:var(--dim); }
.ka-w figcaption span:first-child { color:var(--w); }
.ka-pub { padding:clamp(40px,7vw,110px) clamp(16px,6vw,110px); border-top:1px solid #ecebe62e; }
.ka-pub h2 { font:italic 400 clamp(34px,3.6vw,58px)/1 "Instrument Serif",serif; margin-bottom:14px; }
.ka-pub ul { list-style:none; margin-bottom:46px; }
.ka-pub li { display:flex; justify-content:space-between; padding:12px 0; border-top:1px solid #ecebe62e; font-size:15px; }
.ka-pub i { font-style:normal; color:var(--dim); }
.ka-pub p { display:flex; flex-wrap:wrap; gap:8px 22px; }
.ka-pub a { color:var(--w); text-underline-offset:4px; }
.ka :focus-visible { outline:2px solid var(--w); outline-offset:3px; }
@media (max-width:860px) {
  .ka { grid-template-columns:1fr; }
  .ka-id { position:static; height:auto; border:0; }
  .ka-count { display:none; }
  .ka-w { min-height:0; padding:12px 16px 28px; }
  .ka-w>div { height:auto; min-height:0; }
  .ka-w img { width:100%; height:auto; }
}
@media (prefers-reduced-motion:reduce) { .ka-w img { opacity:1; transform:none; transition:none; } }
