@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#f1f1ef;--white:#fff;--ink:#0b0b0b;--muted:#777;--line:#d5d5d2;--font:"DM Sans",sans-serif;--gutter:clamp(18px,4vw,64px);--max:1440px;--header-h:76px;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}h1,h2,h3,p{margin:0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:var(--gutter);top:10px;background:#000;color:#fff;padding:10px;z-index:100}
header{position:relative;width:100%;background:var(--bg)}.content{height:var(--header-h);max-width:var(--max);margin:auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between}.logo img{height:36px;width:auto}.nav-group{display:flex;align-items:center}.menu{display:flex;gap:30px}.menu a{text-decoration:none}.navlabel{font-size:12px;font-weight:500;letter-spacing:.01em}.lang-toggle{border:0;background:none;padding:0;margin-left:28px;font:500 11px var(--font);cursor:pointer;color:var(--ink);-webkit-appearance:none;appearance:none}.menu a,.lang-toggle{transition:opacity .2s ease}.menu a:hover,.lang-toggle:hover{opacity:.45}.logo a:hover{opacity:.65}
footer{margin-top:clamp(35px,5vw,65px);padding:22px 0;border-top:1px solid var(--line)}.footer-content{max-width:var(--max);margin:auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer-content p,.footer-content a{font-size:10px;color:#777;text-decoration:none}.footer-links{display:flex;gap:18px}.footer-content a:hover{color:var(--ink)}
#custom-cursor{width:12px;height:12px;border-radius:50%;background:#000;position:fixed;left:0;top:0;pointer-events:none;z-index:999;transform:translate(-50%,-50%);opacity:0;transition:width .2s var(--ease),height .2s var(--ease),opacity .2s}.cursor-ready #custom-cursor{opacity:1}.cursor-hover #custom-cursor{width:26px;height:26px}@media(hover:none),(pointer:coarse){#custom-cursor{display:none!important}}
@media(max-width:640px){.content{height:68px}.logo img{height:31px}.menu{gap:14px}.navlabel{font-size:10px}.lang-toggle{margin-left:12px;font-size:10px}.footer-content{align-items:flex-start;flex-direction:column;gap:7px}}

/* ------------------------------------------------ mobile navigation */
.menu-toggle{display:none;border:0;background:none;padding:10px 0 10px 14px;margin:0;cursor:pointer;width:34px;height:34px;position:relative;z-index:110}
.menu-toggle span{display:block;width:18px;height:1px;background:var(--ink);position:absolute;left:14px;transition:transform .25s var(--ease),top .25s var(--ease)}
.menu-toggle span:first-child{top:13px}.menu-toggle span:last-child{top:20px}
.mobile-menu{display:none}
@media(max-width:640px){
  body.menu-open{overflow:hidden}
  .content{height:64px;padding-left:18px;padding-right:18px}
  .logo img{height:29px}
  .nav-group{gap:0}
  .menu{display:none}
  .lang-toggle{font-size:10px;margin-left:0;padding:8px 0;width:28px;text-align:right}
  .menu-toggle{display:block}
  .mobile-menu{position:fixed;inset:64px 0 0;background:var(--bg);z-index:100;display:flex;align-items:flex-start;padding:26px 18px 40px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
  .mobile-menu nav{width:100%;display:flex;flex-direction:column;border-top:1px solid var(--line)}
  .mobile-menu a{display:flex;align-items:center;min-height:72px;border-bottom:1px solid var(--line);text-decoration:none;font-size:clamp(30px,9vw,44px);font-weight:500;letter-spacing:-.045em;line-height:1}
  body.menu-open .mobile-menu{opacity:1;visibility:visible;transform:translateY(0)}
  body.menu-open .menu-toggle span:first-child{top:17px;transform:rotate(45deg)}
  body.menu-open .menu-toggle span:last-child{top:17px;transform:rotate(-45deg)}
  footer{margin-top:30px;padding:18px 0}
  .footer-content{padding:0 18px;gap:6px}
  .footer-links{gap:14px;flex-wrap:wrap}
}
@media(min-width:641px){.mobile-menu{display:none!important}}
