@font-face{font-family:Libre Franklin;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/libre-franklin.woff2)format("woff2")}@font-face{font-family:Sora;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/sora.woff2)format("woff2")}:root{--font-display:"Sora", system-ui, sans-serif;--font-body:"Libre Franklin", system-ui, sans-serif;--s-1:4px;--s-2:8px;--s-3:16px;--s-4:24px;--s-5:32px;--s-6:48px;--s-7:64px;--s-8:96px;--s-9:128px;--r-sm:8px;--r-md:12px;--r-lg:16px;--bg:#f7f8fa;--surface:#fff;--neutral:#eef1f4;--line:#dce0e6;--ink:#23272e;--ink-soft:#3f454e;--muted:#5c6370;--gold:#af8a46;--gold-text:#835f20;--graphite:#23272e;--footer-bg:#15181d;--on-dark:#f4f6f8d1;--gold-on-dark:#cda35d;--nav-h:76px;--shadow-rest:0 1px 2px #14181f0a, 0 8px 24px #14181f0f;--shadow-hover:0 2px 6px #14181f14, 0 18px 40px #14181f1f;--ease:cubic-bezier(.22, .61, .36, 1);--t:.2s}:root[data-theme=dark]{--bg:#15181d;--surface:#1e222a;--neutral:#1b1f26;--line:#2d333c;--ink:#eceef1;--ink-soft:#c7cbd2;--muted:#99a1ad;--gold:#c79a4f;--gold-text:#d3ab64;--footer-bg:#0f1115;--on-dark:#f4f6f8d1;--shadow-rest:0 1px 2px #0000004d, 0 8px 24px #00000059;--shadow-hover:0 2px 6px #0006, 0 18px 40px #00000080}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink-soft);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background var(--t) var(--ease), color var(--t) var(--ease);font-size:18px;line-height:1.7}@media (width<=640px){body{font-size:16px}}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-weight:600;line-height:1.12}p{max-width:65ch}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}button{cursor:pointer;font-family:inherit}.container{width:100%;max-width:1200px;padding-inline:clamp(var(--s-3), 5vw, var(--s-4));margin-inline:auto}.section{padding-block:clamp(var(--s-7), 9vw, var(--s-8))}.section--neutral{background:var(--neutral)}.section--dark{background:var(--graphite);color:var(--on-dark)}:root[data-theme=dark] .section--dark{background:#11141a}.eyebrow{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text);margin-bottom:var(--s-3);font-size:.8rem;font-weight:600;display:inline-block}.eyebrow--center{text-align:center;display:block}.eyebrow--light{color:var(--gold-on-dark)}.heading{margin-bottom:var(--s-6)}.heading--center{text-align:center}.heading--center .heading__intro{margin-inline:auto}.heading__title{font-size:clamp(2rem,3.5vw,2.8rem)}.heading__intro{margin-top:var(--s-4);max-width:62ch}.lead{color:var(--muted);font-size:1.075rem;line-height:1.65}.btn{justify-content:center;align-items:center;gap:var(--s-2);font-family:var(--font-body);border-radius:var(--r-sm);transition:transform var(--t) var(--ease), background var(--t) var(--ease), border-color var(--t) var(--ease), box-shadow var(--t) var(--ease), color var(--t) var(--ease);white-space:nowrap;border:1px solid #0000;padding:.95em 1.6em;font-size:.98rem;font-weight:600;line-height:1;display:inline-flex}.btn--block{width:100%}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn:disabled:hover,.btn[disabled]:hover{filter:none;box-shadow:none;transform:none}.btn--primary{background:var(--gold);color:#1c1f25;box-shadow:var(--shadow-rest)}.btn--primary:hover{filter:brightness(1.04);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn--outline{color:var(--ink);border-color:var(--line);background:0 0}.btn--outline:hover{border-color:var(--gold);color:var(--gold-text);transform:translateY(-2px)}.btn--outline-light{color:#fff;backdrop-filter:blur(2px);background:#ffffff0f;border-color:#ffffff8c}.btn--outline-light:hover{background:#ffffff29;transform:translateY(-2px)}.reveal{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transition-delay:var(--reveal-delay,0s);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:-60px;left:var(--s-3);z-index:200;background:var(--gold);color:#1c1f25;padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);transition:top var(--t) var(--ease);font-weight:600;position:fixed}.skip-link:focus{top:var(--s-3)}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}.theme-toggle{border-radius:var(--r-sm);border:1px solid var(--line);width:40px;height:40px;color:var(--ink);transition:border-color var(--t) var(--ease), color var(--t) var(--ease), background var(--t) var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{border-color:var(--gold);color:var(--gold-text)}.theme-toggle .tt-sun{display:none}.theme-toggle .tt-moon,:root[data-theme=dark] .theme-toggle .tt-sun{display:block}:root[data-theme=dark] .theme-toggle .tt-moon{display:none}.link:hover{color:var(--gold-text)}.footer__office{margin-top:var(--s-3);letter-spacing:.02em;color:var(--gold-on-dark);font-size:.82rem;font-weight:600;display:block}.contact__dir{margin-top:6px;font-size:.88rem;display:inline-block}.field__req{color:var(--gold-text);font-weight:700}.field__optional{color:var(--muted);font-size:.85em;font-weight:400}.contact__required-note{color:var(--muted);margin-bottom:var(--s-3);font-size:.82rem}.contact__consent-hint{color:var(--gold-text);margin-top:var(--s-2);font-size:.82rem}.contact__phone-link{white-space:nowrap}.contact__msg .contact__phone-link,.contact__error .contact__phone-link{color:var(--gold-text);font-weight:600}.field__error{color:#c0392b;margin-top:6px;font-size:.82rem}[data-theme=dark] .field__error{color:#f1a9a0}.impressum__offices{gap:var(--s-4);margin:var(--s-4) 0;grid-template-columns:1fr 1fr;display:grid}.impressum__office{padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.impressum__office-label{letter-spacing:.04em;text-transform:uppercase;color:var(--gold-text);margin-bottom:var(--s-2);font-size:.8rem;font-weight:600;display:block}.impressum__addr{color:var(--ink-soft);font-style:normal;line-height:1.6}.addr-line{display:block}.footer__legal{gap:var(--s-4);flex-wrap:wrap;display:flex}.footer__legal a{color:#f4f6f899;font-size:.85rem}.footer__legal a:hover{color:var(--gold-on-dark)}@media (width<=560px){.impressum__offices{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}.reveal{opacity:1;transform:none}}.nav{z-index:100;background:var(--surface);border-bottom:1px solid var(--line);transition:box-shadow var(--t) var(--ease), background var(--t) var(--ease);position:sticky;top:0}.nav--scrolled{box-shadow:0 1px 0 var(--line), 0 6px 24px #14181f0f}.nav__inner{height:var(--nav-h);justify-content:space-between;align-items:center;gap:var(--s-4);display:flex}.nav__brand,.nav__logo-plate{align-items:center;display:inline-flex}.nav__logo{width:auto;height:46px;display:block}:root[data-theme=light] .nav__logo{mix-blend-mode:multiply}:root[data-theme=dark] .nav__logo{filter:invert();mix-blend-mode:screen}.nav__right{align-items:center;gap:clamp(var(--s-4), 3vw, var(--s-6));display:flex}.nav__links{align-items:center;gap:var(--s-5);display:flex}.nav__link{color:var(--ink-soft);transition:color var(--t) var(--ease);padding:4px 0;font-size:.95rem;font-weight:500;position:relative}.nav__link:after{content:"";background:var(--gold);transform-origin:0;width:100%;height:2px;transition:transform var(--t) var(--ease);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.nav__link:hover{color:var(--ink)}.nav__link:hover:after{transform:scaleX(1)}.nav__controls{align-items:center;gap:var(--s-3);display:flex}.nav__toggle{border:1px solid var(--line);border-radius:var(--r-sm);background:0 0;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;display:none}.nav__toggle-bar{background:var(--ink);width:20px;height:2px;transition:transform var(--t) var(--ease), opacity var(--t) var(--ease);margin-inline:auto;display:block}.nav--open .nav__toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.nav--open .nav__toggle-bar:nth-child(2){opacity:0}.nav--open .nav__toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav__panel{gap:var(--s-4);padding:var(--s-5) clamp(var(--s-3), 5vw, var(--s-4)) var(--s-6);border-top:1px solid var(--line);background:var(--surface);flex-direction:column;display:none}.nav--open .nav__panel{display:flex}.nav__panel-links{flex-direction:column;display:flex}.nav__panel-link{padding:var(--s-3) 0;color:var(--ink);border-bottom:1px solid var(--line);font-size:1.1rem;font-weight:500}.nav__panel-foot{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.lang{position:relative}.lang__button{border:1px solid var(--line);border-radius:var(--r-sm);height:40px;color:var(--ink);transition:border-color var(--t) var(--ease);background:0 0;align-items:center;gap:6px;padding:0 10px;font-size:.9rem;font-weight:600;display:inline-flex}.lang__button:hover{border-color:var(--gold)}.lang__chev{transition:transform var(--t) var(--ease)}.lang__chev.is-open{transform:rotate(180deg)}.lang__list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:190px;box-shadow:var(--shadow-hover);z-index:120;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.lang__option{border-radius:var(--r-sm);width:100%;color:var(--ink-soft);text-align:left;transition:background var(--t) var(--ease), color var(--t) var(--ease);background:0 0;border:0;align-items:center;gap:10px;padding:9px 10px;font-size:.92rem;display:flex}.lang__option:hover{background:var(--neutral);color:var(--ink)}.lang__option-short{width:24px;color:var(--gold-text);font-weight:700}.lang__option.is-active{color:var(--ink)}.lang__check{color:var(--gold-text);margin-left:auto}.lang-inline{flex-wrap:wrap;gap:6px;display:flex}.lang-inline__btn{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-soft);background:0 0;padding:8px 12px;font-size:.9rem;font-weight:600}.lang-inline__btn.is-active{background:var(--gold);color:#1c1f25;border-color:var(--gold)}@media (width<=900px){.nav__links,.nav__controls{display:none}.nav__toggle{display:flex}}.footer{background:var(--footer-bg);color:#f4f6f8bd;padding-top:clamp(var(--s-7), 7vw, var(--s-8))}.footer__grid{gap:var(--s-6);padding-bottom:var(--s-7);grid-template-columns:1.6fr 1fr 1fr 1fr;display:grid}.footer__brandmark{align-items:center;gap:var(--s-2);display:flex}.footer__logo{filter:invert();mix-blend-mode:screen;width:auto;height:44px;display:block}.footer__name{font-family:var(--font-display);letter-spacing:.04em;color:#fdfdfb;font-size:1.6rem;font-weight:700;display:block}.footer__label{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-on-dark);margin-top:4px;font-size:.66rem;font-weight:600;display:block}.footer__tagline{margin-top:var(--s-4);color:#f4f6f89e;max-width:34ch;font-size:.97rem;line-height:1.6}.footer__heading{letter-spacing:.14em;text-transform:uppercase;color:var(--gold-on-dark);margin-bottom:var(--s-4);font-size:.72rem;font-weight:700;display:block}.footer__col a,.footer__addr{color:#f4f6f8bd;margin-bottom:var(--s-2);transition:color var(--t) var(--ease);font-size:.96rem;font-style:normal;line-height:1.5;display:block}.footer__col a:hover{color:var(--gold-on-dark)}.footer__addr{margin-top:var(--s-3)}.footer__phone-note{color:#f4f6f88c;margin:0 0 var(--s-2);font-size:.72rem;display:block}.footer__hours{font-size:.96rem;line-height:1.5}.footer__hours--muted{color:#f4f6f880;margin-top:var(--s-2)}.footer__privacy{padding-bottom:var(--s-5);color:#f4f6f880;max-width:75ch;font-size:.82rem;line-height:1.5}.footer__bar{justify-content:space-between;align-items:center;gap:var(--s-3);padding-block:var(--s-5);color:#f4f6f88c;border-top:1px solid #f4f6f81f;font-size:.85rem;display:flex}@media (width<=820px){.footer__grid{gap:var(--s-6) var(--s-5);grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}@media (width<=480px){.footer__grid{grid-template-columns:1fr}.footer__bar{align-items:flex-start;gap:var(--s-1);flex-direction:column}}
