/* Portfolio V2: media remains visible while optional enhancements load. */
.showreel{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.reel-cover{display:block;width:100%;height:auto;min-width:0;min-height:0;aspect-ratio:16/9;align-self:center}
.reel-cover>picture{position:absolute;inset:0;width:100%;height:100%}
.reel-cover img{display:block;width:100%;height:100%;object-fit:contain}
.hero-copy,.hero-art,.reel-copy,.project-content,.contact-side{min-width:0}
main>section[id]{scroll-margin-top:100px}
.hero-fields{flex-wrap:wrap}
.contact-details a{overflow-wrap:anywhere}
a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.v2-media{position:relative}
.v2-media-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity .2s ease;background:linear-gradient(135deg,#edf1f5ee,#f7f6f2ee)}
.v2-media[data-media-state="loading"]>.v2-media-canvas,.v2-media[data-media-state="error"]>.v2-media-canvas{opacity:1}
.v2-media-status{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;text-align:center;font-size:12px;letter-spacing:.04em;color:var(--blue);pointer-events:none}
.v2-media-status[hidden]{display:none}
.video-preview-frame{opacity:0;transition:opacity .22s ease}
.preview-ready .video-preview-frame{opacity:1}
.preview-active:not(.preview-ready) .image-label{visibility:visible}
.preview-active:not(.preview-ready) .video-preview-status:before{content:"";display:inline-block;vertical-align:middle;width:14px;height:14px;margin-right:8px;border:2px dotted #d4ba8c;border-radius:50%;animation:preview-orbit 2s linear infinite}
@keyframes preview-orbit{to{transform:rotate(360deg)}}
.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:2px;z-index:110;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
.back-to-top{position:fixed;left:18px;bottom:18px;z-index:19;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#f5f6f8ed;color:var(--blue);box-shadow:0 3px 14px #2532440b;text-decoration:none;transition:opacity .2s,transform .2s;opacity:0;transform:translateY(8px);pointer-events:none;visibility:hidden}
.back-to-top.is-visible{opacity:1;transform:none;pointer-events:auto;visibility:visible}
body.modal-open .back-to-top{visibility:hidden}
.version-label{letter-spacing:.08em;color:var(--muted);font-size:10px}
@media(max-width:720px){.showreel{grid-template-columns:minmax(0,1fr)}main>section[id]{scroll-margin-top:88px}.back-to-top{left:12px;bottom:12px}.v2-media-status{font-size:11px;bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.v2-media-canvas,.video-preview-frame,.back-to-top{transition:none}.video-preview-status:before{animation:none!important}}

