/* Project collection and native, proportion-preserving media blocks. */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fg-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.fg-project-card.project-card{min-height:0;aspect-ratio:1.36;padding:28px;isolation:isolate}
.fg-project-card.project-card:before{content:none}
.fg-project-card .fg-project-cover{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1);margin:0}
.fg-project-card .fg-project-cover{object-position:var(--fg-cover-x,50%) var(--fg-cover-y,50%)}
.fg-project-card .card-caption-shade{background:linear-gradient(to bottom,transparent,rgba(12,8,17,.34) 38%,rgba(12,8,17,.78))}
.fg-project-card .fg-project-caption{position:relative;z-index:3;padding-right:36px}
.fg-project-caption h3{font-size:clamp(23px,2.6vw,38px);font-weight:400;letter-spacing:-.045em;line-height:1.08;margin:0 0 10px;text-wrap:balance;text-shadow:0 2px 16px #0007}
.fg-project-caption p{font-size:14px;line-height:1.5;color:#ffffffe0}
.fg-project-card .fg-project-open{position:absolute;right:24px;bottom:28px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff40;border-radius:50%;background:#ffffff12;backdrop-filter:blur(12px);font-size:22px}
.fg-project-card:focus-visible{outline:2px solid white;outline-offset:5px}
@media(hover:hover){.fg-project-card:hover .fg-project-cover{transform:scale(1.045)}}
.project-detail{position:relative;padding-top:145px;padding-bottom:70px;min-height:75vh}
.project-back{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid #ffffff28;border-radius:999px;background:linear-gradient(135deg,#ffffff14,#ffffff05);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:13px;color:#ffffffcf;transition:background .2s,transform .2s}
.project-detail>.project-back{margin-bottom:26px}
.project-back:hover{background:#ffffff1a;transform:translateX(-3px)}
.project-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px;align-items:start}
.project-gallery>*{grid-column:1/-1;min-width:0}
.project-gallery>figure.project-media{grid-column:span 6;position:relative;margin:0;padding:10px;overflow:hidden;border-radius:24px;border:1px solid #ffffff26;background:linear-gradient(135deg,#ffffff0f,#ffffff03);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px 0 #ffffff1a,0 18px 55px #0000001c}
.project-gallery>figure.is-portrait{grid-column:span 4}
.project-gallery>figure.is-panoramic,.project-gallery>figure.project-lead,.project-gallery>figure:first-child{grid-column:1/-1}
.project-gallery>figure img,.project-gallery>figure video{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;border-radius:15px;margin:0}
.project-gallery>figure video{background:#100d13;max-height:80svh}
.project-gallery>figure.project-lead{padding:0;background:linear-gradient(135deg,#ffffff06,#ffffff01)}
.project-gallery>figure.project-lead img{border-radius:23px}
.project-gallery figcaption{padding:12px 8px 3px;color:var(--muted);font-size:13px;line-height:1.6}
.project-bottom-nav{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:58px}
.project-next{text-align:right;max-width:65%}
.project-next span{display:block;font-size:11px;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}
.project-next strong{font-size:clamp(20px,3vw,34px);font-weight:400;letter-spacing:-.04em}
.single-fg_project .site-menu li:first-child{position:relative}
.single-fg_project .site-menu li:first-child:after{content:"";position:absolute;bottom:4px;left:calc(50% - 2.5px);width:5px;height:5px;border-radius:50%;background:white;box-shadow:0 0 12px #ffffff80}
main{transition:opacity .14s ease}
main.page-leaving{opacity:0}
.project-detail,.nav-arrival main{animation:fg-page-in .3s ease both}
.project-detail.page-leaving,.nav-arrival main.page-leaving{animation:none;opacity:0}
@keyframes fg-page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.project-gallery{gap:18px}.project-gallery>figure.is-portrait{grid-column:span 6}}
@media(max-width:700px){.fg-project-grid{grid-template-columns:1fr;gap:20px}.fg-project-card.project-card{padding:22px;aspect-ratio:1.2}.fg-project-caption h3{font-size:29px}.project-detail{padding-top:140px}.project-gallery{gap:18px}.project-gallery>figure.project-media{grid-column:1/-1;border-radius:18px;padding:7px}.project-gallery>figure.project-lead{padding:0}.project-gallery>figure img,.project-gallery>figure video{border-radius:12px}.project-gallery>figure.project-lead img{border-radius:17px}.project-bottom-nav{align-items:flex-start;flex-direction:column}.project-next{text-align:left;max-width:100%}}
@media(prefers-reduced-motion:reduce){.project-detail,.nav-arrival main{animation:none!important}main,.fg-project-cover{transition:none!important}}

/* Mixed widths flow naturally into the available space. */
.project-gallery{--media-gap:28px;display:flex;flex-wrap:wrap;gap:var(--media-gap);align-items:flex-start}
.project-gallery>*{width:100%;max-width:100%;min-width:0}
.project-gallery>figure.project-media{flex:0 0 auto;width:min(100%,var(--fg-size,100%));align-self:var(--fg-vertical,flex-start)}
.project-gallery>figure.project-media img,.project-gallery>figure.project-media video{width:100%!important;height:auto!important}
.project-gallery>.project-row-break{flex-basis:100%;height:0;margin:calc(var(--media-gap) / -2) 0}
.fg-project-card .fg-project-caption{padding-right:0}
.fg-project-card .fg-project-open{top:20px;right:20px;bottom:auto;width:48px;height:48px;font-size:0;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.23);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 30px rgba(0,0,0,.15);transition:transform .25s ease,box-shadow .25s ease}
.fg-project-open:before{content:"";width:21px;height:21px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M6 6h12v12' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M6 6h12v12' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.project-next.project-back{flex-direction:column;align-items:flex-start;gap:5px;text-align:left}
.project-next.project-back span{font-size:10px;letter-spacing:.08em;margin:0}
.project-next.project-back strong{font-size:14px;line-height:1.4;letter-spacing:0;font-weight:400}
.project-back:focus-visible{outline:2px solid white;outline-offset:4px}
@media(hover:hover){.fg-project-card:hover .fg-project-open{transform:translate(2px,-2px) scale(1.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 14px 34px rgba(0,0,0,.22)}}
@media(max-width:900px){.project-gallery{--media-gap:18px}}
@media(max-width:700px){.project-gallery>figure.project-media{width:100%}.fg-project-card .fg-project-open{width:44px;height:44px;top:16px;right:16px}.project-next.project-back{max-width:100%}}

/* Native WordPress containers own positioning; media share one glass surface. */
.fg-project-card .fg-project-open{display:flex;align-items:center;justify-content:center;line-height:0;padding:0}
.fg-project-open:before{content:none}
.fg-project-open svg{display:block;flex:none;width:21px;height:21px;margin:0;transform:none}
.project-gallery{display:block}
.project-gallery>*,.project-gallery>.fg-native-grid{margin-top:0;margin-bottom:28px}
.project-gallery>figure.project-media{width:100%}
.project-gallery .fg-native-grid{gap:28px;align-items:stretch}
.project-gallery .fg-project-composition{gap:28px;align-items:flex-start}
.project-gallery .wp-block-column{min-width:0}
.project-gallery .wp-block-column>*{margin-top:0;margin-bottom:28px}
.project-gallery figure.project-media{box-sizing:border-box;position:relative;min-width:0;max-width:none;margin-top:0;padding:10px;border-radius:24px;border:1px solid #ffffff26;background:linear-gradient(135deg,#ffffff0f,#ffffff03);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px 0 #ffffff1a,0 18px 55px #0000001c;overflow:hidden}
.project-gallery .fg-native-grid>figure.project-media{width:100%;margin:0}
.project-gallery .wp-block-column>figure.project-media{width:100%}
.project-gallery figure.project-media img,.project-gallery figure.project-media video{display:block;width:100%!important;max-width:none!important;height:auto!important;max-height:none;object-fit:contain;border-radius:14px;margin:0}
.project-gallery figure.wp-block-video>:is(div,.wp-video),.project-gallery .wp-video,.project-gallery .mejs-container,.project-gallery .mejs-inner,.project-gallery .mejs-mediaelement{border-radius:14px;overflow:hidden;max-width:100%;width:100%!important}
.project-gallery figure.project-lead{padding:0}
.project-gallery figure.project-lead img{border-radius:23px}
.project-gallery>figure.project-media{margin-bottom:28px}
.project-gallery .fg-native-grid>figure.project-media{align-self:start}
.project-gallery .fg-native-grid>.wp-block-gallery.is-cropped{align-self:stretch}
.project-gallery .wp-block-gallery.is-cropped figure.project-media{height:100%;margin:0}
.project-gallery .wp-block-gallery.is-cropped figure.project-media img{height:100%!important;object-fit:cover}
.project-sibling-links{display:flex;gap:12px;justify-content:flex-end}
.project-sibling-links .project-back{flex:1;min-width:0;max-width:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}
.project-sibling-links .project-back span{font-size:10px;letter-spacing:.08em;margin:0;color:var(--muted)}
.project-sibling-links .project-back strong{font-size:14px;line-height:1.4;letter-spacing:0;font-weight:400}
.project-sibling-links .project-back :is(span,strong){width:100%;text-align:center;overflow-wrap:anywhere}
.project-gallery figure.wp-block-video{--video-radius:14px}
.project-gallery figure.wp-block-video video,.project-gallery figure.wp-block-video :is(.wp-video,.mejs-container,.mejs-inner,.mejs-mediaelement,.mejs-poster,.mejs-overlay){border-radius:var(--video-radius);clip-path:inset(0 round var(--video-radius));-webkit-clip-path:inset(0 round var(--video-radius))}
.project-gallery figure.wp-block-video :fullscreen{border-radius:0;clip-path:none;-webkit-clip-path:none}
@media(max-width:781px){.project-gallery figure.wp-block-video{--video-radius:10px}}
.project-gallery figure.project-media:has(>figcaption:not(:empty)){display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;gap:clamp(12px,2vw,28px);container-type:inline-size}
.project-gallery figure.project-media>figcaption{margin:0;padding:14px 12px 14px 0;text-align:left;overflow-wrap:anywhere;font-size:clamp(12px,2.8cqi,20px);line-height:1.65;color:#e5dfe8}
.project-gallery .wp-block-gallery figure.project-media>figcaption{position:static;width:auto;max-height:none;background:none;box-sizing:border-box}
.project-media:after{content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(360px circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff38,#ffffff0f 22%,transparent 55%);transition:opacity .28s ease}
@media(hover:hover){.project-media.is-hovered:after{opacity:1}}
.project-media:focus-within:after{opacity:.65}
@media(max-width:781px){.project-gallery>figure.project-media{margin-bottom:18px}.project-gallery .wp-block-gallery.is-cropped figure.project-media img{height:auto!important}.project-sibling-links{width:100%}.project-gallery figure.project-media:has(>figcaption:not(:empty)){grid-template-columns:1fr;gap:4px}.project-gallery figure.project-media>figcaption{padding:12px 8px;font-size:14px}}
@media(max-width:781px){.project-gallery .fg-native-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px}.project-gallery .fg-native-grid>*{grid-column:1/-1!important;grid-row:auto!important}.project-gallery .fg-project-composition{gap:18px}.project-gallery .wp-block-column>*,.project-gallery>*{margin-bottom:18px}.project-gallery figure.project-media{padding:7px;border-radius:18px}.project-gallery figure.project-media img,.project-gallery figure.project-media video,.project-gallery .wp-video,.project-gallery .mejs-container{border-radius:10px}.project-gallery figure.project-lead{padding:0}}
