/* Measured EFFEKT source metrics. Arial is the approved temporary font. */
html { box-sizing:border-box; font-size:clamp(.9rem,.867rem + .148vw,1rem); scroll-behavior:smooth; }
*, *::before, *::after { box-sizing:inherit; }
body { margin:0; background:#fff; color:#716f6f; font-family:Arial,sans-serif; font-size:clamp(.9rem,.867rem + .148vw,1rem); font-weight:300; font-style:normal; letter-spacing:0; line-height:157%; }
p { font-size:clamp(.9rem,.867rem + .148vw,1rem); line-height:157%; margin:0 0 1em; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; color:inherit; }
button { cursor:pointer; }
img { max-width:100%; height:auto; }
figure { margin:0; }
h1, h2 { font-family:"Helvetica Neue",Arial,sans-serif; font-weight:400; font-style:normal; letter-spacing:0; color:#111; }
h1 { font-size:clamp(1.925rem,1.4rem + 2.333vw,3.5rem); line-height:118%; margin:1.75rem 0 1.4rem; }
h2 { font-size:clamp(1.778rem,1.641rem + .61vw,2.19rem); line-height:126%; margin:1.095rem 0 .876rem; }
h3 { color:#404040; font-size:clamp(1.116rem,1.075rem + .184vw,1.24rem); font-weight:500; line-height:120%; margin:.62rem 0; }
b, strong { font-weight:500; }
[hidden] { display:none !important; }
.k2y-sr-only { position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.k2y-skip-link { position:fixed; top:0; left:1.5rem; z-index:100000; padding:.7rem 1rem; transform:translateY(-120%); background:#fff; color:#111; }
.k2y-skip-link:focus { transform:none; }
:focus-visible { outline:2px solid #111; outline-offset:4px; }
.k2y-header { position:fixed; top:0; left:0; z-index:20; width:100%; background:#fff; transition:opacity .24s ease-in,background-color .24s ease-in; }
.k2y-header__row { display:flex; align-items:center; padding:1.5rem 3rem 0; }
.k2y-brand { display:flex; align-items:center; flex:0 0 130px; width:130px; }
.k2y-brand a, .k2y-brand img { display:block; width:100%; height:auto; }
.k2y-brand .custom-logo-link { max-width:130px; }
.k2y-brand .k2y-logo-original { filter:invert(1); }
.k2y-navigation { margin-left:auto; }
.k2y-nav-list, .k2y-secondary-navigation ul, .k2y-mobile-nav-list, .k2y-footer-nav { list-style:none; padding:0; margin:0; }
.k2y-nav-list { display:flex; align-items:center; }
.k2y-nav-list li + li { padding-left:1.1rem; }
.k2y-nav-list a { display:block; white-space:nowrap; font-size:1.65rem; font-weight:500; line-height:100%; letter-spacing:0; color:#888; transition:color .24s ease-out; }
.k2y-nav-list a:hover, .k2y-nav-list .current-menu-item a, .k2y-nav-list .current-menu-ancestor a, .k2y-nav-list a[aria-current] { color:#111; }
.k2y-secondary-navigation { display:flex; padding:.36rem 3rem 1.5rem; }
.k2y-secondary-navigation ul { display:flex; flex-wrap:wrap; justify-content:flex-end; margin-left:auto; }
.k2y-secondary-navigation li + li { padding-left:.95rem; }
.k2y-secondary-navigation a { font-size:1.15rem; font-weight:400; letter-spacing:.05rem; line-height:110%; color:#888; transition:color .24s ease-out; }
.k2y-secondary-navigation a:hover, .k2y-secondary-navigation a[aria-current] { color:#111; }
.k2y-header__spacer { height:1.86rem; }
.k2y-home--hero .k2y-header { position:absolute; background:transparent; }
.k2y-home--hero .k2y-nav-list a { color:#fff; }
.k2y-home--hero .k2y-nav-list a:hover { color:rgba(255,255,255,.65); }
.k2y-home--hero .k2y-brand .k2y-logo-original { filter:none; }
.k2y-effekt-project-page .k2y-header { position:absolute; }
.k2y-effekt-work .k2y-header { position:static; }
.k2y-content { padding:calc(var(--k2y-header-height,6rem) + 1.5rem) 3rem 1.5rem; max-width:2017px; margin:0 auto; }
.k2y-homepage { padding-top:var(--k2y-header-height,6rem); }
.k2y-home--hero .k2y-homepage { padding-top:0; }
.k2y-effekt-project { padding-top:var(--k2y-header-height,6rem); }
.k2y-project-id-1690 { --k2y-project-focal:50% 75%; }
.k2y-footer { color:#444; }
.k2y-footer__inner { display:flex; flex-wrap:wrap; gap:1rem 2rem; max-width:2017px; margin:auto; padding:3rem; }
.k2y-footer__inner p { margin:0; }
.k2y-footer__inner a { border-bottom:1px solid rgba(68,68,68,.2); }
.k2y-footer__inner a:hover { border-color:#444; }
.k2y-footer-nav { display:flex; flex-wrap:wrap; gap:1rem; }
.k2y-back-top { padding:0 3rem; text-align:right; }
.k2y-back-top a { display:inline-flex; padding:.5rem; color:#929292; transition:color .24s ease-out; }
.k2y-back-top a:hover { color:#111; }
.k2y-back-top svg { display:block; width:10px; height:17px; }
.k2y-back-top .fill { fill:currentColor; }
.k2y-back-top .stroke { stroke:currentColor; }
.k2y-mobile-navigation { position:fixed; inset:0; z-index:19; overflow:auto; background:rgba(255,255,255,.95); }
.k2y-mobile-nav-list { position:absolute; width:100%; top:50%; transform:translateY(-50%); text-align:center; }
.k2y-mobile-nav-list li { padding:1rem 0; }
.k2y-mobile-nav-list a { font-size:2.25rem; font-weight:500; line-height:100%; color:#888; transition:color .24s ease-out; }
.k2y-mobile-nav-list a:hover, .k2y-mobile-nav-list .current-menu-item a, .k2y-mobile-nav-list a[aria-current] { color:#111; }
.k2y-menu-open { overflow:hidden; }
.k2y-menu-open .k2y-header { position:fixed; background:transparent; }
.k2y-menu-open .k2y-brand .k2y-logo-original { filter:invert(1); }
.k2y-menu-open .k2y-secondary-navigation { opacity:0; pointer-events:none; }
.hamburger { display:none; border:0; border-radius:0; padding:0; background:none; cursor:pointer; margin-left:auto; line-height:0; }
/* Source hamburger geometry and spring animation, with a native button. */
.hamburger-box { display:inline-block; position:relative; width:26px; height:20px; }
.hamburger-inner { background:#111; top:50%; display:block; margin-top:-3px; }
.hamburger-inner,.hamburger-inner:after,.hamburger-inner:before { position:absolute; width:26px; height:3px; will-change:transform,background-color,top; transition:transform .15s ease; }
.hamburger-inner:after,.hamburger-inner:before { display:block; content:""; background-color:#111; }
.hamburger-inner:before { top:-8px; }
.hamburger-inner:after { bottom:-8px; }
.hamburger--spring .hamburger-inner { top:3px; transition:background-color 0s linear .13s; }
.hamburger--spring .hamburger-inner:before { top:8px; transition:top .1s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19),background-color 0s linear .13s; }
.hamburger--spring .hamburger-inner:after { top:16px; transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19),background-color 0s linear .13s; }
.is-active .hamburger-inner { transition-delay:.22s; background-color:transparent !important; }
.is-active .hamburger-inner:before { top:0; transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .15s,transform .13s cubic-bezier(.215,.61,.355,1) .22s; transform:translate3d(0,10px,0) rotate(45deg); }
.is-active .hamburger-inner:after { top:0; transition:top .2s cubic-bezier(.33333,0,.66667,.33333),transform .13s cubic-bezier(.215,.61,.355,1) .22s; transform:translate3d(0,10px,0) rotate(-45deg); }
.k2y-home--hero .hamburger-inner,.k2y-home--hero .hamburger-inner:before,.k2y-home--hero .hamburger-inner:after { background-color:#fff; }
.k2y-menu-open .hamburger-inner,.k2y-menu-open .hamburger-inner:before,.k2y-menu-open .hamburger-inner:after { background-color:#111; }
.admin-bar .k2y-header { top:32px; }
.admin-bar .k2y-mobile-navigation { top:32px; }
@media(max-width:782px) { .admin-bar .k2y-header,.admin-bar .k2y-mobile-navigation { top:46px; } }
@media(max-width:640px) {
 .k2y-header__row { padding:1.5rem; }
 .k2y-brand { flex-basis:97.5px; width:97.5px; }
 .k2y-brand .custom-logo-link { max-width:97.5px; }
 .k2y-secondary-navigation,.k2y-header__spacer { display:none; }
 .k2y-menu-ready .k2y-navigation { display:none; }
 .k2y-menu-ready .hamburger { display:inline-block; }
 .k2y-navigation .k2y-nav-list { flex-wrap:wrap; justify-content:flex-end; gap:.5rem; }
 .k2y-navigation .k2y-nav-list li+li { padding-left:.5rem; }
 .k2y-navigation .k2y-nav-list a { font-size:1rem; }
 .k2y-footer__inner { padding:1.5rem; }
 .k2y-back-top { padding:0 1.5rem; }
 .k2y-content { padding-right:1.5rem; padding-left:1.5rem; }
}
@media(max-height:380px) { .k2y-mobile-nav-list { position:relative; top:auto; transform:none; padding-top:5rem; padding-bottom:1.5rem; } .k2y-mobile-nav-list li { padding:.6rem 0; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
