/* Photographs remain visible and uncropped while their frames settle in space. */
.catalog-head{position:relative}.catalog-head:after{content:'';position:absolute;left:240px;right:36px;bottom:22px;height:1px;background:linear-gradient(90deg,#e2493677,transparent 65%);transform-origin:left;pointer-events:none}.catalog-head.motion-seen:after{animation:field-line .9s cubic-bezier(.16,1,.3,1) both}.photo-card{perspective:1500px}.photo-surface{position:relative;display:block;overflow:hidden;transform:perspective(1500px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:center;transition:transform .22s ease-out;isolation:isolate}.photo-surface>img{display:block;width:100%;height:auto}.photo-surface:before{content:'';position:absolute;inset:0;border:1px solid #e2493600;opacity:0;pointer-events:none;transition:opacity .25s,border-color .25s}.photo-card:hover .photo-surface:before,.photo-card:focus-visible .photo-surface:before{border-color:#e2493666;opacity:1}.photo-surface:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff0d 49%,transparent 68%);opacity:0;pointer-events:none;clip-path:inset(0)}.photo-surface.frame-sweep:after{animation:frame-light .85s ease-out both}.photo-surface.is-tracking:after{opacity:.3;background:radial-gradient(ellipse at var(--light-x,50%) 0%,#ffffff0a,transparent 65%)}.photo-card:hover img{filter:none}.photo-caption{position:relative;padding-bottom:2px}.photo-caption:after{content:'';position:absolute;left:0;bottom:0;width:22px;height:1px;background:var(--red);opacity:0;transform:scaleX(.2);transform-origin:left;transition:opacity .25s,transform .4s}.photo-card:hover .photo-caption:after,.photo-card:focus-visible .photo-caption:after{opacity:.6;transform:scaleX(1)}.field-notes{perspective:1500px}.field-notes figure{transform:perspective(1500px) translate3d(0,var(--notes-depth,0px),0) rotateX(var(--notes-pitch,0deg));transform-origin:center;position:relative}.field-notes figure:after{content:'+';position:absolute;right:-18px;top:-20px;color:#e2493677;font-size:14px;pointer-events:none}.field-notes article>a{position:relative}.field-notes article>a:after{content:'';height:1px;background:#e2493666;position:absolute;left:0;right:0;bottom:5px;transform:scaleX(.2);transform-origin:left;transition:transform .4s}.field-notes article>a:hover:after{transform:scaleX(1)}.viewer-top,.viewer-bottom{position:relative;z-index:1}#viewer-image{transform-origin:center;will-change:auto}
@keyframes frame-light{0%{opacity:0;transform:translateX(-30%)}20%{opacity:.5}100%{opacity:0;transform:translateX(30%)}}
@keyframes field-line{from{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}
@media(min-width:1700px){#gallery{columns:3}}
@media(min-width:1600px){.catalog,.field-directory,.field-notes,.contact-grid,.footer{margin-left:calc((100vw - 1096px)/2);margin-right:calc((100vw - 1504px)/2)}.catalog-head{padding-left:calc((100vw - 1096px)/2);padding-right:calc((100vw - 1504px)/2);max-width:none}.catalog-head:after{left:calc((100vw - 1096px)/2);right:calc((100vw - 1504px)/2)}}
@media(min-width:1100px) and (min-height:700px){.field-notes figure{position:sticky;top:125px}}
@media(max-width:980px){.catalog-head:after{left:20px;right:20px;bottom:16px}.photo-surface{transform:none!important}.photo-surface.is-tracking:after{display:none}.photo-surface:before{inset:0}.field-notes figure:after{right:0;top:-24px}.field-notes figure{transform:translate3d(0,var(--notes-depth,0px),0)}}
@media(max-width:360px){.catalog-head:after{left:16px;right:16px}}
.motion-off .photo-surface,.motion-off .field-notes figure{transform:none!important}.motion-off .photo-surface:after,.motion-off .catalog-head:after{animation:none!important}.motion-off .photo-surface.frame-sweep:after{opacity:0}
@media(prefers-reduced-motion:reduce){.photo-surface,.field-notes figure{transform:none!important}.photo-surface:after,.catalog-head:after{animation:none!important}.photo-surface.frame-sweep:after{opacity:0}}
/* Spatial field edition — movement follows the viewport, never the wheel input. */
body{isolation:isolate}.field-atmosphere{position:fixed;inset:-50px 0 -160px;pointer-events:none;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 70% 44%,#25292b35,transparent 65%)}.field-atmosphere svg{width:100%;height:100%;fill:none;stroke:#a4adaf;stroke-width:.6;opacity:.085;transform:translate3d(0,var(--field-drift,0px),0);mask-image:linear-gradient(transparent 25%,#000 65%,transparent)}.catalog-head{border-bottom:0}.catalog-head>p:first-child{letter-spacing:.8px}.catalog-head h1{letter-spacing:-3px;text-shadow:0 0 35px #ffffff09}.catalog-head h1>span{color:#df5949}.photo-card{transform:perspective(1600px) translate3d(0,var(--field-y,0px),0) rotateX(var(--field-pitch,0deg));transform-origin:center}.photo-surface:before{z-index:2;opacity:.55;border:0;inset:0;background:linear-gradient(#d9d7d2aa,#d9d7d2aa) left top/16px 1px no-repeat,linear-gradient(#d9d7d2aa,#d9d7d2aa) left top/1px 16px no-repeat,linear-gradient(#d9d7d2aa,#d9d7d2aa) right bottom/16px 1px no-repeat,linear-gradient(#d9d7d2aa,#d9d7d2aa) right bottom/1px 16px no-repeat}.photo-card:hover .photo-surface:before{opacity:1}.photo-surface:after{z-index:1}.frame-label{position:absolute;top:9px;left:10px;z-index:2;font-size:7px;line-height:1.4;letter-spacing:.5px;color:#e0ddd5cc;background:#10111288;padding:3px 5px;pointer-events:none;transition:color .3s}.photo-card:hover .frame-label{color:#fff}.photo-caption{padding:13px 0 6px!important;font-size:8px!important;letter-spacing:.25px}.photo-caption:before{content:'';position:absolute;right:45px;top:21px;width:35px;height:1px;background:linear-gradient(90deg,transparent,#e2493655);transform-origin:right;transform:scaleX(.4);transition:transform .5s}.photo-card:hover .photo-caption:before{transform:scaleX(1)}.field-notes figure{padding:12px;border-top:1px solid #a2a4a42b;border-left:1px solid #a2a4a42b;background:linear-gradient(135deg,#fff03,transparent 40%)}.field-notes figure:after{content:'NM / FIELD RECORD 003';top:-19px;left:0;right:auto;font-size:7px;color:#b9aaa288;letter-spacing:1px}.field-notes figcaption{display:flex;justify-content:space-between;gap:10px}.field-notes figcaption:after{content:'01 — 03';color:#bd6258}.field-notes article{border-left:1px solid #ffffff12;padding-left:30px}.field-notes article>p:first-child:before{content:'+';color:var(--red);margin-right:10px}.field-notes article h2{font-size:clamp(23px,2.5vw,35px);font-weight:400;letter-spacing:-1px}
@media(max-width:980px){.catalog-head h1{letter-spacing:-1.8px}.field-notes article{padding-left:18px}.photo-caption:before{display:none}.field-atmosphere svg{opacity:.055}.frame-label{font-size:6px;top:7px;left:7px}.field-notes figure{padding:8px}.field-notes figure:after{font-size:6px}.field-notes article h2{font-size:24px}}
.motion-off .photo-card{transform:none!important}.motion-off .field-atmosphere svg{transform:none}.motion-off .field-notes figure{transform:none!important}
@media(prefers-reduced-motion:reduce){.photo-card,.field-atmosphere svg{transform:none!important}}
/* Native cross-page transitions keep links immediate and navigation conventional. */
@view-transition{navigation:auto}.header{view-transition-name:site-navigation}::view-transition-old(root){animation:field-page-out .28s ease-out both}::view-transition-new(root){animation:field-page-in .42s cubic-bezier(.16,1,.3,1) both}::view-transition-old(site-navigation),::view-transition-new(site-navigation){animation:none}
@keyframes field-page-out{to{opacity:0;transform:translateY(-5px)}}@keyframes field-page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
html.motion-off::view-transition-group(*),html.motion-off::view-transition-old(*),html.motion-off::view-transition-new(*){animation:none!important}
