:root{
  --blue:#1B4DD8; --blue-deep:#0E2E8C; --blue-ink:#0A1B47;
  --orange:#F5A623; --orange-deep:#E08A00;
  --ink:#141A26; --dim:#5A6478; --line:rgba(20,26,38,.1);
  --paper:#FBFBFC; --panel:#FFFFFF; --steel:#EDF1F7;
  --disp:'Barlow Condensed',sans-serif; --sans:'Inter',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
:root{color-scheme:light only;}
html{background:var(--paper);scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;overflow-x:hidden;}
::selection{background:var(--orange);color:var(--ink);}
img{max-width:100%;display:block;}
a{color:inherit;}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
.rv.on{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;}}

/* TOPBAR */
.topbar{background:var(--blue);color:#fff;font-size:.86rem;font-weight:500;position:relative;z-index:201;}
.topbar .in{max-width:1180px;margin:0 auto;padding:9px clamp(16px,4vw,40px);display:flex;gap:24px;justify-content:flex-end;flex-wrap:wrap;}
.topbar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:7px;}
.topbar a:hover{color:var(--orange);}
@media(max-width:600px){.topbar .in{justify-content:center;gap:16px;font-size:.8rem;}}

/* NAV */
nav{position:sticky;top:0;z-index:200;background:var(--paper);border-bottom:1px solid var(--line);isolation:isolate;}
@supports(backdrop-filter:blur(10px)){nav{background:rgba(251,251,252,.92);backdrop-filter:blur(10px);}}
nav .in{max-width:1180px;margin:0 auto;padding:12px clamp(16px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand img{height:44px;width:auto;}
.nav-links{display:flex;align-items:center;gap:6px;}
.nav-links a{text-decoration:none;font-family:var(--disp);font-weight:600;font-size:1.02rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink);padding:10px 16px;border-radius:8px;transition:color .2s,background .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--blue);background:var(--steel);}
.nav-cta{background:var(--orange)!important;color:var(--ink)!important;}
.nav-cta:hover{background:var(--orange-deep)!important;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.burger span{width:26px;height:2px;background:var(--ink);transition:.3s;}
@media(max-width:860px){
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--panel);border-bottom:1px solid var(--line);
    padding:14px clamp(16px,4vw,40px);gap:4px;transform:translateY(-120%);transition:transform .3s;box-shadow:0 20px 40px -20px rgba(0,0,0,.25);z-index:200;}
  .nav-links.open{transform:translateY(0);}
  .nav-links a{width:100%;}
  .burger{display:flex;}
}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:600;font-size:1.1rem;letter-spacing:.04em;
  text-transform:uppercase;text-decoration:none;padding:15px 30px;border-radius:10px;cursor:pointer;border:none;transition:transform .2s,background .2s,box-shadow .2s;}
.btn.orange{background:var(--orange);color:var(--ink);box-shadow:0 12px 28px -12px rgba(245,166,35,.7);}
.btn.orange:hover{transform:translateY(-2px);background:var(--orange-deep);}
.btn.blue{background:var(--blue);color:#fff;box-shadow:0 12px 28px -12px rgba(27,77,216,.6);}
.btn.blue:hover{transform:translateY(-2px);background:var(--blue-deep);}
.btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);}
.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.1);}

/* SECTION BASICS */
section{padding:clamp(56px,8vw,100px) clamp(16px,4vw,40px);}
.wrap{max-width:1180px;margin:0 auto;}
.eyebrow{font-family:var(--disp);font-weight:600;font-size:1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);
  display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;}
.eyebrow::before{content:'';width:30px;height:3px;background:var(--orange);border-radius:2px;}
h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:1.05;letter-spacing:-.01em;}
h2{font-size:clamp(1.9rem,4.6vw,3.2rem);text-transform:uppercase;}
.lead{color:var(--dim);font-size:1.1rem;max-width:620px;margin-top:16px;}

/* FOOTER */
footer{background:var(--blue-ink);color:#fff;}
.footmap{width:100%;height:340px;border:0;display:block;filter:grayscale(.2);}
.footgrid{max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,64px) clamp(16px,4vw,40px);
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,56px);}
@media(max-width:820px){.footgrid{grid-template-columns:1fr;gap:32px;}}
.footgrid img{height:52px;width:auto;margin-bottom:18px;background:#fff;padding:8px 12px;border-radius:8px;}
.footgrid h4{font-family:var(--disp);font-weight:600;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;color:var(--orange);}
.footgrid p,.footgrid a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.95rem;line-height:1.9;}
.footgrid a:hover{color:#fff;}
.footgrid ul{list-style:none;}
.copyright{border-top:1px solid rgba(255,255,255,.14);padding:20px clamp(16px,4vw,40px);text-align:center;
  font-size:.84rem;color:rgba(255,255,255,.55);}
.copyright a{color:rgba(255,255,255,.7);text-decoration:none;margin:0 8px;}
.copyright a:hover{color:#fff;}

/* Preview-Modus (iframe ?preview=1): Scroll-Reveals sofort sichtbar, Animationen ruhen */
.is-preview [data-reveal],
.is-preview .rv,
.is-preview .reveal,
.is-preview [class*="reveal"]{opacity:1!important;transform:none!important;transition:none!important;}
.is-preview .scrolldown{animation:none!important;}

/* Preview: kein internes Scrollen, Header nicht sticky (Standbild) */
.is-preview, .is-preview body { overflow: hidden !important; position: static !important; }
.is-preview header, .is-preview nav, .is-preview .nav, .is-preview .topbar, .is-preview .navbar { position: static !important; }

/* Preview: Hero nicht an Viewport-Hoehe binden */
.is-preview .hero{min-height:600px!important;}
