@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/newsreader-latin-opsz-normal.6e4f2958c3.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-display:swap;font-weight:200 800;src:url(/fonts/newsreader-latin-opsz-italic.5dfcd10d24.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Karla';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/karla-latin-400-normal.250bb48fde.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Karla';font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/karla-latin-500-normal.42c6c969fa.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Karla';font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/karla-latin-600-normal.2ca9205edf.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body{margin:0;background:oklch(0.955 0.014 85);color:oklch(0.3 0.05 255);font-family:'Karla',sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
a{color:oklch(0.3 0.05 255);text-decoration:none}
@media (hover:hover){a:hover{color:oklch(0.5 0.17 12)}}
*{box-sizing:border-box}
[hidden]{display:none!important}
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:2px solid oklch(0.45 0.08 200);outline-offset:3px;border-radius:6px}
::selection{background:oklch(0.86 0.06 190);color:oklch(0.25 0.05 255)}
/* width/height attributes reserve space; without height:auto they would force a fixed CSS height. */
img{-webkit-user-drag:none;height:auto}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
button{-webkit-tap-highlight-color:transparent}

@keyframes lb-in{from{opacity:0;transform:scale(.97)}}
@keyframes hh-drop{from{opacity:0;transform:translateY(-6px)}}
@keyframes hh-enter{from{opacity:0;transform:translateY(10px)}}

/* Page enter: content fades up under a still header. */
@media (prefers-reduced-motion:no-preference){
  [data-enter]{animation:hh-enter .6s cubic-bezier(.16,1,.3,1) .04s backwards}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Header: full nav from 860px, compact controls below. */
.hh-narrow{display:none!important}
@media (max-width:859.98px){
  .hh-wide{display:none!important}
  .hh-narrow{display:flex!important}
}
@media (min-width:860px){
  #hh-mobile{display:none!important}
}
.hh-burger[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)!important}
.hh-burger[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)!important}

/* Contact form */
.hh-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.hh-status:not(:has(> p:not([hidden]))){margin-top:-20px}
#hh-turnstile:not(.is-visible){margin-top:-20px}
#contact-form[aria-busy="true"] button[type="submit"]{opacity:.7;cursor:progress}

/* Lightbox */
.hh-lb{position:fixed;inset:0;z-index:100;background:oklch(0.2 0.035 255 / 0.95);display:flex;align-items:center;justify-content:center;padding:64px clamp(64px,8vw,120px);overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
.hh-lb.is-narrow{padding:56px 0 96px}
.hh-lb img{display:block;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);animation:lb-in .35s cubic-bezier(.16,1,.3,1)}
.hh-lb-arrow{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-family:inherit}
.hh-lb-side{position:absolute;top:50%;transform:translateY(-50%)}
.hh-lb-prev{left:clamp(10px,2vw,32px)}
.hh-lb-next{right:clamp(10px,2vw,32px)}
.hh-lb-count{font-size:13px;letter-spacing:0.14em;color:rgba(255,255,255,.72)}
.hh-lb-count.is-side{position:absolute;bottom:22px;left:50%;transform:translateX(-50%)}
.hh-lb-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px calc(20px + env(safe-area-inset-bottom))}
.hh-lb-close{position:absolute;top:8px;right:10px;padding:14px 16px;border:0;background:transparent;color:#fff;font:inherit;font-size:14px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer}
@media (hover:hover){.hh-lb-arrow:hover{background:rgba(255,255,255,.08)}}
.hh-noscroll{overflow:hidden}

/* Long German compounds in headings carry soft hyphens for phones. Where they fit, never hyphenate. */
@media (min-width:600px){h1,h2{-webkit-hyphens:none;hyphens:none}}

/* Footer bottom row: one text baseline and a fixed line height, whatever font draws the arrows. */
.hh-foot,.hh-foot-links{align-items:baseline;line-height:1.4}

/* generated hover/focus styles */
@media (hover:hover){.hv1:hover{background:oklch(0.94 0.03 185) !important}}
@media (hover:hover){.hv2:hover{background:oklch(0.43 0.16 12) !important;color:oklch(0.98 0.008 85) !important}}
@media (hover:hover){.hv3:hover{transform:translateY(-3px) !important;box-shadow:0 24px 36px -22px rgba(31,47,69,.55) !important}}
@media (hover:hover){.hv4:hover{background:oklch(0.5 0.17 12) !important;color:oklch(0.99 0.005 85) !important}}
@media (hover:hover){.hv5:hover{color:oklch(0.86 0.05 190) !important}}
@media (hover:hover){.hv6:hover{color:oklch(0.88 0.07 15) !important}}
@media (hover:hover){.hv7:hover{background:oklch(1 0 0 / 0.1) !important;color:oklch(0.98 0.005 85) !important}}
@media (hover:hover){.hv8:hover{transform:translateY(-3px) !important}}
.fc9:focus{border-color:oklch(0.45 0.08 200) !important;box-shadow:0 0 0 3px oklch(0.45 0.08 200 / 0.18) !important}
@media (hover:hover){.hv10:hover{background:oklch(0.43 0.16 12) !important}}
