.dms-cat-entry{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:28px;align-items:center;background:#fff;border:1px solid #ccd4e5;border-radius:8px;padding:28px;margin:28px 0;color:#001871}.dms-cat-entry .dms-cat-logo{display:block;max-width:270px;width:100%;margin:auto}.dms-cat-entry h3{font-size:clamp(24px,3vw,36px);line-height:1.2;margin:0 0 16px}.dms-cat-entry p{font-size:16px;line-height:1.65}.dms-cat-entry .dms-cat-actions{display:flex;flex-wrap:wrap;gap:12px}.dms-cat-entry .dms-cat-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border:1px solid #001871;border-radius:4px;color:#001871;text-decoration:none;font-weight:600}.dms-cat-entry .dms-cat-actions a:first-child{background:#001871;color:white}.dms-cat-entry a:focus-visible{outline:3px solid #00b0b9;outline-offset:3px}@media(max-width:680px){.dms-cat-entry{grid-template-columns:1fr;padding:20px;gap:16px}.dms-cat-entry .dms-cat-logo{max-width:230px}.dms-cat-entry .dms-cat-actions{flex-direction:column}.dms-cat-entry .dms-cat-actions a{width:100%;box-sizing:border-box}}

/* DMS host fixes: preserve intrinsic composition instead of cropping portfolio artwork. */
.product-section > *,.app-grid > *,.product-grid > *{min-width:0}
.product-visual{width:100%;max-width:640px;justify-self:center}
.product-visual img{display:block;height:auto;max-width:100%;object-fit:contain;aspect-ratio:auto}
#xx-travel .product-visual{max-width:560px}
.dms-cat-entry .dms-cat-logo{height:auto}
.dms-cat-model{margin:24px 0 40px;color:#001871}
.dms-cat-model>h3{font-size:clamp(24px,3vw,36px);line-height:1.2}
.dms-cat-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.dms-cat-model article{min-width:0;background:#fff;border:1px solid #ccd4e5;border-radius:8px;padding:24px}
.dms-cat-model h4{font-size:22px;line-height:1.3;margin:20px 0 12px}
.dms-cat-model p{font-size:16px;line-height:1.65}
.dms-cat-model small{display:block;margin-top:16px;line-height:1.5}
.dms-capability-image{display:block;width:100%;height:auto;max-height:400px;object-fit:contain}
.dms-model-link{display:inline-flex;align-items:center;min-height:44px;color:#001871;font-weight:600}
.dms-boe-ring{position:relative;width:min(100%,360px);aspect-ratio:1;margin:20px auto 40px}
.dms-boe-nodes{position:absolute;inset:18%;border:2px solid #001871;border-radius:50%}
.dms-boe-nodes>span{position:absolute;left:50%;top:50%;width:42px;height:42px;display:grid;place-items:center;font-size:42px;line-height:1;color:#001871;transform:translate(-50%,-50%) rotate(calc(var(--i)*45deg)) translateY(-100px)}
.dms-boe-outer{position:absolute;inset:0;border:2px dashed #00b0b9;border-radius:50%;font-size:32px;color:#147746;text-align:center}
.dms-boe-center{position:absolute;inset:33%;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;background:#edf5f8}
.dms-boe-center b{font-size:28px}.dms-boe-center span{font-size:12px}
@media(max-width:980px){.product-visual{max-width:560px}.dms-cat-model-grid{gap:20px}.dms-boe-nodes>span{transform:translate(-50%,-50%) rotate(calc(var(--i)*45deg)) translateY(-75px)}}
@media(max-width:680px){.dms-cat-model-grid{grid-template-columns:1fr}.dms-cat-model article{padding:20px}.dms-boe-ring{max-width:300px}.dms-boe-nodes>span{transform:translate(-50%,-50%) rotate(calc(var(--i)*45deg)) translateY(-75px)}.product-visual{max-width:100%}.nav-links a,.lang-switch a{min-height:44px;display:inline-flex;align-items:center}.product-route-row{grid-template-columns:1fr}.product-route-row a{min-height:44px}}
@media(max-width:980px){.site-footer a{display:inline-flex;align-items:center;min-height:44px}.nav-links a{display:inline-flex;align-items:center;min-height:44px}}
/* Long German headings must fit narrow phones without changing their wording. */
.product-copy,.section-heading,.dms-cat-entry>*{min-width:0;max-width:100%}
.product-copy h2,.section-heading h2,.dms-cat-entry h3,.dms-cat-model h3,.dms-cat-model h4{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:360px){.product-copy p,.product-copy li,.app-card,.benefit-card{overflow-wrap:anywhere}.metrics-row{grid-template-columns:1fr}}

.contact-band>*{min-width:0;max-width:100%}.contact-band h2,.contact-title-line{overflow-wrap:anywhere;white-space:normal}.contact-actions{min-width:0;max-width:100%}.contact-actions .button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}

.dms-model-details{border:1px solid #ccd4e5;border-radius:8px;padding:0 20px;margin:20px 0}.dms-model-details>summary{min-height:48px;display:list-item;padding:16px 8px;color:#001871;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
