/* Rechenzentrum und Managed Hosting */
.dc-page { background: var(--paper); }
.dc-page .section-label { margin-bottom: 12px; color: var(--blue); font-size: 13px; font-weight: 800; letter-spacing: .095em; }
.dc-intro { padding: 76px 0 67px; background: #fff; }
.dc-intro-layout { position: relative; display: grid; grid-template-columns: 1.08fr .72fr; align-items: end; gap: 58px; min-height: 250px; padding-bottom: 29px; border-bottom: 1px solid var(--line); }
.dc-intro-layout > div, .dc-intro-layout > p { position: relative; z-index: 1; }
.dc-intro h1 { max-width: 860px; margin: 0; font-size: clamp(49px, 5.1vw, 75px); line-height: .98; letter-spacing: -.065em; }
.dc-intro h1 span, .dc-heading h2 span, .dc-faq h2 span { color: var(--blue); }
.dc-intro-layout > p { max-width: 470px; margin: 0; padding-bottom: 5px; color: var(--muted); font-size: 16px; line-height: 1.68; }
.dc-intro-mark { position: absolute; top: -19px; right: 0; color: #e7eeec; font-size: clamp(100px, 14vw, 190px); font-weight: 800; letter-spacing: -.1em; line-height: .75; pointer-events: none; }

.dc-hero { padding: 0 0 96px; background: #fff; }
.dc-hero-panel { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 610px; overflow: hidden; border-radius: 12px; background: #22292b; }
.dc-hero-copy { display: flex; align-items: flex-start; flex-direction: column; justify-content: center; padding: clamp(42px, 5vw, 68px); color: #fff; }
.dc-hero-copy .section-label, .dc-managed .section-label { color: var(--blue-soft); }
.dc-hero-copy h2, .dc-managed h2 { margin: 0 0 20px; color: #fff; font-size: clamp(40px, 4vw, 59px); line-height: .98; letter-spacing: -.065em; }
.dc-hero-copy h2 span, .dc-managed h2 span { color: var(--blue-soft); }
.dc-hero-copy > p:not(.section-label), .dc-managed-layout > div:first-child > p:not(.section-label) { max-width: 520px; margin: 0; color: #cbd6d2; font-size: 16px; line-height: 1.7; }
.dc-hero-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; }
.dc-hero-facts span { display: flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.2); border-radius: 30px; color: #e5ece9; font-size: 14px; font-weight: 700; }
.dc-hero-facts i { color: var(--blue-soft); }
.dc-hero-visual { position: relative; min-height: 610px; overflow: hidden; }
.dc-hero-visual::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(34,41,43,.48), transparent 45%), linear-gradient(0deg, rgba(20,25,27,.55), transparent 60%); content: ''; }
.dc-hero-visual > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.03); }
.dc-status-board { position: absolute; z-index: 2; right: 35px; bottom: 34px; left: 35px; padding: 22px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: rgba(25,31,33,.84); color: #fff; backdrop-filter: blur(10px); }
.dc-status-board > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.14); }
.dc-status-board > div > span { color: #a9bbb6; font-size: 12px; font-weight: 800; letter-spacing: .09em; }
.dc-status-board strong { font-size: 14px; }.dc-status-board strong i, .dc-console-cards article:first-child strong i { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #8fc6a9; box-shadow: 0 0 0 5px rgba(143,198,169,.12); }
.dc-status-board ul { margin: 0; padding: 7px 0 0; list-style: none; }.dc-status-board li { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 15px; }.dc-status-board li:last-child { padding-bottom: 0; border: 0; }.dc-status-board li span { display: flex; align-items: center; gap: 10px; }.dc-status-board li span i { color: var(--blue-soft); }.dc-status-board li b { color: #9bd2b6; font-size: 13px; }

.dc-services, .dc-locations, .dc-process, .dc-faq { padding: 96px 0; }.dc-services, .dc-process { background: var(--paper); }
.dc-heading { display: grid; grid-template-columns: 1.08fr .72fr; align-items: end; gap: 55px; margin-bottom: 34px; }.dc-heading h2, .dc-faq h2 { margin: 0; font-size: clamp(39px, 4vw, 58px); line-height: .98; letter-spacing: -.07em; }.dc-heading > p { max-width: 455px; margin: 0 0 4px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.dc-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.dc-service-grid article { position: relative; min-height: 350px; padding: 31px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.dc-service-grid article:nth-child(3n) { border-right: 0; }.dc-service-grid article:nth-child(n+4) { border-bottom: 0; }.dc-service-grid article:nth-child(2), .dc-service-grid article:nth-child(6) { background: #f3f7f5; }
.dc-service-grid article > span { position: absolute; top: 30px; right: 30px; color: #9ca8a4; font-size: 12px; font-weight: 800; }.dc-service-grid article > i, .dc-process-grid li > i { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 96px; border-radius: 50%; background: #e4f1f5; color: var(--blue); font-size: 20px; }.dc-service-grid h3, .dc-process-grid h3 { margin: 0 0 10px; font-size: 24px; font-weight: 800; letter-spacing: -.05em; }.dc-service-grid p, .dc-process-grid p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }

.dc-managed { padding: 96px 0; background: #22292b; color: #fff; }.dc-managed-layout { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(55px, 8vw, 105px); align-items: center; }.dc-managed-layout ul { margin: 28px 0 0; padding: 0; border-bottom: 1px solid rgba(255,255,255,.14); list-style: none; }.dc-managed-layout li { display: flex; gap: 13px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.14); }.dc-managed-layout li > i { color: var(--blue-soft); font-size: 19px; }.dc-managed-layout li span { display: grid; gap: 3px; }.dc-managed-layout li strong { color: #fff; font-size: 16px; }.dc-managed-layout li small { color: #adbbb7; font-size: 14px; line-height: 1.5; }
.dc-console { overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: #191f21; box-shadow: 0 30px 70px rgba(0,0,0,.2); }.dc-console > header { display: flex; align-items: center; gap: 17px; padding: 16px 20px; border-bottom: 1px solid rgba(255,255,255,.11); background: #252d2f; }.dc-console > header > span { display: flex; gap: 5px; }.dc-console > header > span i { width: 8px; height: 8px; border-radius: 50%; background: #64716d; }.dc-console > header strong { color: #c7d3cf; font-size: 12px; letter-spacing: .07em; }.dc-console > header em { margin-left: auto; color: #9bd2b6; font-size: 11px; font-style: normal; font-weight: 800; }
.dc-console-cards { display: grid; grid-template-columns: 1.35fr .65fr; gap: 9px; padding: 21px 21px 9px; }.dc-console-cards article { position: relative; min-height: 145px; padding: 21px; border-radius: 8px; background: #222a2c; }.dc-console-cards small { display: block; margin-bottom: 18px; color: #8ea09a; font-size: 11px; font-weight: 800; letter-spacing: .08em; }.dc-console-cards strong { display: block; color: #fff; font-size: 20px; }.dc-console-cards article:nth-child(2) strong { color: var(--blue-soft); font-size: 40px; letter-spacing: -.06em; }.dc-console-cards article:nth-child(2) span { color: #9eada8; font-size: 13px; }
.dc-pulse { position: absolute; right: 18px; bottom: 23px; left: 20px; display: flex; align-items: end; gap: 5px; height: 28px; }.dc-pulse b { flex: 1; height: 30%; border-radius: 2px 2px 0 0; background: var(--blue); opacity: .75; }.dc-pulse b:nth-child(2), .dc-pulse b:nth-child(7) { height: 64%; }.dc-pulse b:nth-child(3), .dc-pulse b:nth-child(6) { height: 42%; }.dc-pulse b:nth-child(4) { height: 88%; }.dc-pulse b:nth-child(5) { height: 70%; }
.dc-racks { display: grid; gap: 8px; padding: 0 21px 21px; }.dc-racks > div { display: grid; grid-template-columns: 1fr 11px 11px 95px; align-items: center; gap: 9px; min-height: 62px; padding: 0 18px; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; background: #202729; }.dc-racks span { color: #c2ceca; font-size: 12px; font-weight: 800; letter-spacing: .06em; }.dc-racks i { width: 8px; height: 8px; border-radius: 50%; background: #8fc6a9; }.dc-racks i + i { background: var(--blue); }.dc-racks b { height: 5px; border-radius: 5px; background: linear-gradient(90deg, var(--blue) 72%, #3c4749 72%); }.dc-console > footer { display: flex; justify-content: space-between; gap: 15px; padding: 16px 21px; border-top: 1px solid rgba(255,255,255,.1); background: #252d2f; }.dc-console > footer span { display: flex; align-items: center; gap: 8px; color: #aebcb7; font-size: 12px; }.dc-console > footer i { color: var(--blue-soft); }

.dc-locations { background: #fff; }
.dc-location-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.dc-location-grid article { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 430px; overflow: hidden; border-radius: 11px; background: var(--blue-soft); }
.dc-location-grid article:nth-child(2) { background: var(--green); }
.dc-location-grid figure { position: relative; min-height: 430px; margin: 0; overflow: hidden; background: #263032; }
.dc-location-grid figure::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,25,27,.6), transparent 46%); content: ''; }
.dc-location-grid figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.dc-location-grid article:hover figure img { transform: scale(1.025); }
.dc-location-grid article:nth-child(2) figure img { object-position: center; }
.dc-location-grid figcaption { position: absolute; z-index: 1; right: 20px; bottom: 18px; left: 20px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.dc-location-copy { display: flex; align-items: flex-start; flex-direction: column; padding: 31px; }
.dc-location-copy > span { color: #426776; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.dc-location-copy > i { display: grid; place-items: center; width: 50px; height: 50px; margin: 36px 0 auto; border-radius: 50%; background: rgba(255,255,255,.52); color: var(--blue); font-size: 21px; }
.dc-location-grid h3 { margin: 0 0 10px; font-size: 28px; font-weight: 800; letter-spacing: -.055em; }
.dc-location-grid p { max-width: 520px; margin: 0; color: #405e58; font-size: 16px; line-height: 1.65; }
.dc-location-copy > a { display: inline-flex; gap: 7px; align-items: center; margin-top: 20px; padding-bottom: 3px; border-bottom: 1px solid currentColor; color: var(--ink); font-size: 14px; font-weight: 800; text-decoration: none; }
.dc-stack { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 10px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; }
.dc-stack > div { display: grid; min-height: 180px; padding: 26px; border-right: 1px solid var(--line); background: #fff; }
.dc-stack > div:last-child { border-right: 0; }.dc-stack small { color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .08em; }.dc-stack strong { align-self: end; margin-bottom: 4px; font-size: 21px; }.dc-stack span { color: var(--muted); font-size: 14px; line-height: 1.5; }

.dc-process { border-top: 1px solid var(--line); }.dc-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; list-style: none; }.dc-process-grid li { position: relative; min-height: 335px; padding: 29px; border-right: 1px solid var(--line); }.dc-process-grid li:last-child { border-right: 0; }.dc-process-grid li > span { position: absolute; top: 29px; right: 28px; color: #a1aba8; font-size: 12px; font-weight: 800; }.dc-process-grid li > i { margin-bottom: 88px; }
.dc-faq { background: #fff; }.dc-faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(55px, 8vw, 120px); align-items: start; }.dc-faq-layout > div:first-child { position: sticky; top: 125px; }.dc-faq h2 { margin-bottom: 18px; }.dc-faq-layout > div:first-child > p:not(.section-label) { max-width: 370px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.68; }.dc-faq-list { border-bottom: 1px solid #cfd6d3; }.dc-faq-list details { border-top: 1px solid #cfd6d3; }.dc-faq-list summary { display: grid; grid-template-columns: 1fr 34px; gap: 18px; align-items: center; min-height: 78px; padding: 18px 0; color: var(--ink); font-size: 17px; font-weight: 800; cursor: pointer; list-style: none; }.dc-faq-list summary::-webkit-details-marker { display: none; }.dc-faq-list summary i { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #aeb8b4; border-radius: 50%; color: var(--blue); transition: transform .2s ease, background .2s ease, color .2s ease; }.dc-faq-list details[open] summary i { background: var(--blue); color: #fff; transform: rotate(45deg); }.dc-faq-list details p { max-width: 720px; margin: -5px 54px 23px 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.dc-cta { padding: 0 0 74px; background: #fff; }.dc-cta-panel { display: grid; grid-template-columns: 1.05fr .95fr; gap: 55px; align-items: end; padding: clamp(38px, 5vw, 62px); border-radius: 11px; background: var(--blue-soft); }.dc-cta-panel h2 { margin: 0; font-size: clamp(38px, 3.8vw, 55px); line-height: .98; letter-spacing: -.07em; }.dc-cta-panel h2 span { color: var(--blue); }.dc-cta-panel > div:last-child p { max-width: 470px; margin: 0 0 21px; color: #315764; font-size: 16px; line-height: 1.68; }

@media (max-width: 991.98px) {
  .dc-intro { padding-top: 62px; }.dc-intro-layout { grid-template-columns: 1fr .75fr; gap: 32px; }.dc-hero-panel { grid-template-columns: 1fr; }.dc-hero-copy { min-height: 470px; }.dc-hero-visual { min-height: 550px; }.dc-heading { grid-template-columns: 1fr .75fr; gap: 34px; }
  .dc-service-grid { grid-template-columns: repeat(2, 1fr); }.dc-service-grid article, .dc-service-grid article:nth-child(3n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.dc-service-grid article:nth-child(even) { border-right: 0; }.dc-service-grid article:nth-child(n+5) { border-bottom: 0; }
  .dc-managed-layout { grid-template-columns: 1fr; }.dc-managed-layout > div:first-child { max-width: 660px; }.dc-console { max-width: 780px; }.dc-location-grid article { grid-template-columns: 1fr; }.dc-location-grid figure { min-height: 340px; }.dc-location-copy { min-height: 335px; }.dc-stack { grid-template-columns: repeat(2, 1fr); }.dc-stack > div { border-bottom: 1px solid var(--line); }.dc-stack > div:nth-child(even) { border-right: 0; }.dc-stack > div:nth-child(n+3) { border-bottom: 0; }.dc-process-grid { grid-template-columns: repeat(2, 1fr); }.dc-process-grid li { border-bottom: 1px solid var(--line); }.dc-process-grid li:nth-child(even) { border-right: 0; }.dc-process-grid li:nth-child(n+3) { border-bottom: 0; }.dc-faq-layout, .dc-cta-panel { grid-template-columns: 1fr; }.dc-faq-layout > div:first-child { position: static; }.dc-cta-panel { gap: 27px; }
}
@media (max-width: 575.98px) {
  .dc-intro { padding: 52px 0 50px; }.dc-intro-layout { grid-template-columns: 1fr; gap: 19px; min-height: 0; padding-bottom: 25px; }.dc-intro h1 { font-size: clamp(44px, 12vw, 59px); }.dc-intro-mark { top: 2px; right: 5px; font-size: 100px; opacity: .72; }
  .dc-hero { padding-bottom: 62px; }.dc-hero-panel { margin: 0 -12px; border-radius: 0; }.dc-hero-copy { min-height: 0; padding: 44px 27px; }.dc-hero-copy h2 { font-size: 43px; }.dc-hero-visual { min-height: 470px; }.dc-status-board { right: 19px; bottom: 19px; left: 19px; padding: 18px; }.dc-status-board > div { align-items: flex-start; flex-direction: column; gap: 7px; }
  .dc-services, .dc-managed, .dc-locations, .dc-process, .dc-faq { padding: 62px 0; }.dc-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 27px; }.dc-heading h2, .dc-faq h2, .dc-managed h2 { font-size: clamp(38px, 10.8vw, 49px); }.dc-service-grid { grid-template-columns: 1fr; }.dc-service-grid article, .dc-service-grid article:nth-child(3n), .dc-service-grid article:nth-child(n+5) { min-height: 280px; border-right: 0; border-bottom: 1px solid var(--line); }.dc-service-grid article:last-child { border-bottom: 0; }.dc-service-grid article > i { margin-bottom: 63px; }
  .dc-managed-layout { gap: 39px; }.dc-console-cards { grid-template-columns: 1fr; }.dc-console-cards article { min-height: 135px; }.dc-racks > div { grid-template-columns: 1fr 9px 9px 55px; padding: 0 13px; }.dc-console > footer { align-items: flex-start; flex-direction: column; }.dc-location-grid, .dc-stack { grid-template-columns: 1fr; }.dc-location-grid figure { min-height: 300px; }.dc-location-copy { min-height: 310px; padding: 27px; }.dc-location-copy > i { margin-top: 29px; }.dc-stack > div, .dc-stack > div:nth-child(n+3) { min-height: 155px; border-right: 0; border-bottom: 1px solid var(--line); }.dc-stack > div:last-child { border-bottom: 0; }.dc-process-grid { grid-template-columns: 1fr; }.dc-process-grid li, .dc-process-grid li:nth-child(n+3) { min-height: 245px; border-right: 0; border-bottom: 1px solid var(--line); }.dc-process-grid li:last-child { border-bottom: 0; }.dc-process-grid li > i { margin-bottom: 53px; }.dc-faq-layout { gap: 30px; }.dc-faq-list summary { font-size: 16px; }.dc-faq-list details p { margin-right: 0; }.dc-cta { padding-bottom: 48px; }.dc-cta-panel { padding: 39px 26px; }
}
