/* Artwork stays in its original portrait ratio; the page remains dark. */
:root{color-scheme:dark;}
.work-gallery{padding:70px 0 74px;overflow:hidden;}
.gallery-heading{text-align:center;margin-bottom:24px;}
.gallery-eyebrow{max-width:none;width:100%;margin-inline:auto;text-align:center;font-size:11px;letter-spacing:.22em;font-weight:600;color:var(--red);margin-bottom:18px;}
#work .section-title{max-width:900px;margin-inline:auto;text-align:center;font-size:clamp(30px,3.4vw,52px);}
#work .section-sub{max-width:560px;margin:18px auto 24px;}
.gallery-rows{display:grid;gap:0;width:110%;margin:50px -5%;transform:rotate(-3deg);transform-origin:center;}
.gallery-row{padding-block:18px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;}
.gallery-row::-webkit-scrollbar{display:none;}
.gallery-track,.gallery-group{display:flex;width:max-content;align-items:stretch;}
.gallery-group{gap:18px;padding-right:18px;}
.gallery-card{position:relative;display:block;flex:0 0 auto;width:clamp(190px,18vw,270px);aspect-ratio:4/5;background:transparent;overflow:hidden;border-radius:5px;border:0;isolation:isolate;transition:transform .35s cubic-bezier(.2,.7,.25,1),box-shadow .25s;}
.gallery-card img{display:block;width:100%;height:100%;object-fit:contain;}
.gallery-expand{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#131313dd;color:white;border:0;font-size:22px;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;}
.gallery-card:hover .gallery-expand,.gallery-card:focus-visible .gallery-expand{opacity:1;transform:none;}
@media(hover:hover) and (pointer:fine){.gallery-card:hover{transform:scale(1.055);box-shadow:0 0 0 2px var(--red);z-index:2;}}
.gallery-card:focus-visible{outline:2px solid var(--red);outline-offset:0;transform:scale(1.055);z-index:2;}
.artwork-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:22px clamp(16px,4vw,64px);border:0;background:#090909f5;color:#f6f3f3;overflow:hidden;}
.artwork-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;}
.artwork-viewer::backdrop{background:#070707e8;backdrop-filter:blur(14px);}
.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;}
#artwork-title{font-size:15px;font-weight:500;margin:0 0 4px;}
#artwork-count,.viewer-bottom{font-size:12px;color:#aaa;}
.viewer-top button,.viewer-stage button{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border:1px solid #ffffff30;border-radius:50%;background:#191919;color:white;font-size:25px;}
.viewer-top button:hover,.viewer-stage button:hover{background:var(--red);border-color:var(--red);}
.viewer-stage{min-height:0;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:24px;touch-action:pan-y pinch-zoom;}
#artwork-image{display:block;min-height:0;min-width:0;width:100%;height:100%;object-fit:contain;user-select:none;}
.viewer-bottom a{color:#f6f3f3;text-decoration:underline;text-underline-offset:4px;}
html.viewer-open,html.viewer-open body{overflow:hidden;}
/* Native pointer stays visible in the browser's dialog top layer. */
html.designer-pointer .artwork-viewer,html.designer-pointer .artwork-viewer *{cursor:auto!important;}
html.designer-pointer .artwork-viewer button,html.designer-pointer .artwork-viewer a{cursor:pointer!important;}
html.viewer-open .design-cursor{opacity:0!important;}
#contact{scroll-margin-top:110px;}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:600px){.work-gallery{padding:52px 0;}.gallery-heading{margin-bottom:28px;}.gallery-rows{gap:0;margin-block:24px;transform:rotate(-3deg);}.gallery-row{padding-block:12px;}.gallery-group{gap:12px;padding-right:12px;}.gallery-card{width:53vw;max-width:240px;}.gallery-expand{opacity:1;width:30px;height:30px;font-size:18px;}.artwork-viewer{padding:16px 12px;}.viewer-stage{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px;}.viewer-stage button{width:32px;height:40px;font-size:20px;}#artwork-title{font-size:13px;}.viewer-bottom{font-size:11px;}}
@media(prefers-reduced-motion:reduce){.gallery-group[aria-hidden]{display:none;}.gallery-expand,.gallery-card{transition:none;}}
