/* DR04 Innováció & K+F — page styles (prefix dr04-). Measurements at 1536 px: plans/DR04.md §2 and §5. Kept in sync with prototype/gen/dr04.css. */

/* Hero (0–838 incl. the 96 px header) */
.dr04-hero { --hero-h: 49.4vw; --hero-pos-phone: 88% 50%; }
.dr04-hero .hero__actions { column-gap: 48px; }

/* Research areas (838–1478) */
.dr04-areas { padding-block: 56px 64px; }
.dr04-areas .split { margin-bottom: 66px; }
.dr04-areas .cols { --n: 3; }
.dr04-areas .cols > * { padding-left: 46px; }
.dr04-areas .cols > :first-child { padding-left: 0; }
.dr04-areas .title { max-width: 240px; margin: 4px 0 18px; font-size: clamp(20px, 1.82vw, 30px); line-height: 1.2; }
.dr04-areas .body-muted { max-width: 260px; font-size: clamp(16px, 1.43vw, 24px); }

/* Prototype process (1478–2144) */
.dr04-process { position: relative; overflow: hidden; }
.dr04-process__art { position: absolute; top: 0; right: 0; left: 65.7%; height: 400px; }
.dr04-process__art img { width: 100%; height: 100%; object-fit: cover; object-position: left top; }
.dr04-process__art::before, .dr04-process__art::after { content: ""; position: absolute; z-index: 1; }
.dr04-process__art::before { inset: 0 auto 0 0; width: 120px; background: linear-gradient(90deg, var(--graphite), rgba(23, 25, 24, 0)); }
.dr04-process__art::after { inset: auto 0 0 0; height: 110px; background: linear-gradient(0deg, var(--graphite), rgba(23, 25, 24, 0)); }
.dr04-process__inner { position: relative; z-index: 2; padding-block: 44px 56px; }
.dr04-process .section-head { margin-right: 31%; }
.dr04-process .h2 { margin-bottom: 24px; }
.dr04-process__lead { max-width: 760px; margin-bottom: 64px; font-size: clamp(17px, 1.76vw, 29px); line-height: 1.45; color: var(--paper-2); }
.dr04-process__cap { position: absolute; z-index: 2; top: 324px; right: var(--gutter); }
.dr04-steps { --n: 4; width: 78%; }
.dr04-steps .numeral { font-size: clamp(40px, 3.9vw, 64px); }
.dr04-steps h3 { font-size: clamp(17px, 1.63vw, 26px); }
.dr04-steps p { max-width: 250px; font-size: clamp(15px, 1.43vw, 23px); }

/* Partnerships (2144–2616) */
.dr04-partners { padding-block: 48px 64px; }
.dr04-partners .h2 { margin-bottom: 30px; }
.dr04-partners .cols { --n: 3; }
.dr04-partners .col .body-muted { max-width: 360px; font-size: clamp(16px, 1.43vw, 24px); }

/* Incubator teaser (2616–3064) */
.dr04-incubator { padding-block: 34px 26px; border-top: 1px solid var(--rule); }
.dr04-incubator__grid { display: grid; grid-template-columns: 556fr 546fr 57fr 1px 254fr; align-items: stretch; column-gap: 0; }
.dr04-incubator__text { padding-right: 56px; }
.dr04-incubator__text .section-head { margin-bottom: 18px; }
.dr04-incubator__text .section-head .line { flex: 0 0 150px; }
.dr04-incubator__text .h2 { font-size: clamp(34px, 3.9vw, 66px); margin-bottom: 18px; }
.dr04-incubator__text .lead { max-width: 460px; font-size: clamp(17px, 1.43vw, 24px); color: rgba(5, 5, 5, .85); }
.dr04-incubator__actions { display: flex; align-items: flex-start; gap: 44px; margin-top: 30px; }
.dr04-incubator__actions .side-caption { padding-top: 8px; }
.dr04-incubator__img { width: 100%; height: auto; aspect-ratio: 542 / 380; object-fit: cover; }
.dr04-incubator__grid > .vline { background: var(--rule); margin-block: 40px 60px; }
.dr04-incubator__cap { align-self: center; padding-left: 30px; }

/* Closing CTA (3064–3383) */
.dr04-cta { padding-block: 34px 56px; border-top: 1px solid var(--rule); }
.dr04-cta .h2 { margin-bottom: 20px; }
.dr04-cta__lead { font-size: clamp(18px, 1.69vw, 28px); line-height: 1.35; }
.dr04-cta .split { --split: 707fr 1px 707fr; --split-gap: 80px; }
.dr04-cta .split__aside p { max-width: 560px; font-size: clamp(16px, 1.43vw, 24px); margin-bottom: 30px; }

/* Tablet */
@media (max-width: 1180px) {
  .dr04-process__art { left: 40%; opacity: .45; }
  .dr04-process__cap { display: none; }
  .dr04-process .section-head { margin-right: 0; }
  .dr04-steps { --n: 2; width: 100%; row-gap: 40px; }
  .dr04-steps > :nth-child(3) { padding-left: 0; border-left: 0; }
  .dr04-steps > :nth-child(2) .step__arrow { display: none; }
  .dr04-incubator__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .dr04-incubator__grid > .vline, .dr04-incubator__cap { display: none; }
}

/* Phone layer (plans/DR04.md §8) */
@media (max-width: 768px) {
  .dr04-areas .cols, .dr04-partners .cols, .dr04-steps { --n: 1; }
  .dr04-areas .cols > * { padding-left: 0; }
  .dr04-steps > :nth-child(2) .step__arrow { display: block; }
  .dr04-process__art { left: 0; height: 56vw; opacity: .35; }
  .dr04-incubator__grid { grid-template-columns: 1fr; }
  .dr04-incubator__text { padding-right: 0; }
  .dr04-incubator__actions { flex-direction: column; gap: 24px; }
  .dr04-incubator__actions .btn, .dr04-cta .btn { width: 100%; }
  .dr04-incubator__actions .side-caption { display: none; }
}
