/* Shared complete-image files and fitted original viewer, desktop and mobile. */
.rental-file .rental-file-label{white-space:normal;overflow-wrap:anywhere}
.project-file-case .rental-header h1{overflow-wrap:anywhere}
.project-file-case .rental-skills li{overflow-wrap:anywhere;max-width:100%}

 .rental-file .rental-visual{overflow:hidden}
 .rental-file .rental-image.zoom-button{min-width:0;width:100%;max-width:100%;margin:0}
 .rental-file .rental-image img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]){box-sizing:border-box;width:min(95vw,1600px);height:94svh;height:94dvh;max-height:94svh;max-height:94dvh;padding:12px 8px;overflow:hidden}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .zoom-top{height:auto;min-height:44px;gap:8px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(#zoom-label,[data-source-id="zoom-label"]){min-width:0;display:flex;align-items:center;gap:4px;font-size:11px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .rental-zoom-controls{margin-left:0;gap:2px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .rental-zoom-controls button{width:44px;height:44px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .close-button{min-height:44px;flex-shrink:0}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .mobile-zoom-tools{display:flex;align-items:center;gap:12px;height:44px;font:11px Mono,monospace;color:var(--muted)}
 :is(#mobile-zoom-toggle,[data-source-id="mobile-zoom-toggle"]){min-height:44px;padding:8px;color:var(--yellow);border:1px solid var(--line)}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .zoom-scroll{height:calc(100% - 104px);margin-top:12px;overflow:auto;overscroll-behavior:contain;text-align:left;touch-action:pan-x pan-y pinch-zoom}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .zoom-scroll img{display:block;width:100%;height:100%;min-width:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center top;margin:0 auto}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"])[data-enlarged="true"] .zoom-scroll img{width:var(--viewer-enlarged-width,200%);height:auto;max-width:none;max-height:none;margin:0}

@media(max-width:700px){
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]){width:calc(100vw - 12px)}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(#zoom-label,[data-source-id="zoom-label"]){font-size:9px}
}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(#zoom-label,[data-source-id="zoom-label"])>span:first-child{overflow-wrap:anywhere;min-width:0}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .rental-zoom-controls{flex-shrink:0}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .zoom-top{flex-shrink:0}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]){display:none;flex-direction:column}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"])[open]{display:flex}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .zoom-scroll{flex:1;min-height:0;height:auto}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .mobile-zoom-tools{flex-shrink:0}

/* V36: one enclosing file frame owns the tab, heading, copy and image.
   Mobile stacks every region within the same border; desktop keeps compact media. */
.rentals-case .rental-figure.rental-file-frame{position:relative;border:1px solid #d5d9b43d;background:var(--black);margin-top:31px;min-width:0}
.portfolio .rentals-case .rental-file-frame>.rental-chapter-heading{padding-block:24px}
.rental-file-frame>.rental-file-label{bottom:calc(100% + var(--file-stroke));left:calc(0px - var(--file-stroke));max-width:calc(100% + 2 * var(--file-stroke));border-width:var(--file-stroke) var(--file-stroke) 0;transform:none;z-index:1}
.rental-file-frame>.rental-file-label::after{content:"";position:absolute;top:100%;left:0;right:0;height:var(--file-stroke);background:var(--black);pointer-events:none}
.project-image-heading{display:none}
@media(min-width:900px){
 .portfolio .rentals-case{--case-layout:minmax(0,1fr) minmax(0,clamp(320px,40vw,480px))}
 .portfolio .rentals-case>.rental-header,
 .portfolio .rentals-case>.rental-closing{grid-template-columns:var(--case-layout);align-items:start}
 .portfolio .rentals-case>.rental-header>*{grid-column:1;min-width:0}
 .portfolio .rentals-case>.rental-header{row-gap:28px;padding-bottom:32px}
 .portfolio .rentals-case>.rental-closing>*{grid-column:auto}
 .portfolio .rentals-case .rental-header h1{font-size:clamp(48px,5.2vw,76px);overflow-wrap:anywhere}
 .portfolio .rentals-case>.rental-overview{grid-template-columns:var(--case-layout);row-gap:20px}
 .portfolio .rentals-case>.rental-overview>dl{grid-column:1;min-width:0}
 .portfolio .rentals-case .rental-chapter{padding:62px 0 0}
 .portfolio .rentals-case .rental-figure.rental-file{display:grid;grid-template-columns:var(--case-layout);column-gap:var(--rental-gutter);grid-template-rows:auto 1fr;row-gap:22px;align-items:start;padding:var(--case-inset)}
 .portfolio .rentals-case .rental-file-frame>.rental-chapter-heading{display:block;grid-column:1;grid-row:1;padding:0;align-self:start}
 .portfolio .rentals-case .rental-chapter-heading>p{margin:22px 0 0}
 .portfolio .rentals-case .rental-file-frame>.rental-visual{grid-column:2;grid-row:1 / span 2;width:100%;max-width:480px;margin:0;align-self:start;justify-self:end}
 .portfolio .rentals-case .rental-file-info{grid-column:1;grid-row:2;padding:20px 0 0;border-top:1px solid var(--line)}
 .portfolio .rentals-case .rental-pan-hint{display:block}
 .portfolio .rentals-case .rental-file .rental-visual{width:100%;margin:0;overflow:hidden}
 .portfolio .rentals-case .rental-file .rental-image.zoom-button{min-width:0;width:100%;max-width:100%;margin:0}
 .portfolio .rentals-case .rental-file .rental-image img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
}

@media(max-width:899px){.portfolio .rentals-case .rental-file-frame>.rental-visual{width:100%;margin:0}.portfolio .rentals-case .rental-file-frame>.rental-file-info{padding:20px var(--case-inset);border:0;border-top:1px solid var(--line)}}
