/* German (DACH) landing page — /de. Prefix: de- */
.de-page{--r:#E3001D;--rd:#b8001a;--k:#0b0b0f;--g:#f4f4f6;--mu:#5b5b68;--bd:#e4e4ea;color:#1b1b22;line-height:1.7;font-family:'Poppins',sans-serif}
.de-page *{box-sizing:border-box}
.de-page ul,.de-page ol{margin:0;padding:0;list-style:none}
.de-page h1,.de-page h2,.de-page h3,.de-page p{margin:0}
.de-page a{text-decoration:none}
.de-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.de-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.de-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:6px;border:2px solid transparent;font-weight:600;font-size:15px;cursor:pointer;transition:.25s;line-height:1.4;font-family:inherit}
.de-btn-red{background:var(--r);color:#fff}.de-btn-red:hover{background:var(--rd)}
.de-btn-line{border-color:var(--k);color:var(--k);background:transparent}.de-btn-line:hover{background:var(--k);color:#fff}
.de-btn-dark{background:var(--k);color:#fff}.de-btn-dark:hover{background:var(--r)}
.de-tag{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--r);margin-bottom:14px}
.de-sec{padding:96px 0}
.de-sec h2{font-size:clamp(26px,3.4vw,42px);line-height:1.25;font-weight:700;letter-spacing:-.01em}
.de-head{max-width:760px;margin:0 auto 52px;text-align:center}
.de-head p:last-child{color:var(--mu);margin-top:16px;font-size:16px}
.de-head-l{margin-left:0;text-align:left}

/* hero (white) */
.de-hero{background:#fff;padding:170px 0 90px;position:relative;overflow:hidden}
.de-page{overflow-x:clip}
.de-hero:before{content:"";position:absolute;right:-160px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(227,0,29,.12),transparent 70%)}
.de-hero-in{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.de-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;color:var(--mu);margin-bottom:22px}
.de-eyebrow span{width:36px;height:2px;background:var(--r)}
.de-hero h1{font-size:clamp(34px,5.2vw,62px);line-height:1.12;font-weight:800;letter-spacing:-.02em;margin-bottom:22px}
.de-hero h1 em{font-style:normal;color:var(--r)}
.de-lead{font-size:17.5px;color:var(--mu);max-width:640px;margin-bottom:32px}
.de-cta{display:flex;flex-wrap:wrap;gap:14px}
.de-hero-viz{position:relative;height:440px}
.de-card{position:absolute;background:#fff;border:1px solid var(--bd);border-radius:18px;padding:18px 22px;box-shadow:0 22px 50px rgba(11,11,15,.12);display:flex;flex-direction:column;animation:de-fl 6s ease-in-out infinite}
.de-card small{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mu)}
.de-card b{font-size:46px;font-weight:800;line-height:1.1}
.de-card>span{font-size:13px;color:var(--mu)}
.de-c1{top:0;left:6%;width:190px}
.de-c2{top:70px;right:0;width:200px;background:var(--k);color:#fff;border-color:var(--k);animation-delay:-2s}
.de-c2 small,.de-c2>span{color:#b9b9c6}.de-c2 b{color:var(--r)}
.de-c3{top:215px;left:0;width:210px;animation-delay:-4s}
.de-c4{bottom:0;right:8%;width:215px;background:var(--r);color:#fff;border-color:var(--r);animation-delay:-1s}
.de-c4>span{color:#ffd9de}
.de-flagrow{display:flex;gap:6px;margin-bottom:8px}
.de-flagrow span{font-size:12px;font-weight:700;background:rgba(255,255,255,.2);border-radius:5px;padding:1px 8px}
.de-stars{color:#f4b400;font-size:13px;margin-top:4px}
.de-orb{position:absolute;border-radius:50%;z-index:-1}
.de-o1{width:300px;height:300px;border:2px dashed rgba(227,0,29,.35);top:60px;left:25%;animation:de-spin 40s linear infinite}
.de-o2{width:120px;height:120px;background:var(--g);bottom:30px;left:6%}
@keyframes de-fl{50%{transform:translateY(-12px)}}
@keyframes de-spin{to{transform:rotate(360deg)}}

/* marquee band (black) */
.de-band{background:var(--k);overflow:hidden;padding:18px 0}
.de-band-track{display:flex;gap:44px;width:max-content;animation:de-mq 38s linear infinite}
.de-band span{display:flex;align-items:center;gap:44px;color:#fff;font-weight:600;font-size:17px;white-space:nowrap}
.de-band span:after{content:"/";color:var(--r);font-weight:800}
@keyframes de-mq{to{transform:translateX(-50%)}}

/* about (grey) */
.de-about{background:var(--g)}
.de-about-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.de-about-txt p{color:var(--mu);font-size:16.5px;margin-bottom:24px}
.de-checks li{position:relative;padding:12px 0 12px 34px;border-top:1px solid var(--bd);font-weight:500}
.de-checks li:before{content:"";position:absolute;left:0;top:18px;width:18px;height:18px;border-radius:50%;background:var(--r) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3l2.2 2.2 4.8-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}

/* services (white) */
.de-services{background:#fff}
.de-list li{display:grid;grid-template-columns:70px 1.05fr 1.6fr 52px;gap:26px;align-items:center;padding:28px 18px;border-top:1px solid var(--bd);transition:.3s;position:relative}
.de-list li:last-child{border-bottom:1px solid var(--bd)}
.de-list li:hover{background:var(--k);color:#fff;border-color:var(--k)}
.de-n{font-size:15px;font-weight:700;color:var(--r)}
.de-list h3{font-size:21px;font-weight:700;line-height:1.3}
.de-list p{font-size:14.5px;color:var(--mu);transition:.3s}
.de-list li:hover p{color:#c4c4d0}
.de-arrow{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--bd);display:grid;place-items:center;color:var(--k);transition:.3s}
.de-list li:hover .de-arrow{background:var(--r);border-color:var(--r);color:#fff;transform:rotate(-45deg)}

/* DACH (black) */
.de-dach{background:var(--k);color:#fff}
.de-dach .de-head p:last-child{color:#c4c4d0}
.de-cn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.de-cn{position:relative;border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:34px 28px;overflow:hidden;display:flex;flex-direction:column;transition:.3s;background:rgba(255,255,255,.03)}
.de-cn:hover{border-color:var(--r);background:rgba(227,0,29,.08)}
.de-code{position:absolute;right:16px;top:-6px;font-size:96px;font-weight:800;line-height:1;color:rgba(255,255,255,.06)}
.de-cn h3{font-size:26px;font-weight:700;margin-bottom:12px;position:relative}
.de-cn p{font-size:14.5px;color:#c4c4d0;margin-bottom:20px}
.de-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;flex:1;align-content:flex-start}
.de-chips span{font-size:12.5px;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px 13px}
.de-link{color:#fff;font-weight:600;font-size:14px;display:inline-flex;gap:10px;align-items:center}
.de-link i{color:var(--r);transition:.2s}.de-link:hover i{transform:translateX(5px)}

/* industries (grey) */
.de-ind{background:var(--g)}
.de-pills{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:920px;margin:0 auto}
.de-pills li{background:#fff;border:1px solid var(--bd);border-radius:999px;padding:12px 24px;font-weight:600;font-size:15px;transition:.25s}
.de-pills li:hover{background:var(--r);border-color:var(--r);color:#fff;transform:translateY(-3px)}

/* process (white) */
.de-process{background:var(--g)}
.de-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative}
.de-steps:before{content:"";position:absolute;top:22px;left:5%;right:5%;height:2px;background:repeating-linear-gradient(90deg,var(--r) 0 8px,transparent 8px 16px)}
.de-steps li{position:relative;text-align:center;padding:0 6px}
.de-dot{position:relative;width:46px;height:46px;border-radius:50%;background:var(--r);color:#fff;font-weight:700;display:grid;place-items:center;margin:0 auto 18px;box-shadow:0 0 0 8px var(--g)}
.de-steps h3{font-size:16.5px;margin-bottom:8px;line-height:1.4}
.de-steps p{font-size:13.5px;color:var(--mu)}

/* faq (grey) */
.de-faq{background:#fff}
.de-faq-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.de-faq-side{position:sticky;top:110px}
.de-faq-side p:not(.de-tag){color:var(--mu);margin:16px 0 26px}
.de-acc details{background:var(--g);border:1px solid var(--bd);border-radius:12px;margin-bottom:12px;overflow:hidden}
.de-acc details[open]{border-color:var(--r)}
.de-acc summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:600;font-size:15.5px;display:flex;justify-content:space-between;align-items:center;gap:16px;line-height:1.5}
.de-acc summary::-webkit-details-marker{display:none}
.de-acc summary i{flex:0 0 28px;height:28px;border-radius:50%;background:var(--g);color:var(--r);display:grid;place-items:center;font-size:11px;transition:.3s}
.de-acc details[open] summary i{transform:rotate(45deg);background:var(--r);color:#fff}
.de-acc details p{padding:0 22px 20px;color:var(--mu);font-size:14.5px}

/* contact (black) */
.de-contact{background:var(--k);color:#fff}
.de-contact-in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.de-contact-copy>p:not(.de-tag){color:#c4c4d0;margin:16px 0 28px}
.de-info{display:grid;gap:14px}
.de-info li{display:flex;align-items:center;gap:14px}
.de-info i{width:44px;height:44px;border-radius:50%;background:rgba(227,0,29,.18);color:var(--r);display:grid;place-items:center;font-size:17px}
.de-info a{color:#fff;font-weight:600}.de-info a:hover{color:var(--r)}
.de-form{background:#fff;color:#1b1b22;border-radius:20px;padding:34px 30px;display:grid;gap:14px}
.de-form h3{font-size:22px}
.de-form input,.de-form select,.de-form textarea{width:100%;padding:13px 16px;border-radius:8px;border:1px solid var(--bd);background:#fff;color:#1b1b22;font-size:15px;font-family:inherit;outline:0;transition:.2s}
.de-form input:focus,.de-form select:focus,.de-form textarea:focus{border-color:var(--r);box-shadow:0 0 0 3px rgba(227,0,29,.12)}
.de-form textarea{resize:vertical}
.de-submit{width:100%}.de-submit:disabled{opacity:.7;cursor:wait}
.de-note{font-size:14px;min-height:20px}.de-ok{color:#0f8a3d}.de-err{color:#c1121f}

@media(max-width:1024px){
 .de-hero-in{grid-template-columns:1fr}
 .de-hero-viz{height:400px;max-width:520px;width:100%}
 .de-cn-grid{grid-template-columns:1fr 1fr}
 .de-steps{grid-template-columns:repeat(3,1fr);row-gap:30px}.de-steps:before{display:none}
 .de-list li{grid-template-columns:50px 1fr 52px}.de-list p{grid-column:2/3;grid-row:2}.de-list .de-arrow{grid-row:1/3;grid-column:3}
}
@media(max-width:860px){
 .de-sec{padding:66px 0}
 .de-about-in,.de-faq-in,.de-contact-in{grid-template-columns:1fr;gap:34px}
 .de-faq-side{position:static}
}
@media(max-width:600px){
 .de-hero{padding:130px 0 56px}
 .de-lead{font-size:16px}
 .de-cta .de-btn{width:100%}
 .de-hero-viz{height:360px}
 .de-card b{font-size:34px}
 .de-c1{width:150px;left:0}.de-c2{width:160px}.de-c3{width:165px;top:190px}.de-c4{width:170px;right:0}
 .de-cn-grid,.de-steps{grid-template-columns:1fr}
 .de-list li{padding:22px 4px;gap:12px;grid-template-columns:30px minmax(0,1fr) 44px}
 .de-arrow{width:42px;height:42px}
 .de-list h3,.de-list p{overflow-wrap:anywhere}
 .de-list h3{font-size:18px}
 .de-form{padding:26px 18px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
