/* Everloy page content adapted from the supplied concept. */
.everloy-content { background: var(--paper); }
.everloy-content section { padding: 100px 6vw; }
.everloy-content .section-label { color: var(--blue); margin-bottom: 26px; }
.everloy-content h2 { letter-spacing: -.045em; max-width: 980px; margin: 0 0 28px; font-size: clamp(40px,5vw,70px); font-weight: 530; line-height: 1.02; }
.everloy-content h3 { margin: 0 0 14px; font-size: 23px; line-height: 1.2; }
.everloy-content p { color: #52606f; font-size: 17px; line-height: 1.7; }
.everloy-content .content-lead { max-width: 760px; margin: -10px 0 42px; font-size: 19px; }
.everloy-intro { background: #fff; }
.everloy-card-grid { border-top: 1px solid var(--line); border-left: 1px solid var(--line); grid-template-columns: repeat(3,1fr); display: grid; }
.everloy-card-grid article { min-height: 255px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 32px; }
.everloy-card-grid h3 { margin-top: 0; }
.everloy-stat-strip { color: #fff; background: #0b2940; grid-template-columns: repeat(3,1fr); margin-top: 34px; display: grid; }
.everloy-stat-strip article { min-height: 150px; border-right: 1px solid #ffffff2b; padding: 30px 32px; }
.everloy-stat-strip strong { color: #d7b49d; margin-bottom: 12px; font-size: clamp(30px,3.4vw,50px); font-weight: 520; display: block; }
.everloy-stat-strip span { color: #d8e1e7; font-size: 14px; line-height: 1.55; }
.everloy-solutions { background: #e8e7e2; }
.everloy-table-wrap { border: 1px solid #c5c8c5; background: #fff; overflow-x: auto; }
.everloy-data-table { border-collapse: collapse; width: 100%; min-width: 760px; }
.everloy-data-table th { color: #fff; background: #0b2940; font-family: var(--font-mono); letter-spacing: .1em; text-transform: uppercase; padding: 18px 20px; font-size: 11px; text-align: left; }
.everloy-data-table td { border-top: 1px solid #d6d8d5; padding: 19px 20px; color: #52606f; font-size: 15px; line-height: 1.55; vertical-align: top; }
.everloy-data-table td:first-child { color: var(--ink); font-size: 16px; }
.everloy-origin { background: #fff; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: center; display: grid; }
.everloy-facts { border-top: 1px solid var(--line); margin: 30px 0 0; }
.everloy-facts li { border-bottom: 1px solid var(--line); padding: 18px 0 18px 28px; color: #465666; font-size: 16px; line-height: 1.55; position: relative; }
.everloy-facts li::before { content: ''; background: #ad673c; width: 7px; height: 7px; position: absolute; top: 27px; left: 0; }
.everloy-facts small { color: #7c8792; margin-top: 7px; font-size: 12px; display: block; }
.everloy-origin-mark { color: #fff; background: linear-gradient(180deg,#07142521 0%,#071425dd 78%),url('/everloy-besuch-gebaude.webp') center/cover no-repeat; min-height: 390px; padding: 42px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; isolation: isolate; }
.everloy-origin-mark::after { content: ''; background: linear-gradient(90deg,#071425c9 0%,transparent 72%); position: absolute; inset: 0; z-index: -1; }
.everloy-origin-mark strong { color: #fff; font-size: clamp(70px,9vw,126px); font-weight: 450; line-height: .8; text-shadow: 0 3px 26px #071425cc; }
.everloy-origin-mark strong small { color: #d7b49d; font-family: var(--font-mono); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; font-size: 12px; font-weight: 650; line-height: 1; display: block; }
.everloy-origin-mark span { color: #fff; max-width: 320px; font-family: var(--font-mono); letter-spacing: .12em; text-transform: uppercase; font-size: 12px; line-height: 1.65; text-shadow: 0 2px 14px #071425; }
.everloy-dng { color: #fff; background: #071425; }
.everloy-dng .section-label { color: #d7b49d; }
.everloy-dng-grid { grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: start; display: grid; }
.everloy-dng h2 { color: #fff; }
.everloy-dng h3 { color: #fff; margin-top: 36px; }
.everloy-dng p { color: #bdc9da; }
.everloy-dng-stats { border-top: 1px solid #ffffff2b; }
.everloy-dng-stats article { border-bottom: 1px solid #ffffff2b; padding: 28px 0; }
.everloy-dng-stats strong { color: #d7b49d; font-size: clamp(34px,4vw,54px); font-weight: 500; display: block; }
.everloy-dng-stats span { color: #c8d2da; font-size: 14px; }
.everloy-dng-stats small { color: #8fa1af; margin-top: 22px; font-size: 12px; line-height: 1.65; display: block; }
.everloy-dng-visual { border: 1px solid #ffffff24; background: #0b2940; box-shadow: 0 30px 70px #02091466; margin: 58px 0 0; overflow: hidden; }
.everloy-dng-visual img { width: 100%; height: auto; display: block; }
.everloy-dng-visual figcaption { border-top: 1px solid #ffffff24; padding: 18px 22px; display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.everloy-dng-visual figcaption span { color: #d7b49d; font-family: var(--font-mono); letter-spacing: .12em; text-transform: uppercase; font-size: 11px; }
.everloy-dng-visual figcaption strong { color: #dce5ec; font-size: 14px; font-weight: 520; text-align: right; }
.everloy-cases { background: #f3f1ec; }
.everloy-case + .everloy-case { margin-top: 58px; }
.everloy-case { border: 1px solid #c5c8c5; background: #fff; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); display: grid; }
.everloy-case-head { border-left: 3px solid #ad673c; margin: 24px 26px 22px; padding-left: 18px; grid-column: 1 / -1; }
.everloy-case-head small { color: #687683; font-family: var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.everloy-case-head h3 { margin: 6px 0 0; font-size: 27px; }
.everloy-case-visual { background: #071425; min-height: 100%; margin: 0; overflow: hidden; }
.everloy-case-visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.everloy-case > .everloy-table-wrap { border: 0; border-left: 1px solid #c5c8c5; }
.everloy-case .everloy-data-table { min-width: 0; height: 100%; table-layout: fixed; }
.everloy-case .everloy-data-table th,
.everloy-case .everloy-data-table td { padding-left: 16px; padding-right: 16px; overflow-wrap: anywhere; }
.everloy-tech { background: #fff; grid-template-columns: .8fr 1.2fr; gap: 8vw; display: grid; }
.everloy-tech dl { margin: 0; }
.everloy-tech dl div { border-top: 1px solid var(--line); grid-template-columns: 170px 1fr; gap: 24px; padding: 20px 0; display: grid; }
.everloy-tech dl div:last-child { border-bottom: 1px solid var(--line); }
.everloy-tech dt { color: #ad673c; font-family: var(--font-mono); letter-spacing: .09em; text-transform: uppercase; font-size: 11px; }
.everloy-tech dd { color: #4f5f6e; margin: 0; font-size: 16px; line-height: 1.55; }
.everloy-faq { background: #e8e7e2; grid-template-columns: .75fr 1.25fr; gap: 8vw; display: grid; }
.everloy-faq details { border-top: 1px solid #bfc4c2; }
.everloy-faq details:last-child { border-bottom: 1px solid #bfc4c2; }
.everloy-faq summary { cursor: pointer; list-style: none; padding: 23px 42px 23px 0; font-size: 18px; font-weight: 560; position: relative; }
.everloy-faq summary::-webkit-details-marker { display: none; }
.everloy-faq summary::after { content: '+'; color: #ad673c; position: absolute; right: 4px; }
.everloy-faq details[open] summary::after { content: '−'; }
.everloy-faq details p { margin: -4px 0 24px; padding-right: 40px; font-size: 16px; }
@media (max-width: 850px) {
  .everloy-content section { padding: 68px var(--mobile-pad); }
  .everloy-card-grid { grid-template-columns: 1fr; }
  .everloy-card-grid article { min-height: 0; }
  .everloy-stat-strip { grid-template-columns: 1fr; }
  .everloy-stat-strip article { min-height: 0; border-right: 0; border-bottom: 1px solid #ffffff2b; }
  .everloy-origin,.everloy-dng-grid,.everloy-tech,.everloy-faq { grid-template-columns: 1fr; gap: 42px; }
  .everloy-case { grid-template-columns: 1fr; }
  .everloy-case-head { margin: 22px 22px 20px; }
  .everloy-case-visual { aspect-ratio: 16/9; min-height: 0; }
  .everloy-case > .everloy-table-wrap { border-left: 0; border-top: 1px solid #c5c8c5; }
  .everloy-case .everloy-data-table { min-width: 680px; height: auto; table-layout: auto; }
  .everloy-dng-visual { margin-top: 42px; }
  .everloy-origin-mark { min-height: 300px; }
  .everloy-tech dl div { grid-template-columns: 1fr; gap: 8px; }
}
@media (max-width: 520px) {
  .everloy-content h2 { font-size: 39px; }
  .everloy-content .content-lead { font-size: 17px; }
  .everloy-card-grid article { padding: 25px 22px; }
  .everloy-card-grid h3 { margin-top: 0; }
  .everloy-stat-strip article { padding: 25px 23px; }
  .everloy-origin-mark { min-height: 260px; padding: 30px 24px; }
  .everloy-dng-visual figcaption { align-items: flex-start; flex-direction: column; gap: 8px; padding: 16px; }
  .everloy-dng-visual figcaption strong { text-align: left; }
}
