/* =====================================================================
   H-DV home page styles — single source of truth for template `home`.
   Auto-loaded on the home page via css('@auto') in snippets/header.php.
   Replaces the per-page customCss + bodyCustomCode copies.

   NOTE: the scroll-reveal JS that toggles `.hd-js` / `.is-visible`
   still lives in the page's footerCustomCode — this file only styles it.
   ===================================================================== */

.loader{display:none !important}
html,body{background:#fff !important}
body{font-family:'Inter',sans-serif !important;font-weight:400;color:#1f2937;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.uk-h1,.uk-h2,.uk-h3,.uk-h4,.uk-h5,.uk-h6{font-family:'Inter',sans-serif !important;font-weight:600;letter-spacing:-0.022em;color:#0f1929;line-height:1.15}
.uk-navbar,.uk-button{font-family:'Inter',sans-serif !important}
.uk-section-secondary{background-color:#0f1929 !important}

:root{--ink:#0f1929;--blue:#11547f;--blue-bright:#2c78a0;--cyan:#54b2b7;--text:#475569;--text-muted:#8a93a3;--line:#e5e9ef;--mono:'JetBrains Mono','SF Mono',Menlo,monospace;--bg-soft:#f5f7fb}

/* === Editable eyebrow labels — content lives in layout blocks === */
.hd-eyebrow{display:block !important;font-family:var(--mono) !important;font-size:0.6875rem !important;font-weight:500 !important;letter-spacing:0.18em !important;color:var(--cyan) !important;text-transform:uppercase !important;margin:0 0 1.5rem !important;text-align:center !important;line-height:1.4 !important}
#hero .hd-eyebrow{color:rgba(168,214,232,0.85) !important}
#cta .hd-eyebrow{color:rgba(255,255,255,0.7) !important}

/* === Editable trustbar sublabel === */
.hd-trustbar-label{display:block !important;font-family:var(--mono) !important;font-size:0.625rem !important;font-weight:500 !important;letter-spacing:0.18em !important;color:var(--text-muted) !important;text-align:center !important;text-transform:uppercase !important;margin:0.5rem 0 0 !important;line-height:1 !important}

/* === Editable card numbers — absolutely positioned in card === */
.hd-card-number{position:absolute !important;top:1.25rem !important;right:1.5rem !important;font-family:var(--mono) !important;font-size:0.8125rem !important;font-weight:600 !important;letter-spacing:0.10em !important;color:var(--cyan) !important;text-transform:uppercase !important;opacity:0.85;margin:0 !important;padding:0 !important;line-height:1 !important;z-index:1}

#hero{padding:6rem 0 5rem !important;position:relative;overflow:hidden}
#hero > .uk-position-cover{background-image:radial-gradient(circle at 85% 15%, rgba(84,178,183,0.22), transparent 45%),radial-gradient(circle, rgba(255,255,255,0.20) 1.2px, transparent 1.8px),linear-gradient(135deg,#2c78a0 0%,#11547f 55%,#0f1929 100%) !important;background-size:auto, 30px 30px, auto !important;background-repeat:no-repeat, repeat, no-repeat !important;background-position:0 0, 0 0, 0 0 !important}
#hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg, transparent 0%, rgba(84,178,183,0.6) 50%, transparent 100%);pointer-events:none}
#hero .uk-container{text-align:center;position:relative}
#hero h1{font-size:clamp(2.25rem,4.5vw,3.625rem) !important;font-weight:600;letter-spacing:-0.028em;color:#fff !important;margin:0 auto 1.75rem !important;max-width:46rem;line-height:1.1;text-align:center}
#hero p:not(.uk-text-center){font-size:1.1875rem;line-height:1.55;color:rgba(255,255,255,0.85) !important;max-width:42rem;margin:0 auto 2.5rem !important;text-align:center}
#hero p:not(.uk-text-center) a{color:#a8d6e8 !important;text-decoration:underline;text-underline-offset:3px}
#hero .uk-text-center{text-align:center !important}
#hero .uk-button{background:#fff !important;color:#11547f !important;font-weight:500;font-size:0.875rem;border-radius:0.375rem;padding:0.6875rem 1.625rem !important;border:none;transition:all 0.15s;line-height:1.4;min-height:0;box-shadow:0 8px 24px -8px rgba(0,0,0,0.4)}
#hero .uk-button:hover{background:#fff !important;color:#0f1929 !important;transform:translateY(-1px);box-shadow:0 12px 28px -10px rgba(0,0,0,0.5)}

#trustbar{padding:2.75rem 0 !important;background:#fff !important;border-bottom:1px solid var(--line)}
#trustbar .uk-container{padding:0 1.5rem}
#trustbar .uk-grid{align-items:center !important;margin-left:0}
#trustbar .uk-grid > div{padding-left:0;position:relative}
#trustbar .uk-grid > div + div::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:56px;background:var(--line)}
#trustbar .uk-grid > div:first-child > *{margin:0}
#trustbar .uk-grid > div:first-child{width:26% !important}
#trustbar .uk-grid > div:not(:first-child){width:18.5% !important}
#trustbar .uk-grid > div:first-child figure{margin:0;max-width:none !important}
#trustbar .uk-grid > div:first-child img{display:block;width:248px;height:auto;max-width:100%;margin:0 auto;object-fit:contain}
#trustbar .uk-grid > div:not(:first-child){text-align:center}
#trustbar .uk-grid > div:not(:first-child) h3{font-size:1.75rem !important;font-weight:600 !important;color:var(--blue) !important;margin:0 0 0.5rem !important;font-variant-numeric:tabular-nums;letter-spacing:-0.02em !important;line-height:1.1 !important;font-family:var(--mono) !important}
#trustbar .uk-grid > div:not(:first-child) p{font-size:0.6875rem;color:var(--text);margin:0;line-height:1.3;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;max-width:16ch;margin-left:auto;margin-right:auto}
@media (max-width:768px){#trustbar .uk-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:1.5rem 0.75rem;margin-left:0}#trustbar .uk-grid > div{padding-left:0;width:auto !important}#trustbar .uk-grid > div + div::before{display:none}#trustbar .uk-grid > div:first-child{grid-column:1 / -1;margin-bottom:0.5rem}#trustbar .uk-grid > div:first-child img{width:220px}#trustbar .uk-grid > div:not(:first-child) h3{font-size:1.375rem !important}#trustbar .uk-grid > div:not(:first-child) p{font-size:0.625rem}}

#positionierung{padding:6rem 0 !important;background:#fff !important}
#positionierung h2{text-align:center;font-size:clamp(1.875rem,3vw,2.5rem);font-weight:600;margin:0 0 1.25rem;color:var(--ink) !important;letter-spacing:-0.022em}
#positionierung .uk-text-lead{max-width:36rem;margin:0 auto 2rem !important;text-align:center;color:var(--text);font-size:1.1875rem;font-weight:400;line-height:1.5}
#positionierung p:not(.uk-text-lead):not(.uk-text-center){max-width:44rem;margin:0 auto 1.25rem !important;text-align:center;color:#4b5563;font-size:1rem;line-height:1.7}
#positionierung .uk-text-center{margin-top:2.5rem !important}
#positionierung .uk-button-text{color:var(--blue-bright) !important;font-weight:500;text-transform:none;letter-spacing:0;font-size:0.9375rem}
#positionierung .uk-button-text:hover{color:var(--blue) !important}

#anwendungsfelder{padding:6rem 0 0 !important;background:var(--bg-soft) !important}
#anwendungsfelder h2{text-align:center;font-size:clamp(1.875rem,3vw,2.5rem);font-weight:600;margin:0 !important;color:var(--ink) !important;letter-spacing:-0.022em}
#leistungen{padding:3rem 0 6rem !important;background:var(--bg-soft) !important}
#leistungen .uk-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:1.5rem !important;margin:0 !important;padding:0 !important;list-style:none}
#leistungen .uk-grid > div{width:auto !important;margin:0 !important;padding:2.25rem 1.75rem 2rem !important;background:#fff;border:1px solid var(--line);border-radius:0.75rem;transition:border-color 0.2s,box-shadow 0.2s,transform 0.2s;display:flex !important;flex-direction:column !important;position:relative;overflow:hidden}
#leistungen .uk-grid > div::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--cyan), var(--blue-bright));opacity:0;transition:opacity 0.25s}
#leistungen .uk-grid > div:hover::before{opacity:1}
#leistungen .uk-grid > div:hover{border-color:var(--blue-bright);box-shadow:0 12px 32px -12px rgba(44,120,160,0.22);transform:translateY(-2px)}
@media (max-width:960px){#leistungen .uk-grid{grid-template-columns:1fr !important;max-width:32rem;margin-left:auto !important;margin-right:auto !important}}
#leistungen h3{font-size:1.25rem;font-weight:600;margin:0 0 0.875rem;color:var(--ink) !important;letter-spacing:-0.018em}
#leistungen .uk-grid > div h3::before{content:'';display:block;width:56px;height:56px;margin-bottom:1.5rem;background-size:contain;background-repeat:no-repeat;background-position:left center;opacity:1}
#leistungen .uk-grid > div:nth-of-type(1) h3::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3E%3Cellipse%20cx='24'%20cy='10'%20rx='14'%20ry='4'%20stroke='%232c78a0'%20stroke-width='2'/%3E%3Cpath%20d='M10%2010v12c0%202.2%206.3%204%2014%204s14-1.8%2014-4V10'%20stroke='%232c78a0'%20stroke-width='2'/%3E%3Cpath%20d='M10%2022v12c0%202.2%206.3%204%2014%204s14-1.8%2014-4V22'%20stroke='%232c78a0'%20stroke-width='2'/%3E%3Cpath%20d='M10%2022c0%202.2%206.3%204%2014%204s14-1.8%2014-4'%20stroke='%232c78a0'%20stroke-width='1.2'%20stroke-dasharray='2%202'%20opacity='0.55'/%3E%3Ccircle%20cx='16'%20cy='16'%20r='1.6'%20fill='%2354b2b7'/%3E%3Ccircle%20cx='32'%20cy='30'%20r='1.6'%20fill='%2354b2b7'/%3E%3C/svg%3E")}
#leistungen .uk-grid > div:nth-of-type(2) h3::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3E%3Crect%20x='13'%20y='13'%20width='22'%20height='22'%20rx='2.5'%20stroke='%232c78a0'%20stroke-width='2'/%3E%3Crect%20x='19'%20y='19'%20width='10'%20height='10'%20rx='1'%20stroke='%232c78a0'%20stroke-width='1.5'%20fill='%232c78a0'%20fill-opacity='0.08'/%3E%3Ccircle%20cx='24'%20cy='24'%20r='1.6'%20fill='%2354b2b7'/%3E%3Cpath%20d='M19%208v5M24%208v5M29%208v5'%20stroke='%232c78a0'%20stroke-width='2'%20stroke-linecap='round'/%3E%3Cpath%20d='M19%2035v5M24%2035v5M29%2035v5'%20stroke='%232c78a0'%20stroke-width='2'%20stroke-linecap='round'/%3E%3Cpath%20d='M8%2019h5M8%2024h5M8%2029h5'%20stroke='%232c78a0'%20stroke-width='2'%20stroke-linecap='round'/%3E%3Cpath%20d='M35%2019h5M35%2024h5M35%2029h5'%20stroke='%232c78a0'%20stroke-width='2'%20stroke-linecap='round'/%3E%3C/svg%3E")}
#leistungen .uk-grid > div:nth-of-type(3) h3::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3E%3Crect%20x='8'%20y='9'%20width='32'%20height='9'%20rx='1.5'%20stroke='%232c78a0'%20stroke-width='2'/%3E%3Ccircle%20cx='13'%20cy='13.5'%20r='1.4'%20fill='%2354b2b7'/%3E%3Cline%20x1='18'%20y1='13.5'%20x2='33'%20y2='13.5'%20stroke='%232c78a0'%20stroke-width='1.5'%20stroke-linecap='round'/%3E%3Crect%20x='8'%20y='20.5'%20width='32'%20height='9'%20rx='1.5'%20stroke='%232c78a0'%20stroke-width='2'/%3E%3Ccircle%20cx='13'%20cy='25'%20r='1.4'%20fill='%2354b2b7'/%3E%3Cline%20x1='18'%20y1='25'%20x2='33'%20y2='25'%20stroke='%232c78a0'%20stroke-width='1.5'%20stroke-linecap='round'/%3E%3Crect%20x='8'%20y='32'%20width='32'%20height='9'%20rx='1.5'%20stroke='%232c78a0'%20stroke-width='2'/%3E%3Ccircle%20cx='13'%20cy='36.5'%20r='1.4'%20fill='%2354b2b7'/%3E%3Cline%20x1='18'%20y1='36.5'%20x2='33'%20y2='36.5'%20stroke='%232c78a0'%20stroke-width='1.5'%20stroke-linecap='round'/%3E%3C/svg%3E")}
#leistungen p{color:var(--text);font-size:0.9375rem;line-height:1.65;margin:0 0 0.875rem}
#leistungen p strong{color:var(--ink);font-weight:600;letter-spacing:-0.005em}
#leistungen p.hd-stack{display:flex;flex-wrap:wrap;gap:0.4rem;margin:1.5rem 0 0;padding-top:1.25rem;border-top:1px dashed var(--line);font-family:var(--mono);font-size:0.6875rem;font-weight:500;line-height:1}
#leistungen .hd-tag{display:inline-block;padding:0.4rem 0.625rem;background:rgba(84,178,183,0.10);color:var(--blue);border-radius:0.3125rem;text-transform:uppercase;letter-spacing:0.06em;white-space:nowrap;transition:background 0.15s, color 0.15s}
#leistungen .uk-grid > div:hover .hd-tag{background:rgba(84,178,183,0.16);color:var(--blue)}
/* Stack pills as editable list (ul/li) — class-free, survives WYSIWYG editing */
#leistungen .uk-grid > div ul{list-style:none !important;display:flex !important;flex-wrap:wrap;gap:0.4rem;margin:1.5rem 0 0 !important;padding:1.25rem 0 0 !important;border-top:1px dashed var(--line)}
#leistungen .uk-grid > div ul li{display:inline-block;padding:0.4rem 0.625rem;margin:0 !important;background:rgba(84,178,183,0.10);color:var(--blue);border-radius:0.3125rem;font-family:var(--mono);font-size:0.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;line-height:1;white-space:nowrap;transition:background 0.15s,color 0.15s}
#leistungen .uk-grid > div:hover ul li{background:rgba(84,178,183,0.16);color:var(--blue)}
#leistungen .uk-text-meta{padding-top:1.25rem;margin-top:auto !important;font-size:0.875rem}
#leistungen .uk-text-meta a{display:inline-flex;align-items:center;gap:0.375rem;color:var(--blue-bright) !important;font-weight:500;text-decoration:none;padding:0.5rem 0.875rem;margin-left:-0.875rem;border-radius:0.375rem;transition:all 0.15s}
#leistungen .uk-text-meta a:hover{color:var(--blue) !important;background:rgba(44,120,160,0.06);text-decoration:none}

#arbeitsweise{padding:6rem 0 !important;background:#fff !important;position:relative;overflow:hidden}
#arbeitsweise h2{text-align:center;font-size:clamp(1.875rem,3vw,2.5rem);font-weight:600;margin:0 0 3rem !important;color:var(--ink) !important;letter-spacing:-0.022em}
#arbeitsweise > .uk-container{position:relative;max-width:52rem}
#arbeitsweise p:not(.uk-text-lead){font-size:1.0625rem;color:var(--text);line-height:1.7;max-width:42rem;margin:0 auto 1.5rem !important;text-align:center}
#arbeitsweise p.uk-text-lead{font-size:1.375rem !important;font-weight:500 !important;color:var(--ink) !important;line-height:1.45 !important;margin:1.5rem auto 0 !important;max-width:42rem !important;letter-spacing:-0.012em;text-align:center;position:relative}
#arbeitsweise p.uk-text-lead:last-of-type{padding:2.5rem 0 0;margin-top:3rem !important}
#arbeitsweise p.uk-text-lead:last-of-type::before{content:'\201E';display:block;font-family:'Georgia','Times New Roman',serif;font-size:3.5rem;color:var(--cyan);opacity:0.55;line-height:0.6;text-align:center;margin-bottom:1.25rem;position:relative}

#aktuell{padding:6rem 0 !important;background:var(--bg-soft) !important}
#aktuell h2{text-align:center;font-size:clamp(1.875rem,3vw,2.5rem);font-weight:600;margin:0 0 3rem !important;color:var(--ink) !important;letter-spacing:-0.022em}
#aktuell .uk-container{max-width:44rem !important}
.hd-aktuell-item-h{font-size:1.25rem !important;font-weight:600 !important;color:var(--ink) !important;line-height:1.3 !important;letter-spacing:-0.012em !important;padding-left:1.75rem !important;position:relative;margin:2rem 0 0.375rem !important}
#aktuell .hd-aktuell-item-h:first-of-type{margin-top:0 !important}
.hd-aktuell-item-h::before{content:'';position:absolute;left:0;top:0.42em;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(84,178,183,0.18);animation:hd-pulse 2.4s cubic-bezier(0.4,0,0.6,1) infinite}
#aktuell .hd-aktuell-item-h:nth-of-type(1)::before{animation-delay:0s}
#aktuell .hd-aktuell-item-h:nth-of-type(2)::before{animation-delay:0.8s}
#aktuell .hd-aktuell-item-h:nth-of-type(3)::before{animation-delay:1.6s}
.hd-aktuell-item-p{font-size:1rem !important;color:var(--text) !important;line-height:1.6 !important;padding-left:1.75rem !important;margin:0 0 0 !important;max-width:none}
.hd-aktuell-item-p:not(:last-of-type){border-bottom:1px solid #d8dde6;padding-bottom:1.75rem !important;margin-bottom:0 !important}
@keyframes hd-pulse{0%,100%{box-shadow:0 0 0 4px rgba(84,178,183,0.20)}50%{box-shadow:0 0 0 10px rgba(84,178,183,0.04)}}
@media (prefers-reduced-motion:reduce){.hd-aktuell-item-h::before{animation:none}}
@media (max-width:760px){.hd-aktuell-item-h{font-size:1.125rem !important}.hd-aktuell-item-p{font-size:0.9375rem !important}}

#cta{padding:6rem 0 !important;position:relative;overflow:hidden}
#cta > .uk-position-cover{background-image:radial-gradient(circle, rgba(255,255,255,0.12) 1px, transparent 1.5px),linear-gradient(135deg,#54b2b7 0%,#2c78a0 50%,#11547f 100%) !important;background-size:24px 24px, auto !important;background-repeat:repeat, no-repeat !important}
#cta h2{text-align:center;color:#fff !important;font-size:clamp(1.875rem,3vw,2.5rem);font-weight:600;margin:0 0 1rem !important;letter-spacing:-0.022em}
#cta .uk-text-lead{text-align:center;color:rgba(255,255,255,0.92) !important;font-size:1.0625rem;margin:0 auto 2rem !important;max-width:none}
#cta .uk-button{background:#fff !important;color:var(--blue) !important;font-weight:500;font-size:0.875rem;border-radius:0.375rem;padding:0.6875rem 1.625rem !important;border:none;transition:all 0.15s;line-height:1.4;min-height:0;box-shadow:0 8px 24px -8px rgba(0,0,0,0.4)}
#cta .uk-button:hover{background:#fff !important;color:var(--ink) !important;transform:translateY(-1px);box-shadow:0 12px 28px -10px rgba(0,0,0,0.5)}

/* scroll-reveal (JS in footerCustomCode toggles .hd-js on <html> and .is-visible on items) */
.hd-js #leistungen .uk-grid > div,.hd-js #aktuell .hd-aktuell-item-h,.hd-js #aktuell .hd-aktuell-item-p{transform:translateY(10px);transition:transform 0.5s ease}
.hd-js #leistungen .uk-grid > div.is-visible,.hd-js #aktuell .hd-aktuell-item-h.is-visible,.hd-js #aktuell .hd-aktuell-item-p.is-visible{transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.hd-js #leistungen .uk-grid > div,.hd-js #aktuell .hd-aktuell-item-h,.hd-js #aktuell .hd-aktuell-item-p{transform:none;transition:none}}

/* language switch pill */
.tm-language{display:inline-flex !important;align-self:center !important;align-items:center !important;text-transform:uppercase;font-size:0.75rem !important;font-weight:600 !important;letter-spacing:0.06em;color:var(--text) !important;background:transparent;border:1px solid #d8dde6;border-radius:999px;padding:0.4rem 0.85rem !important;margin:0 0.75rem !important;min-height:0 !important;line-height:1 !important;height:auto !important;transition:all 0.15s;text-decoration:none !important}
.tm-language:hover{color:var(--blue) !important;border-color:var(--blue-bright);background:var(--bg-soft)}
.tm-language::after{content:'';display:inline-block;width:0;height:0;margin-left:0.45rem;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid currentColor;opacity:0.55}
.uk-navbar-right{align-items:center !important}
#language-modal .uk-subnav a{text-transform:uppercase;font-size:0.875rem;font-weight:500;letter-spacing:0.05em;color:var(--text);padding:0.5rem 1.25rem;border:1px solid #d8dde6;border-radius:0.375rem;transition:all 0.15s}
#language-modal .uk-subnav a:hover{color:var(--blue);border-color:var(--blue-bright);background:var(--bg-soft)}
#language-modal .uk-subnav .uk-active a,#language-modal .uk-subnav a.uk-active{color:#fff;background:var(--blue-bright);border-color:var(--blue-bright)}

/* hero/cta cover blend fix — theme emits an inline overlay blend on the
   section cover; neutralise it so the gradient renders true to navy */
#hero>.uk-position-cover,#cta>.uk-position-cover{background-color:transparent !important;background-blend-mode:normal !important}
