.dpks-contact-page{background:#f4f9f8}.ct-intro{padding:64px 0 38px;text-align:center;background:radial-gradient(ellipse at 80% 0%,#d9efea,transparent 70%)}.ct-intro h1{font-size:clamp(34px,4vw,54px);line-height:1.15;margin:0 0 22px}.ct-intro h1 span{color:#007e79}.ct-intro p:last-child{color:#4b6678;font-size:18px;line-height:1.7}.ct-section{padding:12px 0 80px}.ct-layout{display:grid;grid-template-columns:.8fr 1.35fr;gap:52px;align-items:start}.ct-aside{padding:28px 0}.ct-brand{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}.ct-brand img{width:180px;height:auto}.ct-brand span{font-size:13px;color:#567180}.ct-aside h2{font-size:29px;line-height:1.3;margin-bottom:18px}.ct-aside>p{font-size:16px;color:#546d7a;max-width:380px}.ct-expect{list-style:none;padding:0;margin:30px 0;display:grid;gap:24px}.ct-expect li{display:flex;gap:16px}.ct-expect li>span{width:35px;height:35px;flex-shrink:0;display:grid;place-items:center;background:#dfeee9;color:#00766f;border-radius:50%;font-size:12px;font-weight:700}.ct-expect strong{font-size:16px}.ct-expect p{font-size:14px;line-height:1.6;color:#546d7a;margin-top:5px;max-width:330px}.ct-existing{padding-top:24px;border-top:1px solid #d4e4df;font-size:14px;color:#4b6574}.ct-existing p,.ct-existing a{margin-top:10px}.ct-card{background:white;padding:36px;border:1px solid #d8e6e1;border-radius:24px;box-shadow:0 20px 65px #133f4e0b;min-width:0}.ct-progress{margin-bottom:30px}.ct-progress>div{display:flex;justify-content:space-between;font-size:12px;color:#507080;gap:12px}.ct-progress progress{display:block;width:100%;height:5px;margin-top:12px;appearance:none;border:0;border-radius:9px;overflow:hidden;background:#eaf0ee}.ct-progress progress::-webkit-progress-bar{background:#eaf0ee}.ct-progress progress::-webkit-progress-value{background:#008b83}.ct-progress progress::-moz-progress-bar{background:#008b83}.ct-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#008079;margin-bottom:10px!important}.ct-step h2{font-size:28px;line-height:1.25;margin-bottom:12px}.ct-hint{font-size:14px;color:#5c7280;line-height:1.65;margin:12px 0 20px!important}.ct-step fieldset{border:0;padding:0;margin:24px 0;min-width:0}.ct-step legend{font-size:15px;font-weight:600;margin-bottom:12px}.ct-role{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ct-role legend{grid-column:1/-1}.ct-role label{position:relative;cursor:pointer}.ct-role input{position:absolute;top:17px;right:15px;accent-color:#008079;width:17px;height:17px}.ct-choice{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid #d7e4df;border-radius:14px;background:#fafcfb;min-height:178px}.ct-choice svg{width:27px;height:27px;fill:none;stroke:#008079;stroke-width:1.6;margin-bottom:4px}.ct-choice strong{font-size:17px}.ct-choice small{font-size:13px;line-height:1.55;color:#536e7d}.ct-role input:checked+.ct-choice{border-color:#008079;background:#eaf6f2;box-shadow:inset 0 0 0 1px #008079}.ct-role input:focus-visible+.ct-choice{outline:2px solid #007f79;outline-offset:3px}.ct-intents{display:grid;gap:10px}.ct-intents label{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #d9e5e0;border-radius:10px;font-size:15px;cursor:pointer}.ct-intents label:has(input:checked){background:#f1f8f5;border-color:#86b7ac}.ct-intents input,.ct-privacy input{accent-color:#007f79;width:17px;height:17px;flex-shrink:0}.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.ct-field{display:block;margin-bottom:18px;min-width:0}.ct-field>span{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.ct-field span small{font-weight:400;color:#617682;font-size:11px;margin-left:5px}.ct-field b{color:#007f79}.ct-field input,.ct-field select,.ct-field textarea{width:100%;max-width:100%;background:white;border:1px solid #b8cec7;border-radius:9px;padding:12px;font:inherit;font-size:16px;color:#16394e;min-height:46px;box-shadow:none}.ct-field textarea{resize:vertical}.ct-field select{appearance:auto}.ct-field>small{font-size:12px;color:#637883;display:block;margin-top:6px;line-height:1.5}.ct-field .ct-field-error{color:#a3332b}.ct-field-error:empty{display:none}.ct-field [aria-invalid=true]{border-color:#b23930}.ct-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:24px}.ct-back{margin-right:auto;padding:10px 0;background:none;border:0;color:#315969;font:inherit;font-size:14px;cursor:pointer}.ct-bottom-note{text-align:center;color:#637d86;font-size:12px;margin-top:18px!important}.ct-summary{background:#f4f8f6;border:1px solid #deebe5;border-radius:12px;padding:18px;margin:8px 0 24px}.ct-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.ct-summary h3{font-size:15px}.ct-summary button{font:inherit;font-size:12px;background:white;border:1px solid #b8d6cd;border-radius:6px;color:#007b75;padding:6px 8px;cursor:pointer}.ct-summary dl{margin:14px 0 0;font-size:13px}.ct-summary dl>div{display:grid;grid-template-columns:100px 1fr;gap:12px;margin-top:7px}.ct-summary dt{color:#5b7380}.ct-summary dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.ct-privacy{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.65}.ct-privacy a{color:#006f6a;font-weight:600}.ct-validation,.ct-server-errors{color:#9b3029;font-size:14px}.ct-validation:empty{display:none}.ct-server-errors{background:#fff3ef;padding:16px;border-radius:10px;margin-bottom:22px}.ct-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ct-success{text-align:center;padding:36px 8px}.ct-success-icon{display:grid;place-items:center;background:#def2e8;border-radius:50%;width:64px;height:64px;margin:0 auto 25px;color:#007e70;font-size:30px}.ct-success h2{font-size:30px;margin-bottom:20px}.ct-success p{margin:14px 0;color:#506c79}.ct-success a{margin-top:20px}.ct-nojs-label{margin:24px 0 16px}.ct-enhanced .ct-nojs-label{display:none}.ct-contact-preview{background:#fff4d9;color:#725815;padding:12px 20px;font-size:14px;text-align:center}.ct-step+.ct-step{margin-top:30px}.ct-enhanced .ct-step{margin-top:0}.ct-card :focus-visible{outline:2px solid #007f79;outline-offset:3px}
@media(max-width:1000px){.ct-layout{gap:28px;grid-template-columns:.7fr 1.3fr}.ct-card{padding:28px}.ct-grid{grid-template-columns:1fr}}
@media(max-width:800px){.ct-layout{display:flex;flex-direction:column;gap:28px}.ct-card{width:100%;order:0}.ct-aside{order:1;display:block;padding:0}.ct-aside>p{max-width:100%}.ct-expect{grid-template-columns:repeat(3,1fr);gap:18px}.ct-intro{padding-top:40px}.ct-intro p br{display:none}.ct-brand{margin-bottom:18px}.ct-section{padding-bottom:48px}}
@media(max-width:540px){.ct-intro{padding:32px 0 24px}.ct-intro h1{font-size:34px}.ct-intro p:last-child{font-size:16px}.ct-card{padding:22px 18px;border-radius:18px}.ct-step h2{font-size:25px}.ct-role{gap:10px}.ct-choice{padding:16px 12px;min-height:186px}.ct-choice strong{font-size:16px}.ct-choice small{font-size:12px}.ct-expect{grid-template-columns:1fr}.ct-summary>div{align-items:flex-start}.ct-summary dl>div{grid-template-columns:1fr;gap:2px}.ct-controls .dpks-button{padding:13px 18px;font-size:15px}}
@media(prefers-reduced-motion:no-preference){.ct-choice{transition:background .18s,border-color .18s}.ct-enhanced .ct-step:not([hidden]){animation:ct-enter .2s ease-out}@keyframes ct-enter{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}}

/* 2.1.1: precise active navigation, aligned controls and single focus indicator. */
.dpks-home .dpks-header nav a.dpks-button[aria-current="page"],.dpks-home .dpks-header nav a.dpks-button[aria-current="page"]:hover,.dpks-home .dpks-header nav a.dpks-button[aria-current="page"]:focus{color:#fff!important;background:#007e79}
.ct-intro{padding-bottom:26px}
.ct-grid{align-items:start}
.ct-field input,.ct-field select{height:50px;min-height:50px;line-height:1.4;box-sizing:border-box}
.ct-field textarea{min-height:112px;line-height:1.55}
.ct-field textarea::placeholder,.ct-field input::placeholder{color:#647b88;opacity:1}
.ct-role input:checked+.ct-choice{box-shadow:none}
.ct-card .ct-role input:focus-visible{outline:none}
.ct-role input:focus-visible+.ct-choice{outline:2px solid #007f79;outline-offset:4px}
.ct-card .ct-step h2[tabindex="-1"]:focus{outline:none}
.ct-card .ct-step h2[tabindex="-1"]:focus-visible{box-shadow:inset 3px 0 #008079;padding-left:12px}
.ct-choice{min-height:160px}
.ct-field>span{min-height:22px}

/* 2.1.2: clear stages and resilient contact layouts. */
.ct-followup-title{font-size:14px;line-height:1.5;margin:28px 0 0;color:#315969}
.ct-expect{margin:18px 0 28px;gap:20px}
.ct-stages{display:flex;gap:8px;list-style:none;padding:0;margin:16px 0 0;counter-reset:ct-stage}
.ct-stages li{flex:1;min-width:0;display:flex;align-items:center;gap:8px;color:#526c79;font-size:13px;line-height:1.5;counter-increment:ct-stage}
.ct-stages li::before{content:counter(ct-stage);display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;background:#edf3f1;border:1px solid #d7e4df;border-radius:50%;font-size:12px}
.ct-stages li[aria-current="step"]{color:#006d68;font-weight:700}
.ct-stages li[aria-current="step"]::before{background:#007e79;border-color:#007e79;color:#fff}
.ct-stages li.is-complete::before{content:'✓';background:#e1f2eb;color:#006d68;border-color:#b4d7ca}
.ct-stages [hidden]{display:none!important}
.ct-progress progress{margin-top:16px}
.ct-grid{align-items:stretch}
.ct-grid>.ct-field{display:flex;flex-direction:column}
.ct-grid>.ct-field>span{flex:1}
.ct-field textarea{field-sizing:content;max-height:360px}
.ct-summary>div{flex-wrap:wrap}
.ct-summary button,.ct-back{min-height:44px}
.ct-server-errors a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ct-server-errors:focus{outline:2px solid #9b3029;outline-offset:4px}
.ct-privacy{cursor:pointer}
.ct-privacy input{margin-top:4px}
.ct-field-error{color:#9b3029;font-size:12px;line-height:1.5}
.ct-controls [disabled]{opacity:.65;cursor:wait}
.dpks-contact-page .ct-step h2{overflow-wrap:break-word}
@media(max-width:800px){.ct-expect{grid-template-columns:1fr 1fr}.ct-aside{width:100%}}
@media(max-width:540px){.ct-expect{grid-template-columns:1fr}.ct-stages{gap:6px}.ct-stages li{gap:5px;font-size:12px}.ct-stages li::before{width:23px;height:23px}.ct-role{grid-template-columns:1fr}.ct-choice{min-height:0;padding:16px 42px 16px 16px;gap:7px}.ct-choice svg{width:24px;height:24px;margin:0}.ct-choice strong{font-size:17px}.ct-choice small{font-size:14px}.ct-progress>div{flex-wrap:wrap}}

/* 2.1.3: contact-only typography, spacing and summary hierarchy. */
.dpks-contact-page .ct-aside>p{margin:0;line-height:1.75;max-width:36ch}
.dpks-contact-page .ct-aside .ct-followup-title{margin:30px 0 18px;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#526e79}
.dpks-contact-page .ct-expect{margin:0 0 30px;gap:24px}
.dpks-contact-page .ct-expect strong{display:block;font-size:15px;line-height:1.5;font-weight:700}
.dpks-contact-page .ct-expect p{margin:6px 0 0;font-size:14px;line-height:1.65}
.dpks-contact-page .ct-existing{padding-top:22px}
.dpks-contact-page .ct-existing p{margin:8px 0 0;font-size:13px;line-height:1.65}
.dpks-contact-page .ct-step h2{font-size:clamp(24px,2.1vw,28px);line-height:1.3;letter-spacing:-.02em;margin:0 0 12px}
.dpks-contact-page .ct-summary{padding:20px 22px;border-radius:14px;background:#f3f8f6;margin:14px 0 24px}
.dpks-contact-page .ct-summary>div{padding-bottom:14px;border-bottom:1px solid #dce9e3;gap:12px}
.dpks-contact-page .ct-summary h3{margin:0;font-size:15px;line-height:1.5;letter-spacing:0}
.dpks-contact-page .ct-summary button{padding:9px 12px;line-height:1.5;font-weight:600;flex-shrink:0}
.dpks-contact-page .ct-summary dl{margin:16px 0 0;font-size:14px;line-height:1.65}
.dpks-contact-page .ct-summary dl>div{grid-template-columns:minmax(110px,28%) minmax(0,1fr);gap:16px;margin:10px 0 0}
.dpks-contact-page .ct-summary dl>div:first-child{margin-top:0}
.dpks-contact-page .ct-summary dt{font-weight:500;color:#526b77;overflow-wrap:anywhere}
.dpks-contact-page .ct-summary dd{color:#16394e;font-weight:500}
.dpks-contact-page .ct-controls{padding-top:20px;border-top:1px solid #e3ece8;margin-top:26px;flex-wrap:wrap}
.dpks-contact-page .ct-controls .dpks-button{min-height:50px;white-space:normal;text-align:center;max-width:100%}
.dpks-contact-page .ct-controls .ct-back{padding:12px 0;font-weight:600}
@media(max-width:800px){
 .dpks-contact-page .ct-aside>p{max-width:48ch}
 .dpks-contact-page .ct-aside .ct-followup-title{margin-top:24px}
}
@media(max-width:540px){
 .dpks-contact-page .ct-summary{padding:16px}
 .dpks-contact-page .ct-summary>div{align-items:flex-start}
 .dpks-contact-page .ct-summary dl>div{grid-template-columns:1fr;gap:2px;margin-top:14px}
 .dpks-contact-page .ct-summary dt{font-size:12px}
 .dpks-contact-page .ct-controls{gap:12px}
 .dpks-contact-page .ct-controls .ct-next{flex:1;min-width:0}
 .dpks-contact-page .ct-existing{padding-bottom:8px}
}

/* 2.1.4: fully shaped secondary back action with explicit interaction states. */
.dpks-contact-page .ct-controls .ct-back{
 display:inline-flex;align-items:center;justify-content:center;align-self:stretch;
 min-height:50px;min-width:100px;max-width:100%;padding:15px 18px;
 border:1px solid #91b9af;border-radius:var(--dpks-button-radius,8px);
 background:#f4f9f7;color:#006b65;font:600 14px/1.4 'Plus Jakarta Sans',sans-serif;
 text-align:center;text-decoration:none;box-shadow:none;transform:none;
 transition:background-color .18s,border-color .18s,color .18s;
}
.dpks-contact-page .ct-controls .ct-back:focus{background:#f4f9f7;color:#006b65;box-shadow:none}
.dpks-contact-page .ct-controls .ct-back:hover{background:#e1f1eb;border-color:#5e9b8d;color:#005a54;box-shadow:none}
.dpks-contact-page .ct-controls .ct-back:active{background:#cce5dc;border-color:#367c6d;color:#004d47;box-shadow:none;transform:none}
.dpks-contact-page .ct-controls .ct-back:focus:not(:focus-visible){outline:none}
.dpks-contact-page .ct-controls .ct-back:focus-visible{outline:3px solid #007a76;outline-offset:4px}
@media(max-width:540px){.dpks-contact-page .ct-controls .ct-back{padding:13px 18px;font-size:15px}}

/* 2.16.0: inline errors must not stretch neighbouring field captions. */
.dpks-contact-page .ct-grid{align-items:start}
.dpks-contact-page .ct-grid>.ct-field>span{flex:0 0 auto}
.dpks-contact-page .ct-validation:not(:empty){margin:20px 0 0;line-height:1.6}

/* 2.17.2: restrained privacy information, scoped to the contact form. */
.ct-data-care{margin:1.5rem 0 1.75rem;max-width:65ch}
.ct-data-care h3{font-size:1.05rem;line-height:1.45;margin:0 0 .45rem;color:var(--dpks-navy,#17364b)}
.ct-data-care p,.ct-consent-hint{font-size:.9375rem;line-height:1.65;color:#425466;margin:0}
.ct-consent-hint{margin:.65rem 0 0;overflow-wrap:anywhere}
.ct-privacy{align-items:flex-start;font-size:.9375rem}
.ct-privacy input{flex:0 0 auto;min-width:20px;min-height:20px;margin-top:.2rem}
.ct-privacy-link{margin:.45rem 0 1.25rem;font-size:.9375rem}
.ct-privacy-link a{text-decoration:underline;text-underline-offset:3px}
.ct-company-authority{line-height:1.5}

/* 2.17.4: align consent help with its label; access notices remain flush left. */
#dpks-contact-form .ct-privacy{gap:12px}
#dpks-contact-form .ct-privacy input{box-sizing:border-box;width:20px;height:20px;margin-left:0;margin-right:0}
#dpks-contact-form #ct-consent-hint{margin-left:32px}
#dpks-contact-form .ct-privacy-link{margin-left:32px}
#dpks-contact-form [data-consent-block][hidden] ~ .ct-privacy-link{margin-left:0}

/* 2.17.5: mobile form completion. DOM/tab order stays unchanged. */
@media(max-width:540px){
 .dpks-contact-page #dpks-contact-form .ct-controls{flex-direction:column;align-items:stretch;gap:12px}
 .dpks-contact-page #dpks-contact-form .ct-controls>button{box-sizing:border-box;flex:0 0 auto;width:100%;min-width:0;max-width:100%;margin-left:0;margin-right:0;min-height:50px;text-align:center}
 .dpks-contact-page #dpks-contact-form .ct-controls>button[hidden]{display:none!important}
 #dpks-contact-form #ct-consent-hint,#dpks-contact-form .ct-privacy-link{margin-left:0}
}

/* 2.17.18 – mobile contact form spacing, shared by DE and EN. */
@media(max-width:540px){
 .dpks-contact-page .ct-stages{display:flex;gap:10px;align-items:flex-start}
 .dpks-contact-page .ct-stages li{flex:1 1 0;min-width:0;flex-direction:column;gap:7px;text-align:center;line-height:1.35}
 .dpks-contact-page .ct-field>span>small{display:block;margin:4px 0 0;line-height:1.4}
 .dpks-contact-page .ct-field select{padding-left:10px;padding-right:24px}
}
