/* Project/gallery rules measured from EFFEKT's captured project source. */
.k2y-effekt-project { margin:0; }
.k2y-effekt-slideshow { position:relative; margin:0 3rem; background:#fff; }
.k2y-effekt-slides { position:relative; width:100%; aspect-ratio:16/9; max-height:calc(100svh - var(--k2y-header-height,82px) - 4rem); overflow:visible; touch-action:pan-y; }
.k2y-effekt-slide { position:absolute; inset:0; margin:0; overflow:hidden; background:#fff; }
.k2y-effekt-slide[hidden] { display:none; }
.k2y-effekt-slide img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; user-select:none; -webkit-user-drag:none; }
.k2y-effekt-slide.is-current { animation:k2y-project-enter .24s ease-out; }
@keyframes k2y-project-enter { from { opacity:0; } to { opacity:1; } }
.k2y-effekt-gallery-arrow { position:absolute; z-index:2; top:0; bottom:0; display:flex; align-items:center; padding:0; background:none; border:0; cursor:pointer; color:#fff; }
.k2y-effekt-gallery-arrow[hidden] { display:none; }
.k2y-effekt-gallery-prev { left:-3rem; padding-left:calc(17px + 3rem); padding-right:10%; }
.k2y-effekt-gallery-next { right:-3rem; padding-right:calc(17px + 3rem); padding-left:10%; }
.k2y-effekt-gallery-arrow svg { display:block; width:21.25px; height:auto; }
.k2y-effekt-gallery-arrow:hover svg { opacity:.8; }
.k2y-effekt-project-toolbar { display:flex; align-items:center; padding:1.25rem 0; color:#111; }
.k2y-effekt-project-toolbar > div { width:20%; z-index:2; }
.k2y-effekt-project-toolbar .k2y-effekt-project-slide-title { width:60%; text-align:center; }
.k2y-effekt-project-counter { display:flex; margin-right:auto; font-family:inherit; font-size:20px; font-weight:500; line-height:110%; }
.k2y-effekt-project-tools { display:flex; justify-content:flex-end; align-items:center; margin-left:auto; white-space:nowrap; }
.k2y-effekt-project-tools a,.k2y-effekt-project-tools button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; padding:0; border:0; color:#888; background:none; cursor:pointer; text-decoration:none; }
.k2y-effekt-project-tools button { margin-left:1.5rem; }
.k2y-effekt-project-tools svg { display:block; height:20px; width:auto; }
.k2y-effekt-project-tools [data-effekt-grid] svg { fill:currentColor; }
.k2y-effekt-project-tools [data-effekt-fullscreen] svg,.k2y-effekt-project-tools .k2y-effekt-project-info svg { stroke:currentColor; }
.k2y-effekt-project-tools a:hover,.k2y-effekt-project-tools button:hover { color:#111; }
.k2y-effekt-icon-close { display:none; }
.k2y-effekt-project-thumbnails[hidden] { display:none; }
.k2y-effekt-project-thumbnails { position:fixed; inset:0; z-index:30; overflow:auto; background:rgba(255,255,255,.97); animation:k2y-project-enter .35s ease-out; }
.k2y-effekt-project-thumbnails-inner { padding:1.5rem 3rem; margin:0 auto; }
.k2y-effekt-project-thumbnails-menu { display:flex; justify-content:flex-end; padding-bottom:1.5rem; }
.k2y-effekt-project-thumbnails-menu button { padding:0; border:0; background:none; cursor:pointer; color:#929292; }
.k2y-effekt-project-thumbnails-menu button:hover { color:#111; }
.k2y-effekt-project-thumbnails-menu svg { width:28px; height:28px; display:block; }
.k2y-effekt-project-thumbnails-menu path { stroke:currentColor; stroke-width:1.8; }
.k2y-effekt-project-thumbnails-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(243.43px,1fr)); gap:1.5rem; }
.k2y-effekt-project-thumbnails-grid button { padding:0; border:0; background:#fff; box-shadow:0 5px 15px rgba(0,0,0,.085); cursor:pointer; aspect-ratio:16/9; overflow:hidden; }
.k2y-effekt-project-thumbnails-grid img { display:block; width:100%; height:100%; object-fit:cover; transition:opacity .24s ease-out; }
.k2y-effekt-project-thumbnails-grid button:hover img { opacity:.75; }
.k2y-project-list-open,.k2y-project-fullscreen { overflow:hidden; }
.k2y-project-list-open .k2y-header { z-index:0; }
.k2y-effekt-project-info-section { padding:5.84rem 3rem; margin:0 auto; background:#fff; scroll-margin-top:var(--k2y-header-height,82px); }
.k2y-effekt-project-copy { width:50%; margin:0 auto; }
.k2y-effekt-project-copy h1 { margin:0 0 1.4rem; }
.k2y-effekt-project-narrative { margin-top:5rem; }
.k2y-effekt-project-narrative p { max-width:none; }
.k2y-effekt-project-narrative img { display:none; }
.k2y-effekt-project-narrative iframe,.k2y-effekt-project-narrative video { max-width:100%; }
.k2y-effekt-project-facts { display:flex; flex-wrap:wrap; margin:5.84rem .5rem 0; }
.k2y-effekt-project-facts hr { border:0; border-top:4px solid #111; width:100%; margin:1rem -.5rem; flex:1 100%; }
.k2y-effekt-project-facts h3 { flex:1 25%; font-size:inherit; margin:0; font-weight:600; line-height:1.6; }
.k2y-effekt-project-facts p { flex:1 75%; margin:0; overflow-wrap:anywhere; }
.k2y-effekt-slideshow :focus-visible,.k2y-effekt-project-thumbnails :focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.k2y-project-fullscreen .k2y-header { visibility:hidden; }
.k2y-project-fullscreen .k2y-effekt-slideshow { position:fixed; inset:0; z-index:40; width:100%; height:100%; margin:0; background:#fff; }
.k2y-effekt-slideshow:fullscreen { width:100%; height:100%; margin:0; background:#fff; }
.k2y-project-fullscreen .k2y-effekt-slides,.k2y-effekt-slideshow:fullscreen .k2y-effekt-slides { width:100%; height:100%; max-height:none; aspect-ratio:auto; }
.k2y-project-fullscreen .k2y-effekt-slide img,.k2y-effekt-slideshow:fullscreen .k2y-effekt-slide img { object-fit:cover; }
.k2y-project-fullscreen .k2y-effekt-project-toolbar,.k2y-effekt-slideshow:fullscreen .k2y-effekt-project-toolbar { position:absolute; right:0; bottom:0; width:100%; padding:0; }
.k2y-project-fullscreen .k2y-effekt-project-counter,.k2y-project-fullscreen .k2y-effekt-project-slide-title,.k2y-project-fullscreen [data-effekt-info],.k2y-project-fullscreen [data-effekt-grid] { display:none; }
.k2y-project-fullscreen .k2y-effekt-project-tools { width:auto; }
.k2y-project-fullscreen [data-effekt-fullscreen] { display:flex; margin:0; padding:15.5px 20px; background:#fff; }
.k2y-project-fullscreen .k2y-effekt-icon-open { display:none; }
.k2y-project-fullscreen .k2y-effekt-icon-close { display:block; }
.k2y-project-fullscreen .k2y-effekt-gallery-prev { left:0; padding-left:17px; }
.k2y-project-fullscreen .k2y-effekt-gallery-next { right:0; padding-right:17px; }
.k2y-project-fullscreen .k2y-effekt-gallery-arrow svg { visibility:hidden; }
@media(max-width:1280px) { .k2y-effekt-gallery-arrow svg { width:19.125px; } }
@media(max-width:1024px) { .k2y-effekt-project-tools button { margin-left:1rem; } }
@media(max-width:800px) { .k2y-effekt-gallery-arrow svg { width:17px; } }
@media(max-width:640px) {
	.k2y-effekt-slideshow { margin:0 auto; }
	.k2y-effekt-slides { aspect-ratio:3/2; max-height:none; }
	.k2y-effekt-gallery-arrow { display:none; }
	.k2y-effekt-project-toolbar { padding:.75rem 1.5rem; }
	.k2y-effekt-project-counter { margin-right:0; margin-left:auto; justify-content:flex-end; }
	.k2y-effekt-project-toolbar .k2y-effekt-project-slide-title,.k2y-effekt-project-tools { display:none; }
	.k2y-effekt-project-info-section { padding:1.5rem; }
	.k2y-effekt-project-copy { width:100%; }
	.k2y-effekt-project-narrative { margin-top:2rem; }
	.k2y-effekt-project-facts { flex-direction:column; margin-top:2rem; }
	.k2y-effekt-project-facts h3 { margin-bottom:.4rem; }
	.k2y-effekt-project-thumbnails-inner { padding:1.5rem; }
	.k2y-effekt-project-thumbnails-grid { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); }
	.k2y-project-fullscreen .k2y-effekt-project-tools { display:flex; }
}
@media(prefers-reduced-motion:reduce) {
	.k2y-effekt-slide.is-current,.k2y-effekt-project-thumbnails { animation:none; }
	.k2y-effekt-project-thumbnails-grid img { transition:none; }
}
