/* ROMANOVA v57 — mobile layout, gallery density and stable portfolio intro. */
.pf-intro-run #pfaTitle{visibility:hidden}
.pfa-cols{display:none}
.lb-foot{display:grid;grid-template-columns:1fr minmax(0,1fr) 1fr}
.lb-meta{grid-column:2;max-width:100%}
.lb-ses{grid-column:3;justify-self:end}
.lb-foot .lb-cap{overflow-wrap:normal;word-break:normal}
@media (max-width:899px),(hover:none),(pointer:coarse){
  .pre-cap{bottom:calc(var(--gut) + 76px);right:var(--gut);max-width:calc(100% - 2 * var(--gut));font-size:10px;letter-spacing:.14em;line-height:1.6}
  .p-wide{display:none}
  .pfa-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l r" "c c";column-gap:8px}
  .pfa-r{display:block}
  .pfa-r .vsw{display:none}
  .pfa-cols{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:999px;gap:2px;background:var(--card)}
  .pfa-cols button{width:29px;height:34px;border-radius:999px;color:var(--muted);font:600 12px var(--fb)}
  .pfa-cols button.on{background:var(--ink);color:var(--bg)}
  .pfa-cols button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
  .pfa-l{gap:6px;max-width:100%}
  .pfa-title{font-size:clamp(20px,6vw,28px);min-width:0;white-space:normal;display:block;line-height:1.05;overflow-wrap:normal;word-break:normal}
  .pfa-title sup{vertical-align:top;margin-left:3px;font-size:9px}
  .pfa-back{flex:none;width:32px;height:34px;padding:0;justify-content:center}
  .pfa-meta{flex-wrap:wrap;white-space:normal;row-gap:4px;font-size:9px;letter-spacing:.07em}
  .pfa-stage{overflow-y:auto;overflow-x:hidden;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;overflow-anchor:none}
  .pfa-stage::-webkit-scrollbar{display:none}
  .mg{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:6px;padding:2px 0 24px;align-items:start}
  .mg-tile{display:block;min-width:0;width:100%;overflow:hidden;border-radius:5px;text-align:left;background:var(--bg2);color:var(--ink);touch-action:pan-y}
  .mg-photo{display:block;width:100%;aspect-ratio:1;overflow:hidden}
  .mg-session .mg-photo{aspect-ratio:.8}
  .mg[data-cols="1"] .mg-tile:not(.mg-session) .mg-photo{aspect-ratio:var(--photo-aspect,1)}
  .mg-photo img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
  .mg-cap{display:grid;gap:5px;padding:10px 7px 12px}
  .mg-cap b{font:600 12px/1.25 var(--fb);overflow-wrap:normal;word-break:normal}
  .mg-cap>span{font:500 9px/1.4 var(--fb);color:var(--muted)}
  .mg[data-cols="3"] .mg-cap{padding:8px 5px}
  .mg[data-cols="3"] .mg-cap b{font-size:10px}
  .mg[data-cols="3"] .mg-cap>span{font-size:8px}
  .lb-foot{display:flex;flex-direction:column;gap:9px;bottom:max(12px,env(safe-area-inset-bottom))}
  .lb-meta{position:static;width:100%}
  .lb-ses{max-width:100%;white-space:normal;justify-content:center;text-align:center;font-size:10px}
  .lb-stage{bottom:148px}
  .lb-img{max-height:calc(100svh - 230px)}
}

/* Fit the existing desktop controls on laptop-width screens. */
@media (min-width:900px) and (max-width:1499px) and (hover:hover) and (pointer:fine){
  .pfa-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l r" "c c";row-gap:8px;min-height:0;padding:8px 0 14px}
  .pfa-l{grid-area:l}.pfa-r{grid-area:r}.pfa-c{grid-area:c;justify-self:center}
}
