/* AX3000 Kontaktportal v0.3.3 - clean, image-free contact design */
@supports selector(body:has(#ax3-kontaktportal)) {
  body:has(#ax3-kontaktportal) #content.site-content,
  body:has(#ax3-kontaktportal) #content.site-content > .elementor,
  body:has(#ax3-kontaktportal) #content.site-content > .elementor > .elementor-top-section,
  body:has(#ax3-kontaktportal) #content.site-content > .elementor > .elementor-top-section > .elementor-container,
  body:has(#ax3-kontaktportal) #content .elementor-section:has(#ax3-kontaktportal),
  body:has(#ax3-kontaktportal) #content .elementor-section:has(#ax3-kontaktportal) > .elementor-container,
  body:has(#ax3-kontaktportal) #content .elementor-section:has(#ax3-kontaktportal) > .elementor-container > .elementor-column,
  body:has(#ax3-kontaktportal) #content .elementor-section:has(#ax3-kontaktportal) > .elementor-container > .elementor-column > .elementor-widget-wrap,
  body:has(#ax3-kontaktportal) #content .elementor-widget:has(#ax3-kontaktportal),
  body:has(#ax3-kontaktportal) #content .elementor-widget:has(#ax3-kontaktportal) > .elementor-widget-container {
    width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-height:0!important;
  }
}
#ax3-kontaktportal.ax3-contact {
 --ax3-ink:#171c24;--ax3-muted:#68727d;--ax3-orange:#ff7900;--ax3-yellow:#ff7900;--ax3-line:#e0e5e9;
 display:block!important;position:relative!important;box-sizing:border-box!important;
 width:100vw!important;max-width:100vw!important;margin:0 calc(50% - 50vw)!important;
 padding:0!important;overflow:hidden!important;background:#f3f5f7!important;color:var(--ax3-ink)!important;
 font-family:inherit!important;font-size:15px!important;line-height:1.5!important;
}
#ax3-kontaktportal *,#ax3-kontaktportal *::before,#ax3-kontaktportal *::after{box-sizing:border-box!important}
#ax3-kontaktportal :is(h1,h2,h3,p,span,a,label,input,select,textarea,button,strong){font-family:inherit!important}
#ax3-kontaktportal .ax3-contact__hero{position:relative!important;display:block!important;padding:clamp(30px,4vw,58px) 24px 58px!important;background:#f3f5f7!important;isolation:auto!important}
#ax3-kontaktportal .ax3-contact__hero::before,#ax3-kontaktportal .ax3-contact__hero::after{content:none!important;display:none!important}
#ax3-kontaktportal .ax3-contact__shell{display:block!important;position:relative!important;width:100%!important;max-width:1120px!important;margin:0 auto!important;padding:clamp(26px,3.8vw,52px)!important;border:1px solid #e6e9ed!important;border-radius:16px!important;background:#fff!important;box-shadow:0 15px 45px rgba(25,37,51,.065)!important}
#ax3-kontaktportal .ax3-contact__intro{width:100%!important;max-width:920px!important;margin:0 0 27px!important;padding:0!important}
#ax3-kontaktportal .ax3-contact__eyebrow{display:inline-flex!important;align-items:center!important;gap:12px!important;margin:0 0 14px!important;color:#b16a0a!important;font-size:12px!important;font-weight:700!important;line-height:1.5!important;letter-spacing:.12em!important;text-transform:uppercase!important}
#ax3-kontaktportal .ax3-contact__eyebrow::before{content:''!important;display:inline-block!important;width:36px!important;height:3px!important;flex:0 0 36px!important;background:linear-gradient(90deg,#ee7920,#ffba00)!important;border-radius:2px!important}
#ax3-kontaktportal .ax3-contact__intro h1{margin:0 0 11px!important;color:var(--ax3-ink)!important;font-size:clamp(32px,3.2vw,44px)!important;font-weight:650!important;letter-spacing:-.032em!important;line-height:1.13!important;text-transform:none!important}
#ax3-kontaktportal .ax3-contact__intro p{margin:0!important;color:var(--ax3-muted)!important;max-width:860px!important;font-size:16px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:0!important;word-break:normal!important;overflow-wrap:normal!important}
#ax3-kontaktportal .ax3-contact__choices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin:0 0 32px!important;padding:0!important}
#ax3-kontaktportal .ax3-contact__choice{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;column-gap:14px!important;row-gap:3px!important;align-content:center!important;min-width:0!important;min-height:108px!important;margin:0!important;padding:18px!important;border:1px solid var(--ax3-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;transform:none!important;transition:border-color .18s,box-shadow .18s!important}
#ax3-kontaktportal .ax3-contact__choice:hover{border-color:#ff7900!important;box-shadow:0 6px 19px rgba(23,28,36,.05)!important}
#ax3-kontaktportal .ax3-contact__choice-icon{grid-column:1!important;grid-row:1/4!important;display:flex!important;align-items:center!important;justify-content:center!important;width:46px!important;height:46px!important;border-radius:10px!important;background:#fff5e9!important;color:#e88300!important}
#ax3-kontaktportal .ax3-contact__choice-icon svg{display:block!important;width:24px!important;height:24px!important}
#ax3-kontaktportal .ax3-contact__choice h2{grid-column:2!important;grid-row:1!important;margin:0!important;color:var(--ax3-ink)!important;font-size:16px!important;font-weight:650!important;line-height:1.3!important;letter-spacing:-.01em!important}
#ax3-kontaktportal .ax3-contact__choice p{grid-column:2!important;grid-row:2!important;margin:0!important;color:var(--ax3-muted)!important;font-size:13px!important;font-weight:400!important;line-height:1.4!important}
#ax3-kontaktportal .ax3-contact__choice a,#ax3-kontaktportal .ax3-contact__pending{grid-column:2!important;grid-row:3!important;display:inline-block!important;justify-self:start!important;margin:5px 0 0!important;padding:0!important;background:none!important;border:0!important;color:var(--ax3-ink)!important;font-size:13px!important;font-weight:600!important;text-decoration:none!important;line-height:1.35!important;transition:color .18s!important}
#ax3-kontaktportal .ax3-contact__choice a:hover,#ax3-kontaktportal .ax3-contact__choice a:focus-visible{color:#ff7900!important;text-decoration:none!important}
#ax3-kontaktportal .ax3-contact__choice a span{color:inherit!important}
#ax3-kontaktportal .ax3-contact__pending{color:#9098a2!important;font-weight:400!important}
#ax3-kontaktportal .ax3-contact__panel{display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;gap:clamp(26px,4vw,56px)!important;margin:0!important;padding:31px 0 0!important;border-top:1px solid var(--ax3-line)!important;background:transparent!important}
#ax3-kontaktportal .ax3-contact__details,#ax3-kontaktportal .ax3-contact__form-wrap{min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#ax3-kontaktportal .ax3-contact__details h2,#ax3-kontaktportal .ax3-contact__form-wrap h2{margin:0 0 12px!important;color:var(--ax3-ink)!important;font-size:24px!important;font-weight:650!important;line-height:1.2!important;letter-spacing:-.022em!important}
#ax3-kontaktportal .ax3-contact__details>p{margin:0 0 22px!important;color:var(--ax3-muted)!important;font-size:14px!important;line-height:1.55!important}
#ax3-kontaktportal .ax3-contact__detail-list{display:grid!important;gap:15px!important}
#ax3-kontaktportal .ax3-contact__detail strong{display:block!important;margin:0 0 3px!important;color:#36404b!important;font-size:12px!important;font-weight:650!important;letter-spacing:.02em!important}
#ax3-kontaktportal .ax3-contact__detail a{color:#4c5967!important;font-size:14px!important;font-weight:400!important;text-decoration:none!important;transition:color .18s!important}
#ax3-kontaktportal .ax3-contact__detail a:hover{color:#ff7900!important}
#ax3-kontaktportal .ax3-contact__form-wrap form{display:grid!important;gap:13px!important;margin:0!important;width:100%!important}
#ax3-kontaktportal .ax3-contact__row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
#ax3-kontaktportal .ax3-contact__form-wrap label{display:block!important;min-width:0!important;margin:0!important;color:#3a434e!important;font-size:12px!important;font-weight:650!important;line-height:1.45!important;text-transform:uppercase!important;letter-spacing:.045em!important}
#ax3-kontaktportal .ax3-contact__form-wrap label>span:not(.ax3-contact__privacy span){color:#ff7900!important}
#ax3-kontaktportal .ax3-contact__form-wrap input:not([type=checkbox]),#ax3-kontaktportal .ax3-contact__form-wrap select,#ax3-kontaktportal .ax3-contact__form-wrap textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:46px!important;margin:6px 0 0!important;padding:11px 13px!important;border:1px solid #d5dce3!important;border-radius:7px!important;background:#f9fafb!important;box-shadow:none!important;color:var(--ax3-ink)!important;font-size:14px!important;font-weight:400!important;letter-spacing:0!important;line-height:1.4!important}
#ax3-kontaktportal .ax3-contact__form-wrap textarea{min-height:118px!important;resize:vertical!important}
#ax3-kontaktportal .ax3-contact__form-wrap input:focus,#ax3-kontaktportal .ax3-contact__form-wrap select:focus,#ax3-kontaktportal .ax3-contact__form-wrap textarea:focus{outline:2px solid rgba(255,121,0,.18)!important;border-color:#ff7900!important;background:#fff!important}
#ax3-kontaktportal .ax3-contact__privacy{display:flex!important;align-items:flex-start!important;gap:9px!important;color:#67717b!important;font-size:12px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important}
#ax3-kontaktportal .ax3-contact__privacy input{display:inline-block!important;flex:0 0 16px!important;width:16px!important;height:16px!important;margin:1px 0 0!important;accent-color:#ff7900!important}
#ax3-kontaktportal .ax3-contact__privacy span,#ax3-kontaktportal .ax3-contact__privacy em{color:#67717b!important;font-size:12px!important;font-weight:400!important;font-style:normal!important;letter-spacing:0!important;text-transform:none!important;line-height:1.5!important}
#ax3-kontaktportal .ax3-contact__privacy a{color:#39444f!important;text-decoration:underline!important}
#ax3-kontaktportal .ax3-contact__privacy a:hover{color:#ff7900!important}
#ax3-kontaktportal .ax3-contact__form-wrap button{display:flex!important;align-items:center!important;justify-content:center!important;gap:13px!important;width:100%!important;min-height:48px!important;margin:0!important;padding:12px 18px!important;border:0!important;border-radius:6px!important;background:#ff7900!important;color:#fff!important;font-size:14px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer!important;transition:background .18s,transform .18s!important}
#ax3-kontaktportal .ax3-contact__form-wrap button:hover{background:#e66d00!important}
#ax3-kontaktportal .ax3-contact__hint{margin:0!important;color:#818b95!important;font-size:11px!important}
#ax3-kontaktportal .ax3-contact__trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
#ax3-kontaktportal .ax3-contact__notice{margin:0 0 12px!important;padding:12px!important;border-radius:7px!important;background:#fff1ed!important;color:#863322!important;font-size:13px!important}
#ax3-kontaktportal .ax3-contact__notice--ok{background:#ebf8ef!important;color:#24653c!important}
#ax3-kontaktportal .ax3-contact__location{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;margin:30px 0 0!important;padding:20px 0 0!important;border:0!important;border-top:1px solid var(--ax3-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important}
#ax3-kontaktportal .ax3-contact__location-pin{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border-radius:10px!important;background:#fff5e9!important;color:#dd8000!important}
#ax3-kontaktportal .ax3-contact__location-text{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important}
#ax3-kontaktportal .ax3-contact__location-text strong{color:var(--ax3-ink)!important;font-size:14px!important;font-weight:650!important;line-height:1.35!important}
#ax3-kontaktportal .ax3-contact__location-text span{color:var(--ax3-muted)!important;font-size:13px!important;font-weight:400!important;line-height:1.4!important}
#ax3-kontaktportal .ax3-contact__location>a{justify-self:end!important;white-space:nowrap!important;color:#2f3a45!important;font-size:13px!important;font-weight:650!important;text-decoration:none!important;transition:color .18s!important}
#ax3-kontaktportal .ax3-contact__location>a:hover{color:#ff7900!important}
@media(max-width:820px){#ax3-kontaktportal .ax3-contact__panel{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}#ax3-kontaktportal .ax3-contact__intro p{max-width:100%!important}}
@media(max-width:640px){#ax3-kontaktportal .ax3-contact__hero{padding:22px 12px 36px!important}#ax3-kontaktportal .ax3-contact__shell{padding:24px 18px!important;border-radius:12px!important}#ax3-kontaktportal .ax3-contact__choices{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;margin-bottom:26px!important}#ax3-kontaktportal .ax3-contact__intro h1{font-size:32px!important}#ax3-kontaktportal .ax3-contact__row{grid-template-columns:minmax(0,1fr)!important}#ax3-kontaktportal .ax3-contact__location{grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important}#ax3-kontaktportal .ax3-contact__location>a{grid-column:2!important;justify-self:start!important}}

/* v0.4.0: approved full-frame BIM image; no generated dark blocks or overlay. */
#ax3-kontaktportal.ax3-contact{background:#30343a!important}
#ax3-kontaktportal .ax3-contact__hero{
 background-color:#30343a!important;
 background-image:url('bim-architecture-background.webp')!important;
 background-repeat:no-repeat!important;
 background-position:center center!important;
 background-size:cover!important;
 padding-top:clamp(26px,3vw,42px)!important;
 padding-bottom:clamp(65px,7vw,100px)!important;
 min-height:0!important;
}
#ax3-kontaktportal .ax3-contact__shell{box-shadow:0 24px 76px rgba(0,0,0,.18)!important;border-color:rgba(255,255,255,.8)!important}
@media(max-width:640px){#ax3-kontaktportal .ax3-contact__hero{background-size:cover!important;background-position:45% center!important;padding-bottom:55px!important}}

/* v0.4.1: compact consent-based Google Maps mini-map */
#ax3-kontaktportal .ax3-contact__location{grid-template-columns:44px minmax(0,1fr) 240px!important;gap:14px!important;align-items:center!important;padding:14px 0 0!important;margin-top:22px!important}
#ax3-kontaktportal .ax3-contact__location-text .ax3-contact__directions{display:inline-block!important;margin-top:7px!important;font-size:13px!important;font-weight:650!important;color:#e46b00!important;text-decoration:none!important}
#ax3-kontaktportal .ax3-contact__location-text .ax3-contact__directions:hover{text-decoration:underline!important}
#ax3-kontaktportal .ax3-contact__map{height:116px!important;min-width:0!important;border:1px solid #e1e5e9!important;border-radius:11px!important;overflow:hidden!important;background:#e8edf0!important}
#ax3-kontaktportal .ax3-contact__map iframe{display:block!important;width:100%!important;height:100%!important;border:0!important}
#ax3-kontaktportal .ax3-contact__map-load{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:100%!important;height:100%!important;padding:9px!important;border:0!important;border-radius:0!important;background:linear-gradient(135deg,#edf1f3,#dde6eb)!important;color:#233343!important;cursor:pointer!important;box-shadow:none!important;font-family:inherit!important;text-align:center!important}
#ax3-kontaktportal .ax3-contact__map-load span{font-size:23px!important;color:#e46b00!important;line-height:1!important}
#ax3-kontaktportal .ax3-contact__map-load strong{font-size:12px!important;font-weight:700!important;line-height:1.2!important}
#ax3-kontaktportal .ax3-contact__map-load small{font-size:10px!important;line-height:1.25!important;font-weight:400!important;color:#5e6a75!important}
#ax3-kontaktportal .ax3-contact__map-load:hover{background:#dce5ea!important}
@media(max-width:700px){#ax3-kontaktportal .ax3-contact__location{grid-template-columns:42px minmax(0,1fr)!important}#ax3-kontaktportal .ax3-contact__map{grid-column:1/-1!important;height:160px!important;width:100%!important}#ax3-kontaktportal .ax3-contact__location-text .ax3-contact__directions{margin-top:5px!important}}

/* v0.4.2: Google Maps fills the unused left contact column, loads immediately. */
#ax3-kontaktportal .ax3-contact__location{grid-template-columns:44px minmax(0,1fr)!important;min-height:0!important}
#ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details{display:block!important;width:100%!important;height:clamp(210px,22vw,265px)!important;margin:28px 0 0!important;border:1px solid #dce3e9!important;border-radius:12px!important;overflow:hidden!important;background:#eef1f4!important}
#ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details iframe{display:block!important;width:100%!important;height:100%!important;border:0!important}
@media(max-width:820px){#ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details{height:245px!important;margin-top:22px!important}}
@media(max-width:640px){#ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details{height:220px!important}}

/* v0.4.3: unified compact location in left contact column */
#ax3-kontaktportal .ax3-contact__details .ax3-contact__location{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;margin:22px 0 0!important;padding:17px 0 0!important;border-top:1px solid #dce3e9!important;width:100%!important}
#ax3-kontaktportal .ax3-contact__details .ax3-contact__location-pin{width:40px!important;height:40px!important}
#ax3-kontaktportal .ax3-contact__details .ax3-contact__location-text{gap:3px!important}
#ax3-kontaktportal .ax3-contact__details .ax3-contact__location-text strong{font-size:13px!important}
#ax3-kontaktportal .ax3-contact__details .ax3-contact__location-text span{font-size:12px!important}
#ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details{height:180px!important;margin:12px 0 0!important;width:100%!important;max-width:100%!important}
@media(max-width:820px){#ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details{height:180px!important;margin-top:12px!important}}
@media(max-width:640px){#ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details{height:190px!important}}

/* v0.4.4: full click area only for appointment and downloads cards */
#ax3-kontaktportal .ax3-contact__choice--linked{position:relative!important}
#ax3-kontaktportal .ax3-contact__choice--linked a::after{content:"";position:absolute;inset:0;cursor:pointer}
/* Focus uses the existing card border rather than a second outline. */
#ax3-kontaktportal .ax3-contact__choice--linked:focus-within{border-color:#ff7900!important;outline:none!important;box-shadow:0 6px 19px rgba(23,28,36,.05)!important}
#ax3-kontaktportal .ax3-contact__choice--linked a:focus-visible{outline:none!important}

/* v0.4.5: typography polish aligned with AX3000 download area. */
#ax3-kontaktportal .ax3-contact__choice p{font-size:14px!important;line-height:1.5!important}
#ax3-kontaktportal .ax3-contact__choice a,#ax3-kontaktportal .ax3-contact__pending{font-size:13px!important;line-height:1.5!important}
#ax3-kontaktportal .ax3-contact__details>p{font-size:15px!important;line-height:1.6!important}
#ax3-kontaktportal .ax3-contact__detail strong{font-size:13px!important}
#ax3-kontaktportal .ax3-contact__detail a{font-size:15px!important;line-height:1.5!important}
#ax3-kontaktportal .ax3-contact__form-wrap label:not(.ax3-contact__privacy){font-size:13px!important;line-height:1.5!important}
#ax3-kontaktportal .ax3-contact__form-wrap input:not([type=checkbox]),#ax3-kontaktportal .ax3-contact__form-wrap select,#ax3-kontaktportal .ax3-contact__form-wrap textarea{font-size:15px!important;line-height:1.45!important}
#ax3-kontaktportal .ax3-contact__form-wrap label.ax3-contact__privacy{display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:flex-start!important;gap:12px!important;margin:3px 0!important;padding:0!important;font-size:14px!important;line-height:1.55!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer!important}
#ax3-kontaktportal .ax3-contact__form-wrap label.ax3-contact__privacy input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;display:block!important;position:static!important;float:none!important;flex:0 0 18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;margin:2px 0 0!important;padding:0!important;border-radius:3px!important;vertical-align:top!important;accent-color:#ff7900!important}
#ax3-kontaktportal .ax3-contact__form-wrap label.ax3-contact__privacy>span{display:block!important;flex:1 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;color:#56616d!important;font-size:14px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:0!important;text-transform:none!important}
#ax3-kontaktportal .ax3-contact__form-wrap label.ax3-contact__privacy em{font-size:14px!important;line-height:inherit!important}
#ax3-kontaktportal .ax3-contact__hint{font-size:12px!important;line-height:1.5!important}
#ax3-kontaktportal .ax3-contact__details .ax3-contact__location-text strong{font-size:14px!important}
#ax3-kontaktportal .ax3-contact__details .ax3-contact__location-text span{font-size:13px!important}
@media(max-width:640px){#ax3-kontaktportal .ax3-contact__form-wrap label.ax3-contact__privacy{gap:11px!important}}

/* v0.4.6: balanced map size; preserve all other styling. */
#ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details{height:220px!important}
@media(max-width:640px){#ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details{height:220px!important}}

/* v0.4.8: entire inquiry cards clickable; preserve external card behavior. */
#ax3-kontaktportal .ax3-contact__choice:has(a[data-ax3-topic]){cursor:pointer!important}
#ax3-kontaktportal .ax3-contact__choice:has(a[data-ax3-topic]):hover{border-color:#ff7900!important}

/* Large, accessible confirmation popup */
.ax3-success-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:22px!important;background:rgba(12,22,34,.72)!important;box-sizing:border-box!important}
.ax3-success-dialog{box-sizing:border-box!important;width:min(100%,540px)!important;padding:45px 34px!important;border-radius:18px!important;background:#fff!important;text-align:center!important;box-shadow:0 22px 75px rgba(0,0,0,.3)!important;font-family:inherit!important}
.ax3-success-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:76px!important;height:76px!important;margin:0 auto 24px!important;border-radius:50%!important;background:#e8f7ec!important;color:#228348!important;font-size:45px!important;font-weight:700!important}
.ax3-success-dialog h2{margin:0 0 16px!important;color:#192535!important;font-size:clamp(25px,4vw,32px)!important;line-height:1.2!important;font-weight:750!important}
.ax3-success-dialog p{margin:0 0 30px!important;color:#4a5663!important;font-size:17px!important;line-height:1.6!important}
.ax3-success-dialog button{display:inline-block!important;min-width:185px!important;padding:15px 26px!important;border:0!important;border-radius:8px!important;background:#ff7900!important;color:#192535!important;font-size:16px!important;font-weight:700!important;cursor:pointer!important}
.ax3-success-dialog button:focus-visible{outline:3px solid #1c6fbe!important;outline-offset:3px!important}
@media(max-width:480px){.ax3-success-dialog{padding:34px 22px!important}}

/* v0.6.7: Restore fully opaque white contact card. */
#ax3-kontaktportal .ax3-contact__shell { background: #fff !important; }

/* v0.6.6: Give the directions link breathing room and balance the two columns.
   Keep original image, background rules, and shell transparency untouched. */
@media (min-width: 821px) {
  #ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details {
    margin-top: 24px !important;
    height: 275px !important;
  }
}
@media (min-width: 641px) and (max-width: 820px) {
  #ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details {
    margin-top: 22px !important;
    height: 240px !important;
  }
}
@media (max-width: 640px) {
  #ax3-kontaktportal .ax3-contact__details .ax3-contact__map--details {
    margin-top: 20px !important;
    height: 220px !important;
  }
}

/* v0.6.8: Solid anthracite-blue background test. No image or overlay. */
#ax3-kontaktportal.ax3-contact { background: #192734 !important; }
#ax3-kontaktportal .ax3-contact__hero {
  background: #192734 !important;
  background-image: none !important;
}
#ax3-kontaktportal .ax3-contact__shell { background: #fff !important; }

/* v0.6.9: Seamless mirrored BIM/HVAC tile; no cover, blur, stretch or fade. */
#ax3-kontaktportal.ax3-contact { background-color:#f4f5f6!important; }
#ax3-kontaktportal .ax3-contact__hero {
 background-color:#f4f5f6!important;
 background-image:url('tga-bim-seamless.webp')!important;
 background-repeat:repeat!important;
 background-size:950px 540px!important;
 background-position:center top!important;
}
#ax3-kontaktportal .ax3-contact__hero::before,
#ax3-kontaktportal .ax3-contact__hero::after {content:none!important;display:none!important;}
#ax3-kontaktportal .ax3-contact__shell {background:#fff!important;}
@media(max-width:640px){
 #ax3-kontaktportal .ax3-contact__hero{background-size:760px 432px!important;background-position:center top!important;}
}

/* v0.7.0: Larger, quieter repeating TGA tile. Preserve proportions. */
#ax3-kontaktportal .ax3-contact__hero {
  background-size: 2000px auto !important;
  background-position: center top !important;
  background-repeat: repeat !important;
}
@media (max-width: 1024px) {
  #ax3-kontaktportal .ax3-contact__hero { background-size: 1400px auto !important; }
}
@media (max-width: 640px) {
  #ax3-kontaktportal .ax3-contact__hero { background-size: 1000px auto !important; }
}

/* White, opaque card with a subtle depth effect. */
#ax3-kontaktportal .ax3-contact__shell {
  background-color: #fff !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.08) !important;
}

/* v0.7.2: Approved realistic HVAC artwork. Never tile or distort the source.
   Fade the bottom of the single image to a neutral base for tall contact forms. */
#ax3-kontaktportal.ax3-contact {background-color:#f5f6f7!important;}
#ax3-kontaktportal .ax3-contact__hero {
 background-color:#f5f6f7!important;
 background-image:linear-gradient(to bottom,rgba(245,246,247,0) 0%,rgba(245,246,247,0) 52%,#f5f6f7 100%),url('tga-hvac-approved.webp')!important;
 background-repeat:no-repeat,no-repeat!important;
 background-size:100% 1120px,100% auto!important;
 background-position:center top,center top!important;
}
@media(max-width:1024px){
 #ax3-kontaktportal .ax3-contact__hero{background-size:100% 1020px,1300px auto!important;}
}
@media(max-width:640px){
 #ax3-kontaktportal .ax3-contact__hero{background-size:100% 900px,1050px auto!important;}
}

/* v0.7.3: selected image, genuinely edge-matched mirrored wallpaper. */
#ax3-kontaktportal .ax3-contact__hero {
 background-image: url('tga-hvac-approved.webp') !important;
 background-repeat: repeat !important;
 background-size: 2200px auto !important;
 background-position: center top !important;
}
@media (max-width: 1024px) {
 #ax3-kontaktportal .ax3-contact__hero {background-size: 1700px auto !important;}
}
@media (max-width: 640px) {
 #ax3-kontaktportal .ax3-contact__hero {background-size: 1200px auto !important;}
}

/* v0.7.4: Unmirrored original motif, neutral feathered tile edges. */
#ax3-kontaktportal .ax3-contact__hero {
 background-color:#fafafa!important;
 background-image:url('tga-bim-neutral-tile.webp')!important;
 background-repeat:repeat!important;
 background-size:1774px 887px!important;
 background-position:center top!important;
}
@media(max-width:1024px){#ax3-kontaktportal .ax3-contact__hero{background-size:1400px 700px!important;}}
@media(max-width:640px){#ax3-kontaktportal .ax3-contact__hero{background-size:1100px 550px!important;}}

/* v0.7.5: approved line-art motif; edge-neutral repeat, no mirror transformations. */
#ax3-kontaktportal .ax3-contact__hero {
 background-color:#fafafa!important;
 background-image:url('tga-bim-line-tile.webp')!important;
 background-repeat:repeat!important;
 background-size:1774px 887px!important;
 background-position:center top!important;
}
@media(max-width:1024px){#ax3-kontaktportal .ax3-contact__hero{background-size:1400px 700px!important;}}
@media(max-width:640px){#ax3-kontaktportal .ax3-contact__hero{background-size:1100px 550px!important;}}

/* v0.7.6: Independent closed CAD duct motif, constant tile background, no mirroring/fades */
#ax3-kontaktportal.ax3-contact, #ax3-kontaktportal .ax3-contact__hero { background-color:#f7f9fa !important; }
#ax3-kontaktportal .ax3-contact__hero { background-image:url('ax3000-kanalmotiv.svg') !important; background-repeat:repeat !important; background-size:960px 640px !important; background-position:center top !important; }
@media(max-width:700px){#ax3-kontaktportal .ax3-contact__hero{background-size:760px auto !important;}}


/* v0.7.7: Lightweight animated BIM/CAD blueprint, no raster tile or duct geometry. */
#ax3-kontaktportal.ax3-contact {background:#f8fafc!important;}
#ax3-kontaktportal .ax3-contact__hero {background:#f8fafc!important;background-image:none!important;overflow:hidden!important;isolation:isolate!important;}
#ax3-kontaktportal .ax3-contact__blueprint {position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background-image:linear-gradient(30deg,transparent 49.82%,rgba(130,153,170,.075) 50%,transparent 50.18%),linear-gradient(150deg,transparent 49.82%,rgba(130,153,170,.075) 50%,transparent 50.18%);background-size:174px 100px;}
#ax3-kontaktportal .ax3-contact__blueprint svg {position:absolute;inset:0;width:100%;height:100%;min-height:100%;opacity:.85;}
#ax3-kontaktportal .ax3-contact__shell {z-index:1!important;position:relative!important;background:#fff!important;}
#ax3-kontaktportal .ax3-blueprint-wire {fill:none;stroke:#8499a8;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;opacity:.33;}
#ax3-kontaktportal .ax3-blueprint-construction {fill:none;stroke:#91a8b7;stroke-width:1;stroke-dasharray:5 9;opacity:.35;}
#ax3-kontaktportal .ax3-blueprint-trace {fill:none;stroke:#6d899c;stroke-width:2;stroke-linejoin:round;stroke-dasharray:700;stroke-dashoffset:700;animation:ax3-trace 20s ease-in-out infinite;}
#ax3-kontaktportal .ax3-blueprint-trace:nth-of-type(2n) {animation-delay:-9s;}
#ax3-kontaktportal .ax3-blueprint-highlight {fill:none;stroke:#ff7900;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:180;stroke-dashoffset:180;animation:ax3-orange 16s ease-in-out infinite;}
#ax3-kontaktportal .ax3-blueprint-highlight.delay {animation-delay:-8s;}
#ax3-kontaktportal .ax3-blueprint-module {animation:ax3-breathe 17s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
#ax3-kontaktportal .ax3-blueprint-module.delay {animation-delay:-8s;}
#ax3-kontaktportal .ax3-blueprint-node {fill:#ff7900;opacity:0;animation:ax3-node 12s ease-in-out infinite;}
#ax3-kontaktportal .ax3-blueprint-node.delay {animation-delay:-6s;}
@keyframes ax3-trace {0%,10%{stroke-dashoffset:700;opacity:0}32%,66%{stroke-dashoffset:0;opacity:.52}88%,100%{stroke-dashoffset:-700;opacity:0}}
@keyframes ax3-orange {0%,15%{stroke-dashoffset:180;opacity:0}36%,62%{stroke-dashoffset:0;opacity:.7}86%,100%{stroke-dashoffset:-180;opacity:0}}
@keyframes ax3-node {0%,28%,75%,100%{opacity:0}42%,58%{opacity:.75}}
@keyframes ax3-breathe {0%,100%{opacity:.55}50%{opacity:1}}
@media(max-width:700px){#ax3-kontaktportal .ax3-contact__blueprint svg {width:125%;left:-12.5%;}}
@media(prefers-reduced-motion:reduce){#ax3-kontaktportal .ax3-blueprint-trace,#ax3-kontaktportal .ax3-blueprint-highlight,#ax3-kontaktportal .ax3-blueprint-module,#ax3-kontaktportal .ax3-blueprint-node {animation:none!important;}#ax3-kontaktportal .ax3-blueprint-trace{stroke-dashoffset:0;opacity:.22;}#ax3-kontaktportal .ax3-blueprint-highlight{stroke-dashoffset:0;opacity:.28;}}

/* v0.7.8: Digital Twin 2.0. Fine architectural drawing + restrained signal motion. */
#ax3-kontaktportal .ax3-dt-layer { transform-box: view-box; transform-origin: 50% 50%; will-change: transform; }
#ax3-kontaktportal .ax3-dt-layer--left { animation: ax3-dt-parallax-left 28s ease-in-out infinite alternate; }
#ax3-kontaktportal .ax3-dt-layer--right { animation: ax3-dt-parallax-right 34s ease-in-out infinite alternate; }
#ax3-kontaktportal .ax3-dt-draw { fill:none;stroke:#718a9a;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1900;stroke-dashoffset:1900;opacity:0;animation:ax3-dt-build 24s ease-in-out infinite; }
#ax3-kontaktportal .ax3-dt-draw--b {animation-delay:-12s;}
#ax3-kontaktportal .ax3-dt-dimension {fill:none;stroke:#8fa4b1;stroke-width:1;stroke-dasharray:4 8;opacity:.27;}
#ax3-kontaktportal .ax3-dt-signal {fill:#ff7900;opacity:.72;filter:drop-shadow(0 0 3px rgba(255,121,0,.24));}
#ax3-kontaktportal .ax3-dt-signal--dim {opacity:.42;}
@keyframes ax3-dt-build {0%,7%{stroke-dashoffset:1900;opacity:0}23%,64%{stroke-dashoffset:0;opacity:.38}83%,100%{stroke-dashoffset:-1900;opacity:0}}
@keyframes ax3-dt-parallax-left {from{transform:translate3d(-4px,0,0)}to{transform:translate3d(9px,-8px,0)}}
@keyframes ax3-dt-parallax-right {from{transform:translate3d(5px,-5px,0)}to{transform:translate3d(-8px,7px,0)}}
@media (max-width:700px){#ax3-kontaktportal .ax3-dt-draw{stroke-width:1.15}#ax3-kontaktportal .ax3-dt-signal{opacity:.4}}
@media (prefers-reduced-motion:reduce){
 #ax3-kontaktportal .ax3-dt-layer,#ax3-kontaktportal .ax3-dt-draw{animation:none!important;transform:none!important;}
 #ax3-kontaktportal .ax3-dt-draw{stroke-dashoffset:0;opacity:.2}
 #ax3-kontaktportal .ax3-dt-flow{display:none!important}
}

/* v0.8.0: restrained motion, original 0.7.8 geometry only. */
#ax3-kontaktportal .ax3-blueprint-wire{opacity:.28}
#ax3-kontaktportal .ax3-blueprint-construction{opacity:.22}
#ax3-kontaktportal .ax3-dt-draw{stroke:#8296a4;stroke-width:1.25;animation-duration:22s}
#ax3-kontaktportal .ax3-dt-draw--b{animation-delay:-11s}
#ax3-kontaktportal .ax3-dt-layer--left{animation-duration:42s}
#ax3-kontaktportal .ax3-dt-layer--right{animation-duration:48s}
#ax3-kontaktportal .ax3-dt-signal{opacity:.55;filter:none}
#ax3-kontaktportal .ax3-dt-signal--dim{opacity:.32}
#ax3-kontaktportal .ax3-blueprint-highlight{stroke-width:1.7}
@keyframes ax3-dt-build{0%,9%{stroke-dashoffset:1900;opacity:0}30%,70%{stroke-dashoffset:0;opacity:.34}91%,100%{stroke-dashoffset:-1900;opacity:0}}
@media(prefers-reduced-motion:reduce){#ax3-kontaktportal .ax3-dt-signal{display:none!important}}

/* v0.8.1: single flat color sampled from the prior animation background.
   No image, gradient, grid, SVG, or movement. */
#ax3-kontaktportal.ax3-contact,
#ax3-kontaktportal .ax3-contact__hero {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  background-image: none !important;
  background-attachment: scroll !important;
}
#ax3-kontaktportal .ax3-contact__blueprint { display:none !important; }
#ax3-kontaktportal .ax3-contact__hero::before,
#ax3-kontaktportal .ax3-contact__hero::after { background-image:none !important; animation:none !important; }
#ax3-kontaktportal .ax3-contact__shell {background:#fff !important;}

/* v0.8.12: Match download-login CTA: charcoal idle, AX3000 orange on interaction. */
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]{display:flex!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:54px!important;margin:0!important;padding:14px 20px!important;align-items:center!important;justify-content:center!important;gap:16px!important;border:0!important;border-radius:5px!important;background:#363636!important;color:#fff!important;font-size:14px!important;font-weight:700!important;letter-spacing:.1px!important;text-transform:uppercase!important;box-shadow:none!important;transform:none!important;transition:background-color .18s ease!important}
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]:hover,
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]:focus-visible,
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]:active{background:#ff7900!important;color:#fff!important;transform:none!important}
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]:focus-visible{outline:2px solid #ff7900!important;outline-offset:3px!important}
#ax3-kontaktportal .ax3-contact__privacy em{color:#ff7900!important}

/* v0.8.13 TEST: Download login CTA flow, matching its hover glow and arrow movement. */
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]{
  background:#373737!important;color:#fff!important;
  box-shadow:none!important;
  transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]:is(:hover,:focus-visible,:active){
  background:#ff7900!important;color:#fff!important;
  box-shadow:0 10px 26px rgba(255,121,0,.22)!important;
}
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"] span[aria-hidden="true"]{
  display:inline-block!important;transition:transform .15s ease!important;
}
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]:is(:hover,:focus-visible) span[aria-hidden="true"]{transform:translateX(3px)!important}
@media (prefers-reduced-motion:reduce){
  #ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"],
  #ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"] span[aria-hidden="true"]{transition:none!important}
}

/* v0.8.15 TEST: neutral card links at rest; orange only on interaction. */
#ax3-kontaktportal .ax3-contact__choice a,
#ax3-kontaktportal .ax3-contact__choice a:link,
#ax3-kontaktportal .ax3-contact__choice a:visited{
  color:#363636!important;text-decoration:none!important;
  transition:color .18s ease!important;
}
#ax3-kontaktportal .ax3-contact__choice:hover a,
#ax3-kontaktportal .ax3-contact__choice a:hover,
#ax3-kontaktportal .ax3-contact__choice a:focus-visible,
#ax3-kontaktportal .ax3-contact__choice a:active{
  color:#ff7900!important;text-decoration:none!important;
}
#ax3-kontaktportal .ax3-contact__choice a span{color:inherit!important}

/* Text and arrow move as a single unit, just like the download login CTA. */
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"] .ax3-contact__submit-content{
  display:inline-flex!important;align-items:center!important;gap:13px!important;
  transition:transform .15s ease!important;
}
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]:is(:hover,:focus-visible) .ax3-contact__submit-content{
  transform:translateX(3px)!important;
}
/* Cancel the earlier arrow-only movement so the arrow doesn't move twice. */
#ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"]:is(:hover,:focus-visible) .ax3-contact__submit-content span[aria-hidden="true"]{
  transform:none!important;
}
@media (prefers-reduced-motion:reduce){
  #ax3-kontaktportal .ax3-contact__form-wrap button[type="submit"] .ax3-contact__submit-content{
    transition:none!important;transform:none!important;
  }
}
