/* V15: reserve actual photo geometry before lazy loading, in static and WordPress views. */
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;columns:auto;align-items:start}
.work-grid .project{display:block;width:100%;min-width:0;margin:0;overflow:hidden}
.work-grid .project img{display:block;width:100%;height:auto;aspect-ratio:1600/1067;object-fit:contain;contain-intrinsic-size:none}
.work-grid .project-caption{min-height:57px}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:1600/1067;contain-intrinsic-size:none}
@media(min-width:1001px){
 .hero{overflow:hidden}
 .hero:before{inset:-30px;filter:blur(20px);transform:scale(1.035);transform-origin:left center}
 .hero-photo{mask-image:linear-gradient(90deg,transparent 0%,#0000000d 10%,#00000038 21%,#00000085 32%,#000000d1 42%,#000 52%)}
}
.process{position:relative;isolation:isolate;overflow:hidden}
.process>.camera-illustration{position:absolute;right:5%;top:30px;width:min(59vw,780px);height:auto;opacity:.065;pointer-events:none;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000 28%,#000 80%,transparent)}
.services>.camera-tele{width:min(65vw,940px);right:3%;top:60px;opacity:.075}
.contact>.camera-compact{right:5%;width:min(56vw,760px);opacity:.075}
.page-optics .drone{top:25px;width:100%}
@media(max-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process>.camera-illustration{width:630px;right:-70px;top:75px;opacity:.05}}
@media(max-width:600px){.work-grid{grid-template-columns:minmax(0,1fr);gap:23px}.work-grid .project-caption{min-height:51px}.process>.camera-illustration{width:440px;right:-75px;opacity:.04}.services>.camera-tele,.contact>.camera-compact{width:470px;right:-90px;opacity:.055}}
/* Unaltered competition photograph at right, blurred referee/cage photograph at left. */
@media(min-width:1001px){
 .portfolio-hero{--hero-stage-height:clamp(480px,calc(76svh - 96px),820px)}
 .portfolio-hero:before{background-image:url("assets/portfolio-1786.webp");background-size:cover;background-position:left center;filter:blur(18px)}
 .portfolio-hero .hero-photo{mask-image:linear-gradient(90deg,transparent 0%,#00000022 4%,#00000066 9%,#000000cc 14%,#000 18%)}
 .portfolio-hero .hero-content{padding-top:clamp(45px,5vw,90px)}
 .portfolio-hero h1{font-size:clamp(48px,5.2cqw,94px);max-width:46%}
 .portfolio-hero .hero-intro{max-width:40%}
 .portfolio-hero:after{background:linear-gradient(90deg,#172016d9 0%,#172016b3 24%,#17201666 42%,transparent 65%),linear-gradient(0deg,#17201666,transparent 25%)}
}
@media(max-width:1000px){.portfolio-hero h1{font-size:clamp(38px,8.5vw,74px);max-width:100%}.portfolio-hero .hero-intro{max-width:100%}.portfolio-hero .hero-photo img{display:block;aspect-ratio:1600/1067;height:auto;contain-intrinsic-size:none}}

.mini-contact.sketch-panel{position:relative;isolation:isolate;overflow:hidden}.mini-contact.sketch-panel>.camera-illustration{position:absolute;width:min(54vw,660px);height:auto;right:6%;top:0;opacity:.06;z-index:-1;pointer-events:none}@media(max-width:600px){.mini-contact.sketch-panel>.camera-illustration{width:370px;right:-60px;opacity:.045}}
