/* K² — main stylesheet
   v4.3: the stacked v3.2–v4.1 override blocks were merged into one set of rules
   (same visual result, far fewer !important declarations). */

:root{--bg:#232323;--text:#b8b8b8;--pad:36px;--header-h:108px;--foot-bottom:33px}

/* Base */
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"Zalando Sans",Arial,Helvetica,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
body{position:relative;letter-spacing:.025em}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:1px solid currentColor;outline-offset:4px}
img{display:block;max-width:100%;height:auto}

/* Accessibility helpers */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed!important;z-index:10000;top:8px;left:8px;width:auto;height:auto;margin:0;padding:8px 12px;clip:auto;background:var(--bg);color:var(--text);font-size:12px;text-transform:uppercase}

/* Header */
.site-header{position:fixed;z-index:9999;top:0;left:0;right:0;height:var(--header-h);padding:36px var(--pad) 0;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.brand,.local-time,.back-link{pointer-events:auto}
.brand{font-size:46px;line-height:.72;font-weight:300;letter-spacing:.01em}
.brand sup{font-size:.48em;vertical-align:super;margin-left:2px}
.brand.has-logo{line-height:0}
.brand-logo{display:block;height:34px;width:auto;max-width:none}
.local-time,.back-link{font-size:12px;line-height:1;text-transform:uppercase;white-space:nowrap}

/* Homepage */
.home-main{position:relative;min-height:100vh;overflow:hidden}
.work-marquee{position:absolute;top:48%;left:0;width:100%;overflow:hidden;transform:translateY(-50%)}
.marquee-track{display:flex;width:max-content;will-change:transform}
.marquee-group{display:flex;flex:0 0 auto;align-items:center;gap:10px;padding-right:10px}
.project-slide{position:relative;display:block;flex:0 0 auto;height:354px;overflow:hidden;background:#191919}
.project-media,.project-media img{display:block;height:100%;width:auto}
.project-media img{max-width:none;object-fit:cover;filter:none!important;transform:none!important;opacity:1!important}
.project-slide::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:rgba(0,0,0,.20);transition:background .35s ease}
.project-slide:hover::after,.project-slide:focus-visible::after{background:rgba(0,0,0,.08)}
.project-slide:focus-visible{outline-offset:-1px}
/* Image-only slider: no link (hover lightens just like the project slider) */
.project-slide.is-static{cursor:default}
.k2-empty{position:relative;z-index:31;text-align:center;font-size:12px;text-transform:uppercase}

.home-contact{position:fixed;z-index:30;left:50%;top:48%;transform:translate(-50%,-50%);font-size:38px;line-height:1;font-weight:300;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:4px;cursor:copy}
.home-contact.is-copied::after{content:"COPIED";position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);font-size:9px;line-height:1;letter-spacing:.08em;white-space:nowrap;pointer-events:none}

/* Homepage is one fixed screen: no vertical scrolling, no bounce/overscroll on phones */
html:has(body.home){height:100%;overflow:hidden;overscroll-behavior:none}
body.home{position:fixed;inset:0;overflow:hidden;overscroll-behavior:none}
body.home .home-main{height:100%;min-height:0}
body.home.admin-bar{top:32px}
@media (max-width:782px){body.home.admin-bar{top:46px}}

/* Shared slogan text (homepage + project footer) */
.footer-copy-text{margin:0;padding:0;font-family:"Zalando Sans",Arial,Helvetica,sans-serif;font-size:17px;font-weight:300;font-style:normal;line-height:1.17;letter-spacing:.025em;text-transform:uppercase;max-width:850px}
.home-copy{position:fixed;left:var(--pad);bottom:var(--foot-bottom)}
.site-footer{position:fixed;right:var(--pad);bottom:calc(var(--foot-bottom) + 1px);font-size:11px;line-height:1}

/* Project page */
.project-page{display:grid;grid-template-columns:35% 65%;padding-top:162px;min-height:100vh;align-items:start}
.project-info{position:fixed;left:0;top:162px;width:35%;z-index:20;padding:0 36px}
.project-info h1{margin:0 0 17px;font-size:20px;line-height:1.05;font-weight:300;text-transform:uppercase}
.project-description{font-size:12px;line-height:1.25;max-width:300px}
.project-description p{margin:0}
.project-gallery{grid-column:2;min-width:0;align-self:start}
.project-visual,.project-content figure,.project-content .wp-block-image{margin:0 0 14px}
.project-gallery img,.project-content img{display:block;width:100%;height:auto;opacity:1!important;filter:none!important;transform:none!important;mix-blend-mode:normal!important}
.project-content{margin:0}
.project-content>*:first-child{margin-top:0}
.project-content>p{max-width:760px;padding-right:var(--pad);font-size:15px;line-height:1.4}
.project-content>p:empty{display:none}
.project-content .wp-block-image,.project-content .wp-block-image img{width:100%}

/* Project footer: same positions as the homepage footer */
.project-footer{position:relative;min-height:430px;background:var(--bg);color:var(--text);text-transform:uppercase}
.project-footer-copy{position:absolute;left:var(--pad);bottom:var(--foot-bottom)}
.project-footer-year{position:absolute;right:var(--pad);bottom:calc(var(--foot-bottom) + 1px);font-size:11px;line-height:1;white-space:nowrap}

/* Fallback pages (blog, archive, 404) */
.site-main{padding:calc(var(--header-h) + 54px) var(--pad) 120px;min-height:100vh}
.site-main .project-content{max-width:760px;margin:0 0 48px}
.site-main h1,.site-main h2{font-size:20px;line-height:1.05;font-weight:300;text-transform:uppercase;margin:0 0 17px}

/* Mobile */
@media (max-width:800px){
  :root{--pad:18px;--header-h:82px;--foot-bottom:22px}
  .site-header{padding-top:24px}
  .brand{font-size:38px}
  .brand-logo{height:28px}
  .local-time,.back-link{font-size:10px}

  .home-main{min-height:100svh}
  .work-marquee{top:50%}
  .project-slide{height:42vw;min-height:210px;max-height:330px}
  .home-contact{top:50%;font-size:clamp(20px,6vw,28px);padding-bottom:3px}
  .footer-copy-text{font-size:11px;max-width:78%}
  .site-footer{bottom:var(--foot-bottom);font-size:9px}

  .project-page{display:block;padding-top:200px}
  .project-info{position:relative;left:auto;top:auto;width:auto;padding:0 var(--pad) 42px}
  .project-info h1{font-size:18px}
  .project-description{max-width:340px}
  .project-gallery{padding-left:var(--pad)}
  .project-visual,.project-content figure,.project-content .wp-block-image{margin-bottom:8px}

  .project-footer{min-height:360px}
  .project-footer-year{bottom:var(--foot-bottom);font-size:9px}
}

/* Tablet: keep the slogan clear of the © year */
@media (min-width:801px) and (max-width:1100px){
  .footer-copy-text{max-width:calc(100vw - 2 * var(--pad) - 90px)}
}

/* Reduced motion: no auto-scroll, but the projects can be swiped/scrolled by hand */
@media (prefers-reduced-motion:reduce){
  .marquee-track{transform:none!important}
  .work-marquee{overflow-x:auto;scrollbar-width:none}
  .work-marquee::-webkit-scrollbar{display:none}
}
