/* An editorial project sheet; the gallery image becomes its opening frame. */
.project-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;box-shadow:none;background:transparent;color:var(--vf-cream);font-family:var(--vf-body);overflow:auto;overscroll-behavior:contain;isolation:isolate}
.project-dialog[open]{animation:none}
.project-dialog::backdrop{background:transparent;backdrop-filter:none}
.project-surface{position:relative;min-height:100%;background:var(--ink);opacity:var(--project-surface-alpha,1)}
.project-dialog .dialog-top{position:relative;z-index:4;min-height:72px;padding:14px var(--vf-gutter);border:0;opacity:var(--project-copy-alpha,1)}
.project-brand{display:block;width:132px;height:34px;object-fit:contain}
.project-dialog .dialog-close{width:44px;height:44px;color:var(--vf-cream);font:300 36px/1 var(--vf-body)}
.project-dialog-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);min-height:calc(100dvh - 72px)}
.project-dialog-image{position:relative;min-height:0;overflow:hidden}
.project-dialog-image img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:var(--project-position,60% 34%);visibility:var(--project-image-visibility,visible)}
.project-dialog-copy{padding:48px clamp(28px,5vw,88px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;opacity:var(--project-copy-alpha,1);transform:translateY(var(--project-copy-y,0px))}
.project-dialog-copy h2{font:900 clamp(40px,4.5vw,72px)/.94 var(--vf-display);letter-spacing:-.035em;text-transform:uppercase;white-space:pre-line;margin:0 0 22px}
.project-dialog .heading-dot{color:var(--vf-acid)}
.project-dialog-copy p{font:400 14px/1.6 var(--vf-body);color:#b9bdb4;max-width:420px;margin:0 0 24px}
.project-dialog-copy .project-cta{flex-shrink:0;margin-top:4px}
.project-flight{position:fixed;z-index:3;left:0;top:0;overflow:hidden;pointer-events:none;contain:layout paint;will-change:transform,width,height}
.project-flight[hidden]{display:none}
.project-flight img{width:100%;height:100%;object-fit:cover;object-position:var(--project-position,60% 34%)}
.project-flight::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,8,.7),rgba(7,11,8,.05) 75%),linear-gradient(0deg,#080d0b 2%,rgba(8,13,11,.88) 15%,rgba(8,13,11,.34) 38%,transparent 66%);opacity:calc(1 - var(--project-travel,0))}
@media(max-width:700px){
 .project-dialog .dialog-top{min-height:64px;padding:10px 20px}
 .project-brand{width:112px;height:29px}
 .project-dialog-content{display:block;min-height:calc(100dvh - 64px)}
 .project-dialog-image{height:clamp(230px,49svh,520px);min-height:0}
 .project-dialog-image::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,var(--ink));pointer-events:none}
 .project-flight::before{content:'';position:absolute;z-index:1;inset:65% 0 0;background:linear-gradient(transparent,var(--ink));opacity:var(--project-travel,0)}
 .project-dialog-copy{position:relative;z-index:1;padding:0 20px max(24px,env(safe-area-inset-bottom));margin-top:-12px}
 .project-dialog-copy h2{font-size:clamp(36px,10vw,48px);margin:0 0 16px;line-height:.95}
 .project-dialog-copy p{font-size:13px;line-height:1.55;margin:0 0 16px}
}
@media(max-width:700px) and (max-height:650px){.project-dialog-image{height:42svh}.project-dialog-copy h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.project-dialog *{transition:none!important;animation:none!important}}
