/* miltnerKonzepte — main.css v1.0.0 */
*{box-sizing:border-box;margin:0;padding:0}
:root{--blue:#143C8C;--blue-dk:#0e2a63;--blue-lt:#e8eef8;--gray:#A0A0A0;--font:'Helvetica Neue',Helvetica,Arial,sans-serif}
html{font-family:var(--font);color:#1a1a1a;background:#fff;scroll-behavior:smooth}
img{max-width:100%;height:auto;display:block}

/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-left{opacity:0;transform:translateX(-40px);transition:opacity .7s ease,transform .7s ease}
.fade-left.visible{opacity:1;transform:translateX(0)}
.fade-right{opacity:0;transform:translateX(40px);transition:opacity .7s ease,transform .7s ease}
.fade-right.visible{opacity:1;transform:translateX(0)}
.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}
.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}.stagger-6{transition-delay:.6s}

/* NAV */
nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:13px 48px;border-bottom:.5px solid rgba(0,0,0,.1);background:rgba(255,255,255,.97);backdrop-filter:blur(8px);transition:box-shadow .3s}
nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.08)}
.logo-text-link{text-decoration:none}
.logo-main{font-size:17px;font-weight:500;letter-spacing:-.01em}
.logo-main .b{color:#143C8C}.logo-main .g{color:#A0A0A0}
.logo-sub{font-size:9px;color:#A0A0A0;letter-spacing:.07em;margin-top:1px}
.nav-links{display:flex;gap:4px;align-items:center}
.nav-links a{font-size:12px;color:#555;text-decoration:none;padding:6px 12px;border-radius:7px;transition:background .15s,color .15s}
.nav-links a:hover{background:#f0f0f0}
.nav-pill{background:#143C8C!important;color:#fff!important;font-weight:500!important}
.nav-pill:hover{background:#0e2a63!important}
.nav-ghost{border:.5px solid #ddd;color:#999!important;font-size:11px!important}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.nav-hamburger span{display:block;width:20px;height:2px;background:#143C8C;border-radius:2px;transition:all .3s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.hero-l{background:#143C8C;padding:80px 52px 72px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.hero-l::before{content:'';position:absolute;top:-60px;right:-60px;width:280px;height:280px;background:rgba(255,255,255,.03);border-radius:50%;pointer-events:none}
.hero-eyebrow{font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:16px;opacity:0;animation:fadeInDown .8s ease .3s forwards}
.hero-h1{font-size:48px;font-weight:500;line-height:1.08;color:#fff;margin-bottom:18px;letter-spacing:-.02em}
.hero-h1 .line{display:block;overflow:hidden}
.hero-h1 .line span{display:inline-block;transform:translateY(100%);opacity:0;animation:slideUp .7s cubic-bezier(.22,1,.36,1) forwards}
.hero-h1 .line:nth-child(1) span{animation-delay:.5s}
.hero-h1 .line:nth-child(2) span{animation-delay:.65s}
.hero-h1 .line:nth-child(3) span{animation-delay:.8s}
.hero-h1 .muted{opacity:.4}
.hero-body{font-size:14px;color:rgba(255,255,255,.62);line-height:1.8;margin-bottom:32px;max-width:360px;opacity:0;animation:fadeInUp .8s ease 1s forwards}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap;opacity:0;animation:fadeInUp .8s ease 1.1s forwards}
.btn-white{background:#fff;color:#143C8C;border:none;padding:12px 24px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);transition:transform .2s,background .2s}
.btn-white:hover{transform:translateY(-2px);background:#f0f4ff}
.btn-outline-w{background:transparent;color:#fff;border:.5px solid rgba(255,255,255,.35);padding:12px 24px;border-radius:8px;font-size:13px;cursor:pointer;font-family:var(--font);transition:transform .2s,border-color .2s}
.btn-outline-w:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.7)}
.hero-r{position:relative;overflow:hidden}
.hero-r img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:heroImgIn 1.2s ease .2s forwards}
.hero-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 28px;background:linear-gradient(transparent,rgba(10,22,60,.8));opacity:0;animation:fadeInUp .8s ease 1s forwards}
.hero-caption-tag{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:.08em;text-transform:uppercase}
.hero-caption-name{font-size:14px;font-weight:500;color:#fff;margin-top:3px}

@keyframes slideUp{to{transform:translateY(0);opacity:1}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroImgIn{to{transform:scale(1)}}

/* USP BAR */
.usp-bar{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:.5px solid #e8e8e8}
.usp-item{padding:22px 32px;border-right:.5px solid #e8e8e8}
.usp-item:last-child{border-right:none}
.usp-val{font-size:26px;font-weight:500;color:#143C8C;letter-spacing:-.02em}
.usp-label{font-size:11px;color:#888;margin-top:3px}

/* SECTIONS */
.section{padding:64px 52px}
.section-alt{padding:64px 52px;background:#f8f8f8}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#143C8C;margin-bottom:6px}
.section-title{font-size:26px;font-weight:500;color:#1a1a1a;margin-bottom:10px;letter-spacing:-.01em}
.section-body{font-size:13px;color:#666;line-height:1.8;max-width:540px;margin-bottom:40px}

/* STANDS */
.stands-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.stand-card{border:.5px solid #e4e4e4;border-radius:12px;overflow:hidden;background:#fff;transition:transform .3s,border-color .3s,box-shadow .3s;cursor:pointer}
.stand-card:hover{transform:translateY(-6px);border-color:#143C8C;box-shadow:0 12px 32px rgba(20,60,140,.12)}
.stand-icon-wrap{height:116px;background:#143C8C;display:flex;align-items:center;justify-content:center;transition:background .3s}
.stand-card:hover .stand-icon-wrap{background:#0e2a63}
.stand-body{padding:16px 18px}
.stand-size{font-size:10px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:#143C8C;margin-bottom:3px}
.stand-name{font-size:14px;font-weight:500;color:#1a1a1a}
.stand-desc{font-size:11px;color:#777;margin-top:4px;line-height:1.55}
.stand-pill{display:inline-block;margin-top:9px;font-size:10px;background:#e8eef8;color:#0C447C;padding:3px 9px;border-radius:20px;transition:background .3s,color .3s}
.stand-card:hover .stand-pill{background:#143C8C;color:#fff}
.stands-note{font-size:12px;color:#999;margin-top:16px}

/* PARTNER */
.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.partner-card{border:.5px solid #e4e4e4;border-radius:12px;padding:28px;background:#fff;transition:transform .3s,box-shadow .3s}
.partner-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.partner-card.featured{border:2px solid #143C8C}
.pc-eye{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#143C8C;margin-bottom:8px}
.pc-title{font-size:16px;font-weight:500;color:#1a1a1a;margin-bottom:8px}
.pc-desc{font-size:12px;color:#777;line-height:1.75}

/* TEAM */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:16px;overflow:hidden;border:.5px solid #e4e4e4}
.team-img{position:relative;overflow:hidden}
.team-img img{width:100%;height:420px;object-fit:cover;transition:transform .6s ease}
.team-img:hover img{transform:scale(1.03)}
.team-img-ov{position:absolute;bottom:0;left:0;right:0;padding:28px;background:linear-gradient(transparent,rgba(10,22,60,.82))}
.team-img-tag{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:.08em;text-transform:uppercase}
.team-img-name{font-size:15px;font-weight:500;color:#fff;margin-top:4px}
.team-text{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.team-text p{font-size:13px;color:#555;line-height:1.85;margin-bottom:16px}
.team-stat-row{display:flex;gap:32px;margin-top:28px;padding-top:28px;border-top:.5px solid #eee}
.team-stat .num{font-size:28px;font-weight:500;color:#143C8C;letter-spacing:-.02em}
.team-stat .lbl{font-size:11px;color:#999;margin-top:2px}

/* EVENT */
.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.event-card{border:.5px solid #e4e4e4;border-radius:12px;padding:26px;background:#fff;transition:transform .3s,box-shadow .3s,border-color .3s}
.event-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.08);border-color:#143C8C}
.event-dot{width:7px;height:7px;border-radius:50%;background:#143C8C;margin-bottom:16px;transition:transform .3s}
.event-card:hover .event-dot{transform:scale(1.5)}
.event-name{font-size:15px;font-weight:500;color:#1a1a1a;margin-bottom:7px}
.event-desc{font-size:12px;color:#777;line-height:1.75}

/* REFERENZEN */
.ref-masonry{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:14px}
.ref-card{border-radius:12px;overflow:hidden;position:relative}
.ref-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.ref-card:hover img{transform:scale(1.04)}
.ref-card-main{grid-row:1/3;min-height:400px}
.ref-card-sm{min-height:180px}
.ref-col{display:flex;flex-direction:column;gap:14px}
.ref-ov{position:absolute;bottom:0;left:0;right:0;padding:22px 20px;background:linear-gradient(transparent,rgba(8,18,52,.88));transform:translateY(8px);transition:transform .3s}
.ref-card:hover .ref-ov{transform:translateY(0)}
.ref-ov-tag{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px}
.ref-ov-name{font-size:17px;font-weight:500;color:#fff}
.ref-ov-desc{font-size:11px;color:rgba(255,255,255,.6);margin-top:3px;line-height:1.5}
.ref-ov-sm .ref-ov-name{font-size:13px}
.gallery-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.gallery-strip .ref-card{min-height:160px}

/* SHOP */
.shop-band{background:#143C8C;padding:44px 52px;display:flex;justify-content:space-between;align-items:center;gap:40px;position:relative;overflow:hidden}
.shop-band::before{content:'';position:absolute;right:-80px;top:-80px;width:300px;height:300px;background:rgba(255,255,255,.04);border-radius:50%;pointer-events:none}
.shop-badge{display:inline-block;font-size:10px;font-weight:500;background:rgba(255,255,255,.14);color:rgba(255,255,255,.9);padding:3px 11px;border-radius:20px;letter-spacing:.07em;margin-bottom:10px}
.shop-title{font-size:22px;font-weight:500;color:#fff;letter-spacing:-.01em}
.shop-sub{font-size:12px;color:rgba(255,255,255,.58);margin-top:5px;line-height:1.6}
.btn-white-sm{background:#fff;color:#143C8C;border:none;padding:12px 22px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);transition:transform .2s,background .2s}
.btn-white-sm:hover{transform:translateY(-2px);background:#f0f4ff}

/* KONTAKT */
.kontakt-wrap{max-width:640px}
.k-form{display:flex;flex-direction:column;gap:12px}
.k-form input,.k-form select,.k-form textarea{width:100%;padding:11px 14px;border:.5px solid #ddd;border-radius:8px;font-size:13px;color:#1a1a1a;background:#fff;font-family:var(--font);outline:none;transition:border-color .2s,box-shadow .2s}
.k-form input:focus,.k-form select:focus,.k-form textarea:focus{border-color:#143C8C;box-shadow:0 0 0 3px rgba(20,60,140,.08)}
.k-form textarea{min-height:110px;resize:vertical}
.k-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn-send{background:#143C8C;color:#fff;border:none;padding:13px 24px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;width:100%;font-family:var(--font);transition:background .2s,transform .2s}
.btn-send:hover{background:#0e2a63;transform:translateY(-1px)}
.btn-send:disabled{opacity:.6;cursor:not-allowed;transform:none}
.form-success{color:#0F6E56;background:#E1F5EE;padding:10px 14px;border-radius:8px;font-size:13px}
.form-error{color:#A32D2D;background:#FCEBEB;padding:10px 14px;border-radius:8px;font-size:13px}

/* FOOTER */
footer{border-top:.5px solid #e8e8e8;padding:22px 52px;display:flex;justify-content:space-between;align-items:center}
.ft-brand{font-size:13px;font-weight:500}
.ft-brand .b{color:#143C8C}.ft-brand .g{color:#A0A0A0}
.ft-miba{font-size:11px;color:#bbb;margin-top:2px}
.ft-links{display:flex;gap:22px}
.ft-links a{font-size:11px;color:#bbb;text-decoration:none;transition:color .2s}
.ft-links a:hover{color:#143C8C}

/* MOBILE */
@media(max-width:768px){
  nav{padding:12px 20px}
  .nav-hamburger{display:flex}
  .nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;padding:16px 20px;border-bottom:.5px solid #eee;gap:4px}
  .nav-links.open{display:flex}
  .nav-links a{padding:10px 12px;border-radius:8px}
  .hero{grid-template-columns:1fr}
  .hero-l{padding:52px 24px 48px}
  .hero-h1{font-size:34px}
  .hero-r{height:280px}
  .usp-bar{grid-template-columns:1fr 1fr}
  .usp-item:nth-child(2){border-right:none}
  .usp-item:nth-child(3){border-right:.5px solid #e8e8e8;border-top:.5px solid #e8e8e8}
  .usp-item:nth-child(4){border-top:.5px solid #e8e8e8}
  .section,.section-alt{padding:48px 24px}
  .stands-grid{grid-template-columns:1fr 1fr}
  .partner-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .team-img img{height:300px}
  .team-text{padding:32px 24px}
  .team-stat-row{gap:20px}
  .event-grid{grid-template-columns:1fr}
  .ref-masonry{grid-template-columns:1fr}
  .ref-card-main{grid-row:auto;min-height:260px}
  .ref-col{flex-direction:row}
  .ref-card-sm{min-height:140px;flex:1}
  .gallery-strip{grid-template-columns:1fr 1fr}
  .shop-band{flex-direction:column;align-items:flex-start;padding:36px 24px;gap:20px}
  footer{flex-direction:column;gap:16px;padding:20px 24px;text-align:center}
  .ft-links{justify-content:center}
}
@media(max-width:480px){
  .stands-grid,.gallery-strip{grid-template-columns:1fr}
  .hero-h1{font-size:30px}
  .k-row{grid-template-columns:1fr}
  .ref-col{flex-direction:column}
}
