/* Approved H1 homepage; H1.1 ROI only. Dusan approval 2026-10-24. */
html body.hp-next #main #overview { background: radial-gradient(ellipse at 87% 20%,#dceadf,transparent 65%),#f8f9f3; color:#173e3e; padding-block:44px 50px; }
html body.hp-next #main #overview .r4-hero-grid { max-width:1280px; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:52px; }
html body.hp-next #main #overview h1 { color:#173e3e; font-size:clamp(32px,3.5vw,51px); line-height:1.1; }
html body.hp-next #main #overview .r4-kicker, html body.hp-next #main #overview .r4-lead, html body.hp-next #main #overview .r4-human-boundary, html body.hp-next #main #overview .cri-entry-note, html body.hp-next #main #overview .r4-domain-rail { color:#4b6661; }
html body.hp-next #main #overview .r4-button { color:white; background:#236a66; border-color:#236a66; border-radius:7px; }
html body.hp-next #main #overview .r4-text-link { color:#236a66; }
.hp-next .vis-hero-image { background:transparent; border:0; box-shadow:none; }
.hp-next .vis-hero-image img { border-radius:38px 10px 32px 10px; box-shadow:0 16px 40px #2556421a; }
.hp-next .vis-image-heading { padding:0 4px 13px; }
.hp-next .vis-hero-image figcaption { padding:16px 4px 0; }
.hp-next .ep-output-section { background:#fff; padding-block:26px; }
.hp-next .ep-output-layout { max-width:1100px; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); }
.hp-next .ep-output-art .ep-art { height:195px; }
.hp-next #cri-video { padding-block:55px; }
.hp-next .hp-source-link { padding:0 32px 28px; margin:0 auto; max-width:1240px; font-size:.9rem; }
.hp-next #roi-scenario { background:#fff; padding-block:52px; }
.hp-next #next-step { background:#edf3ec; color:#173e3e; }
html body.hp-next #main #next-step h2, html body.hp-next #main #next-step h3, html body.hp-next #main #next-step p, html body.hp-next #main #next-step .r4-kicker { color:#173e3e; }
.hp-next #next-step .r4-text-link { color:#236a66; }
.hp-next #next-step .r4-button { background:#236a66; color:white; border-color:#236a66; border-radius:7px; }
.hp-next .cri-engagement-grid > div { background:transparent; border:0; padding:16px 18px 16px 0; border-top:1px solid #b8cfc0; }
.hp-next .hp-trust-band { padding:34px 0; background:#fff; }
.hp-next .hp-trust-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:60px; }
.hp-next .hp-trust-layout .cri-founder-compact { margin:0; padding:0; border:0; grid-template-columns:108px minmax(0,1fr); }
.hp-next .hp-trust-layout .cri-founder-compact img { width:108px; height:135px; border-radius:18px 4px 18px 4px; }
.hp-next .hp-trust-layout .cri-programmes-compact { border:0; margin:0; padding:0; }
.hp-next .hp-history-featured { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.hp-next .hp-history-featured .vis-fisch-card { display:block; margin:0; }
.hp-next .hp-history-featured .vis-fisch-card img, .hp-next .hp-history-featured .vis-card-image { aspect-ratio:16/10; object-fit:cover; border-radius:14px; width:100%; }
.hp-next .hp-history-featured .vis-fisch-copy { padding:18px 0 0; }
.hp-next .hp-history-featured .vis-fisch-copy h3 { font-size:1.5rem; }
.hp-next .hp-history-featured .vis-case-card { border:0; background:transparent; }
html body.hp-next #main #review-record .vis-case-card { padding:0; }
.hp-next .hp-other-cases { display:flex; gap:22px; flex-wrap:wrap; border-top:1px solid #cddbcf; margin-top:26px; padding-top:20px; font-size:.9rem; }
.hp-next #visual-explore { padding-block:35px; }
.hp-next #visual-explore .rv-method-wide { grid-template-columns:minmax(0,.55fr) minmax(0,1fr); gap:30px; max-width:1000px; }
.hp-next #visual-explore .rv-media { height:210px; }
.hp-next #elmar-guide { padding-block:45px; background:#fff; }
@media(max-width:760px) {
 html body.hp-next #main #overview .r4-hero-grid { grid-template-columns:minmax(0,1fr); gap:25px; }
 html body.hp-next #main #overview { padding-block:28px 36px; }
 .hp-next .ep-output-layout,.hp-next .hp-trust-layout,.hp-next .hp-history-featured { grid-template-columns:1fr; gap:25px; }
 .hp-next #visual-explore .rv-method-wide { grid-template-columns:1fr; }
 .hp-next #cri-video { padding-block:34px; }
 .hp-next .hp-history-featured .vis-fisch-copy { padding-top:12px; }
 .hp-next .hp-source-link { padding-inline:24px; }
}

.hp-next #next-step .cri-product-maturity { margin-top:24px; }

/* Approved compact ROI. Hero remains H1. */
.hp-next #roi-scenario { padding-block:32px 26px; background:#fff; }
.hp-next #roi-scenario > .r4-wrap { max-width:1180px; }
.hp-next .hp-roi-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.7fr); gap:42px; align-items:center; }
.hp-next .hp-roi-heading .r4-kicker { margin:0 0 12px; font-size:12px; line-height:1.4; }
.hp-next .hp-roi-heading h2 { margin:0 0 13px; font-size:clamp(26px,2.45vw,33px); line-height:1.15; }
.hp-next .hp-roi-heading .cri-scenario-label { margin:0; color:#3f5d59; font-size:14px; line-height:1.55; font-weight:500; max-width:38ch; }
.hp-next .hp-roi-numbers { padding:24px 28px 18px; border-radius:20px 8px 20px 8px; background:#f1f6ef; }
.hp-next .hp-roi-numbers .cri-roi-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin:0; }
.hp-next .hp-roi-numbers .cri-roi-results > p { border:0; padding:0; margin:0; }
.hp-next .hp-roi-numbers .cri-roi-results > p + p { border-left:1px solid #c2d5c9; padding-left:28px; }
.hp-next .hp-roi-numbers .cri-roi-results strong { font-size:48px; line-height:1.05; letter-spacing:-.03em; color:#236a66; }
.hp-next .hp-roi-numbers .cri-roi-results span { display:block; margin-top:8px; font-size:16px; line-height:1.4; font-weight:600; color:#244a44; }
.hp-next .hp-roi-numbers .cri-roi-results small { display:block; margin-top:7px; font-size:13px; line-height:1.5; color:#526b60; }
.hp-next .hp-roi-numbers .cri-roi-intro { margin:16px 0 0; padding-top:13px; border-top:1px solid #d4e1d6; font-size:13px; line-height:1.5; color:#526b60; }
.hp-next #roi-scenario .cri-roi-method { margin:20px 0 0; }
.hp-next #roi-scenario .cri-roi-method > summary { padding-block:13px; font-size:14px; }
@media (max-width:1050px) and (min-width:761px) {
.hp-next .hp-roi-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; }
.hp-next .hp-roi-numbers { padding:20px; }
.hp-next .hp-roi-numbers .cri-roi-results { gap:18px; }
.hp-next .hp-roi-numbers .cri-roi-results > p + p { padding-left:18px; }
}
@media (max-width:760px) {
.hp-next #roi-scenario { padding-block:28px 24px; }
.hp-next .hp-roi-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
.hp-next .hp-roi-heading h2 { font-size:27px; }
.hp-next .hp-roi-heading .cri-scenario-label { max-width:60ch; }
.hp-next .hp-roi-numbers { padding:22px; }
.hp-next .hp-roi-numbers .cri-roi-results { grid-template-columns:1fr; gap:18px; }
.hp-next .hp-roi-numbers .cri-roi-results > p { display:grid; grid-template-columns:88px minmax(0,1fr); column-gap:15px; align-items:start; }
.hp-next .hp-roi-numbers .cri-roi-results > p + p { border-left:0; padding:18px 0 0; border-top:1px solid #d0dfd3; }
.hp-next .hp-roi-numbers .cri-roi-results strong { grid-row:1 / 3; font-size:39px; }
.hp-next .hp-roi-numbers .cri-roi-results span { margin-top:0; font-size:15px; }
.hp-next .hp-roi-numbers .cri-roi-results small { margin-top:6px; }
}
@media (max-width:380px) {
.hp-next .hp-roi-numbers { padding:18px; }
.hp-next .hp-roi-numbers .cri-roi-results > p { grid-template-columns:78px minmax(0,1fr); gap:10px; }
}

/* Keep source credits readable under the existing 12px public text floor. */
html body.hp-next #main .vis-hero-image figcaption,
html body.hp-next #main .vis-image-heading,
html body.hp-next #main .vis-card-body .vis-meta,
html body.hp-next #main .vis-card-body .vis-credit,
html body.hp-next #main .rv-card .rv-credit,
html body.hp-next #main .rv-card .rv-kicker,
html body.hp-next #main .ep-output-copy .ep-eyebrow,
html body.hp-next #main .ep-output-copy .ep-note { font-size:12px; }

/* Keep the approved composition inside narrow and short viewports. */
@media (max-width:760px) {
 html body.hp-next #main .vis-history > .r4-wrap { width:calc(100% - 40px); }
}
@media (max-width:360px), (min-width:761px) and (max-width:980px) {
 html[lang="de"] body.hp-next #main #overview h1 { font-size:28px; }
}
@media (min-width:981px) and (max-height:740px) {
 html body.hp-next #main #overview { padding-block:24px 32px; }
}

/* Align the two historical photographs (Dusan, 24 October 2026). */
html body.hp-next #main .hp-history-featured > article { padding: 0; margin: 0; align-self: start; }
html body.hp-next #main .hp-history-featured figure { margin: 0; }
html body.hp-next #main .hp-history-featured .vis-fisch-card figure > a,
html body.hp-next #main .hp-history-featured .vis-card-image { display: block; width: 100%; aspect-ratio: 16/10; margin: 0; overflow: hidden; border-radius: 14px; }
html body.hp-next #main .hp-history-featured .vis-fisch-card figure > a > img,
html body.hp-next #main .hp-history-featured .vis-card-image > img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }

/* Site identity is explanatory content, not a small source credit. */
html body.hp-next #main .vis-image-heading { display: grid; gap: 6px; padding: 0 4px 16px; }
html body.hp-next #main .vis-image-heading strong { font-size: 22px; line-height: 1.25; }
html body.hp-next #main .vis-image-heading .cri-project-location { font-size: 19px; line-height: 1.4; }
html body.hp-next #main .vis-image-heading .cri-project-use { font-size: 14px; line-height: 1.5; font-weight: 400; }
html body.hp-next #main .vis-hero-image .cri-image-context { font-size: 15px; line-height: 1.55; margin: 6px 0 8px; }

/* Approved homepage polish, 24 October 2026: two orientation rows. */
html body.hp-next #main #overview .r4-domain-rail {
  display: grid;
  gap: 4px;
  color: var(--r4-blue);
  line-height: 1.5;
  margin: 0 0 30px;
}
html body.hp-next #main #overview .r4-domain-rail > span { display: block; }
@media (min-width:981px) {
  html body.hp-next #main #overview .r4-hero-grid { align-items: start; }
  /* One CSS centimetre below the right-hand project block. */
  html body.hp-next #main #overview .r4-hero-copy { margin-top: 1cm; }
  html body.hp-next #main #overview .r4-kicker { margin-bottom: 22px; }
}
@media (min-width:981px) and (max-height:740px) {
  html body.hp-next #main #overview .r4-kicker { margin-bottom: 18px; }
  html body.hp-next #main #overview .r4-domain-rail { gap: 3px; margin-bottom: 24px; }
}
@media (min-width:981px) and (max-height:660px) {
  html body.hp-next #main #overview .r4-domain-rail { margin-bottom: 20px; }
}
@media (max-width:980px) {
  html body.hp-next #main #overview .r4-domain-rail { margin-bottom: 0; }
}
