/* Sandy Photography — derived from V10 assets/styles.css (viewer). Do not edit tokens here; use Elementor Site Settings. */
body.sandy-surface-viewer:not(.elementor-editor-active){overflow:hidden;height:100dvh}
.viewer{width:100%;height:100dvh;position:relative;isolation:isolate;background:var(--sandy-paper)}
.focus-stage{position:absolute;z-index:2;inset:clamp(51px,5.3vh,80px) 8vw 3vh 11.5vw;display:flex;justify-content:center;align-items:center;pointer-events:none}
.focus-figure{display:block;position:relative;max-width:100%;max-height:100%;margin:0;flex:0 0 auto;pointer-events:auto;transition:transform .45s var(--sandy-ease)}
.focus-figure img{display:block;width:100%;height:100%;object-fit:contain;opacity:1;transition:opacity .26s ease;box-shadow:none}
.focus-figure img.is-loading{opacity:.12}
.focus-title{position:absolute;left:calc(100% + 11px);top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;white-space:nowrap;text-transform:none;font:400 11px/1.1 var(--sandy-body);max-height:80%;pointer-events:none}
.thumb-rail{position:fixed;top:0;bottom:0;left:0;z-index:20;width:clamp(154px,13vw,230px);overflow:auto hidden;scrollbar-width:none;overscroll-behavior:contain;padding:0;mask-image:linear-gradient(to bottom,transparent 0%,black 4%,black 89%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 4%,black 89%,transparent 100%)}
.thumb-rail::-webkit-scrollbar{display:none}
.thumb-track{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:50dvh 0;min-height:100%}
.thumb{position:relative;flex:0 0 auto;display:flex;justify-content:center;align-items:center;width:70px;min-height:43px;max-height:90px;background:transparent;border:0;padding:0;margin-left:15px;--mag:0;transform:translate3d(calc(var(--mag)*76px),0,0) scale(calc(1 + var(--mag)*.33));transform-origin:left center;transition:transform .18s ease,opacity .18s ease;margin-block:calc(var(--mag)*5px);will-change:transform}
.thumb img{max-width:65px;max-height:89px;height:auto;width:auto;object-fit:contain;box-shadow:0 0 0 0 transparent;transition:box-shadow .25s;pointer-events:none}
.thumb[aria-current="true"] img{box-shadow:0 0 0 1px rgba(0,0,0,.32)}
.thumb:hover{z-index:3}
.thumb:focus-visible{outline:2px solid #111;outline-offset:5px}
.top-back{position:fixed;top:19px;right:clamp(18px,2.3vw,54px);z-index:18;font:900 clamp(22px,2vw,35px)/1 var(--sandy-display);letter-spacing:-.03em}
.top-back:hover{text-decoration:underline;text-underline-offset:5px}
.photo-details{position:fixed;bottom:21px;z-index:18;font:400 clamp(10px,.75vw,12px)/1.25 var(--sandy-body);text-transform:none;letter-spacing:0;pointer-events:none}
.photo-exif{left:clamp(15px,5.7vw,140px);max-width:35%;text-align:left}
.photo-caption{right:clamp(16px,2.4vw,50px);max-width:28%;text-align:right}
.photo-caption strong{display:block;font-weight:600;margin-bottom:3px}
.photo-caption span{display:block}
.focus-mist{z-index:11;height:clamp(110px,20vh,215px)}
.focus-nav{position:fixed;top:48%;z-index:16;padding:12px 8px;border:0;background:transparent;font:400 28px/1 var(--sandy-body);opacity:0;transition:opacity .2s}
.viewer:hover .focus-nav,.focus-nav:focus-visible{opacity:.55}
.focus-prev{left:clamp(130px,10vw,200px)}
.focus-next{right:2vw}
.focus-nav:hover{opacity:1!important}
@media (max-width:900px){.focus-stage{inset:65px 3vw 14vh 13vw}.thumb-rail{width:155px}.thumb{margin-left:10px}.focus-title{font-size:10px}.photo-caption{max-width:37%}.photo-exif{left:80px;max-width:40%}}
@media (max-width:650px){.viewer{height:100dvh}.focus-stage{inset:12vh 18px 20vh 18px;align-items:center}.focus-figure img{max-width:100%;max-height:100%}.focus-title{left:calc(100% + 5px);font-size:9px}.top-back{top:17px;right:17px;font-size:23px}.thumb-rail{top:auto;bottom:0;left:0;right:0;width:100%;height:130px;overflow-x:auto;overflow-y:hidden;mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent)}.thumb-track{padding:0 50vw;flex-direction:row;align-items:flex-start;height:100%;width:max-content;gap:9px}.thumb{margin:9px 0;min-width:58px;width:auto;max-width:92px;min-height:52px;max-height:75px;transform:translate3d(0,calc(var(--mag)* -32px),0) scale(calc(1 + var(--mag)*.20));transform-origin:center bottom;margin-inline:calc(var(--mag)*2px)}.thumb img{max-width:80px;max-height:70px}.focus-nav{display:none}.focus-mist{height:190px}.photo-details{bottom:135px;font-size:9px}.photo-exif{left:14px;max-width:46%}.photo-caption{right:14px;max-width:45%}.photo-caption span{display:none}}
.thumb{height:82px;min-height:82px;max-height:82px;width:82px;min-width:82px;max-width:82px;
  flex:0 0 82px;margin:0 0 0 12px;transform:translate3d(calc(var(--mag)*13px),0,0) scale(calc(1 + var(--mag)*.105));
  transform-origin:left center;transition:transform .28s cubic-bezier(.2,.75,.25,1);will-change:auto}
.thumb-track{gap:12px}
.thumb img{max-width:72px;max-height:77px;object-fit:contain}
.thumb[aria-current="true"] img{box-shadow:0 0 0 1px rgba(0,0,0,.28)}
.focus-next-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateY(9px);transition:opacity .46s ease,transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.focus-next-photo.is-visible{opacity:1;transform:translateY(0)}
.focus-figure{transition:width .52s cubic-bezier(.2,.8,.2,1),height .52s cubic-bezier(.2,.8,.2,1)}
@media (max-width:650px){.thumb-track{gap:9px;align-items:center;padding:0 50vw}.thumb{height:75px;min-height:75px;max-height:75px;width:73px;min-width:73px;max-width:73px;
    flex:0 0 73px;margin:0;transform:translate3d(0,calc(var(--mag)* -10px),0) scale(calc(1 + var(--mag)*.09));
    transform-origin:center bottom}.thumb img{max-width:65px;max-height:67px}}
@media (prefers-reduced-motion:reduce){.focus-next-photo{transition:none}}
.has-gsap .focus-figure{transition:none}
.thumb{transform:translate3d(calc(var(--mag)*18px),0,0) scale(calc(1 + var(--mag)*.085));transition:transform .24s var(--motion-arrive);margin-block:0;}
.thumb:hover{z-index:4}
@media (max-width:650px){.thumb{transform:translate3d(0,calc(var(--mag)*-8px),0) scale(calc(1 + var(--mag)*.07));}}
.focus-next-photo{transition:none}
@media (prefers-reduced-motion:reduce){.thumb{transform:none!important}}
.thumb-rail{mask-image:linear-gradient(to bottom,black 0%,black 87%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,black 0%,black 87%,transparent 100%);
  overflow-y:auto;overflow-x:hidden;scroll-behavior:auto!important;scroll-snap-type:none!important}
.thumb-track{position:relative;padding:0!important;gap:9px;min-height:0;align-items:flex-start;}
.thumb{height:81px;min-height:81px;max-height:81px;margin:0 0 0 12px!important;
  transform:translate3d(calc(var(--mag)*11px),0,0) scale(calc(1 + var(--mag)*.065));
  transition:transform .22s cubic-bezier(.2,.8,.22,1);}
.thumb img{max-width:73px;max-height:75px;object-fit:contain;}
.focus-figure,.focus-figure img,.focus-next-photo{transition:none!important;animation:none!important;}
.focus-figure img{opacity:1!important;transform:none!important;}
.focus-next-photo{display:none!important;}
@media (max-width:650px){.thumb-rail{overflow-x:auto;overflow-y:hidden;
    mask-image:linear-gradient(to right,black 0%,black 91%,transparent 100%);
    -webkit-mask-image:linear-gradient(to right,black 0%,black 91%,transparent 100%)}.thumb-track{padding:0!important;gap:8px;height:100%;width:max-content;align-items:center;}.thumb{height:74px;min-height:74px;max-height:74px;width:72px;min-width:72px;max-width:72px;
    margin:0!important;transform:translate3d(0,calc(var(--mag)*-6px),0) scale(calc(1 + var(--mag)*.055));}.thumb img{max-width:68px;max-height:68px}}
@media (prefers-reduced-motion:reduce){.thumb{transform:none!important}}
.thumb-rail{overflow:hidden!important;touch-action:none;cursor:grab;
  overscroll-behavior:contain;user-select:none;-webkit-user-select:none}
.thumb-rail.is-dragging{cursor:grabbing}
.thumb-track{display:flex;flex-direction:column;align-items:flex-start;position:relative;
  gap:12px!important;padding:0!important;will-change:transform;transform:translate3d(0,0,0);}
.thumb{flex:0 0 80px;width:80px!important;min-width:80px!important;max-width:80px!important;
  height:80px!important;min-height:80px!important;max-height:80px!important;
  margin:0 0 0 12px!important;--mag:0;
  transform:translate3d(calc(var(--mag)*5px),0,0) scale(calc(1 + var(--mag)*.04));
  transition:transform .19s cubic-bezier(.2,.78,.25,1);transform-origin:left center;}
.thumb img{max-width:72px!important;max-height:74px!important;pointer-events:none;}
@media (max-width:650px){.thumb-rail{overflow:hidden!important;touch-action:none;cursor:grab;}.thumb-track{flex-direction:row;align-items:center;width:max-content;height:100%;gap:9px!important;}.thumb{flex:0 0 73px;width:73px!important;min-width:73px!important;max-width:73px!important;
   height:73px!important;min-height:73px!important;max-height:73px!important;margin:0!important;
   transform:translate3d(0,calc(var(--mag)*-5px),0) scale(calc(1 + var(--mag)*.035));
   transform-origin:center bottom;}.thumb img{max-width:68px!important;max-height:68px!important;}}
@media (prefers-reduced-motion:reduce){.thumb{transform:none!important;transition:none!important}}
.nav-svg{width:27px;height:27px;object-fit:contain;display:block;pointer-events:none}
.focus-nav{display:grid;place-items:center;min-width:42px;min-height:44px}
.focus-nav:active{opacity:1!important}
.focus-info-toggle{position:fixed;z-index:26;top:68px;right:15px;border:0;background:transparent;padding:8px;width:36px;height:36px;display:grid;place-items:center}
.focus-info-toggle img{width:21px;height:21px;object-fit:contain;pointer-events:none}
.sandy-surface-viewer.details-hidden .photo-details{opacity:0;pointer-events:none}
.photo-details{transition:opacity .22s ease}
@media (max-width:650px){.focus-info-toggle{top:55px;right:10px}}
.focus-nav{z-index:24;opacity:.65;min-width:44px;min-height:44px}
.focus-prev{left:calc(clamp(154px,13vw,230px) + 12px)}
@media (max-width:900px) and (min-width:651px){.focus-prev{left:167px}}
@media (max-width:650px){.focus-nav{display:grid;top:46%}.focus-prev{left:7px}.focus-next{right:7px}}
