/* Wissenschaft und Forschung, page 334. Texts, links and alt texts are the
   original ones (check-texts against design/lumen/originals/wissenschaft.html);
   the only added labels are the section headings Publikationsregister and Lehre
   and the hero line Forschung und Lehre. The study link keeps its original text
   "Download" although it leads to the course page.
   - Hero: the clean original illustration 79722 (without the old line and
     fingerprint decoration of 80163), uncropped in the frame with the orbit.
   - Stiftung: the original paragraph, split at its sentence break, as a path
     from 2013 to 2017; the years repeat the text and are aria-hidden.
   - Publikationsregister: the newest issue (Heft 16) as the featured book, the
     earlier issues standing on a shelf; a whole issue is the link to its PDF.
   - Lehre: the course brochure in the gradient-ring card. */

.efh-lu .lu-wf-book { position: relative; margin: 0; isolation: isolate; }
.efh-lu .lu-wf-book img { display: block; width: 100%; height: auto; border-radius: 3px 8px 8px 3px; box-shadow: 0 1px 2px rgba(20, 58, 64, .12), 0 30px 46px -26px rgba(20, 58, 64, .55); }
/* A soft spine along the bound edge makes the cover read as a booklet. */
.efh-lu .lu-wf-book::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; z-index: 1; width: 7%; border-radius: 3px 0 0 3px; background: linear-gradient(90deg, rgba(20, 58, 64, .22), rgba(255, 255, 255, .28) 55%, rgba(255, 255, 255, 0)); pointer-events: none; }

/* Stiftung: two dated steps on one line, which runs on past 2017. */
.efh-lu .lu-wf-foundation { padding-block: var(--lu-section); }
.efh-lu .lu-wf-foundation .lu-head__title { max-width: 22ch; }
.efh-lu .lu-wf-path { --lu-wf-year: 104px; position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(32px, 6vw, 96px); margin-top: clamp(44px, 5vw, 72px); }
.efh-lu .lu-wf-path__line { position: absolute; top: calc(var(--lu-wf-year) / 2 - 1px); right: 0; left: calc(var(--lu-wf-year) / 2); height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--lu-green), var(--lu-turq) 72%, rgba(68, 184, 190, 0)); transform-origin: 0 50%; transition: scale 1.6s var(--lu-ease) .15s; }
.efh-lu .lu-wf-path__line.is-armed:not(.is-in) { scale: 0 1; transition: none; }
.efh-lu .lu-wf-step { position: relative; display: grid; align-content: start; gap: 30px; }
.efh-lu .lu-wf-step__year { position: relative; z-index: 1; display: grid; place-items: center; width: var(--lu-wf-year); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 34% 28%, #fff 0 42%, var(--lu-mist) 100%); color: var(--lu-ink); font: 800 26px/1 var(--lu-sans); letter-spacing: -.01em; box-shadow: inset 0 0 0 2px var(--lu-green), 0 0 0 10px #fff, 0 22px 40px -20px rgba(20, 58, 64, .45); }
.efh-lu .lu-wf-step--later .lu-wf-step__year { box-shadow: inset 0 0 0 2px var(--lu-turq), 0 0 0 10px #fff, 0 22px 40px -20px rgba(20, 58, 64, .45); }
.efh-lu .lu-wf-step p { max-width: 34em; font-size: 17.5px; line-height: 1.75; }
.efh-lu .lu-wf-step a { color: var(--lu-turq-deep); text-decoration: underline; text-decoration-color: rgba(34, 114, 119, .4); text-underline-offset: 3px; }
.efh-lu .lu-wf-step a:hover { text-decoration-color: currentColor; }
@media (max-width: 760px) {
    .efh-lu .lu-wf-path { --lu-wf-year: 72px; grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .efh-lu .lu-wf-path__line { top: calc(var(--lu-wf-year) / 2); right: auto; bottom: 0; left: calc(var(--lu-wf-year) / 2 - 1px); width: 2px; height: auto; background: linear-gradient(180deg, var(--lu-green), var(--lu-turq) 72%, rgba(68, 184, 190, 0)); transform-origin: 50% 0; }
    .efh-lu .lu-wf-path__line.is-armed:not(.is-in) { scale: 1 0; }
    .efh-lu .lu-wf-step { grid-template-columns: var(--lu-wf-year) minmax(0, 1fr); gap: 20px; }
    .efh-lu .lu-wf-step__year { font-size: 18px; box-shadow: inset 0 0 0 2px var(--lu-green), 0 0 0 7px #fff, 0 16px 30px -18px rgba(20, 58, 64, .45); }
    .efh-lu .lu-wf-step--later .lu-wf-step__year { box-shadow: inset 0 0 0 2px var(--lu-turq), 0 0 0 7px #fff, 0 16px 30px -18px rgba(20, 58, 64, .45); }
    .efh-lu .lu-wf-step p { padding-top: 4px; font-size: 16.5px; }
}

/* Publikationsregister. */
.efh-lu .lu-wf-register { padding-block: var(--lu-section); background: linear-gradient(180deg, var(--lu-mist) 0, var(--lu-mist) 55%, #fff 100%); }
.efh-lu .lu-wf-feature { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(40px, 7vw, 112px); margin-top: clamp(48px, 5vw, 72px); }
.efh-lu .lu-wf-feature__cover { justify-self: center; width: min(100%, 330px); }
/* The featured issue stands in a light lens. */
.efh-lu .lu-wf-feature__cover::after { content: ""; position: absolute; top: 50%; left: 50%; z-index: -1; width: 168%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #fff 0 38%, rgba(255, 255, 255, .65) 52%, rgba(226, 242, 243, 0) 70%); box-shadow: inset 0 0 0 1px rgba(68, 184, 190, .16); transform: translate(-50%, -50%); }
.efh-lu .lu-wf-feature__copy { display: grid; justify-items: start; gap: 18px; }
.efh-lu .lu-wf-feature__series { color: var(--lu-turq-deep); font-size: 17px; font-weight: 700; line-height: 1.4; letter-spacing: 0; }
.efh-lu .lu-wf-feature__title { max-width: 16em; color: var(--lu-ink); text-wrap: balance; font-size: clamp(32px, 3.4vw, 50px); font-weight: 800; line-height: 1.1; letter-spacing: -.012em; }
.efh-lu .lu-wf-feature .lu-actions { margin-top: 14px; }

/* Download icon on the PDF links (not on the course link). */
.efh-lu .lu-wf-dl .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; }
.efh-lu .lu-wf-dl .wp-block-button__link::before { content: ""; flex: none; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m-5-5 5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m-5-5 5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat; }

/* The shelf: covers take 72% of their column; the ledge under each cover spans
   its whole column plus half the gap on either side, so the ledges join. */
.efh-lu .lu-wf-shelf { --lu-wf-gap: clamp(24px, 3.4vw, 52px); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 64px var(--lu-wf-gap); margin-top: clamp(80px, 9vw, 128px); }
.efh-lu .lu-wf-issue { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
/* Equal cover boxes keep the ledges on one line (the covers differ by a few pixels). */
.efh-lu .lu-wf-issue__cover { width: 72%; aspect-ratio: 7 / 10; margin-bottom: 34px; }
.efh-lu .lu-wf-issue__cover img { height: 100%; object-fit: cover; object-position: 50% 0; }
.efh-lu .lu-wf-issue__cover img,
.efh-lu .lu-wf-issue__cover::before { transition: transform .45s var(--lu-ease), box-shadow .45s ease; }
.efh-lu .lu-wf-issue__cover::after { content: ""; position: absolute; right: calc(-19.45% - var(--lu-wf-gap) / 2); bottom: -12px; left: calc(-19.45% - var(--lu-wf-gap) / 2); z-index: -1; height: 12px; border-radius: 2px; background: linear-gradient(180deg, #fff 0, #fff 45%, #e6f1f2 100%); box-shadow: inset 0 -2px 0 rgba(68, 184, 190, .28), 0 14px 22px -12px rgba(20, 58, 64, .42); }
.efh-lu .lu-wf-issue__title { color: var(--lu-ink); font-size: 16.5px; line-height: 1.35; letter-spacing: 0; transition: color .2s ease; }
.efh-lu .lu-wf-issue__text { color: var(--lu-text); font-size: 15px; line-height: 1.55; }
.efh-lu .lu-wf-issue .lu-actions { justify-content: center; margin-top: auto; padding-top: 4px; }
.efh-lu .lu-wf-link .wp-block-button__link { min-height: 44px; padding: 0; border-radius: 0; background: none; color: var(--lu-turq-deep); font-size: 15.5px; text-decoration: underline; text-decoration-color: rgba(34, 114, 119, .35); text-underline-offset: .3em; box-shadow: none; }
/* The download link covers its whole issue. */
.efh-lu .lu-wf-issue .wp-block-button__link::after { content: ""; position: absolute; inset: -12px; border-radius: 20px; }
/* No press scale here: a transform would shrink the card-wide overlay on mousedown. */
.efh-lu .lu-wf-issue .wp-block-button__link:active { transform: none; }
.efh-lu .lu-wf-issue .wp-block-button__link:focus-visible { outline: 0; }
.efh-lu .lu-wf-issue .wp-block-button__link:focus-visible::after { outline: 2px solid var(--lu-turq-deep); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) {
    .efh-lu .lu-wf-issue:hover .lu-wf-issue__cover img,
    .efh-lu .lu-wf-issue:hover .lu-wf-issue__cover::before { transform: translateY(-8px); }
    .efh-lu .lu-wf-issue:hover .lu-wf-issue__cover img { box-shadow: 0 1px 2px rgba(20, 58, 64, .12), 0 40px 52px -26px rgba(20, 58, 64, .6); }
    .efh-lu .lu-wf-issue:hover .lu-wf-issue__title { color: var(--lu-turq-deep); }
    .efh-lu .lu-wf-issue:hover .lu-wf-link .wp-block-button__link { text-decoration-color: currentColor; }
}

/* Lehre. */
.efh-lu .lu-wf-study { padding-block: var(--lu-section); }
.efh-lu .lu-wf-study__card { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); align-items: center; gap: clamp(36px, 6vw, 96px); max-width: 1120px; margin: clamp(40px, 4.5vw, 64px) auto 0; padding: clamp(32px, 4.4vw, 64px); border: 1.5px solid transparent; border-radius: 36px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(110deg, #95c23d, #4dbdc6) border-box; box-shadow: var(--lu-shadow); }
.efh-lu .lu-wf-study__cover { justify-self: center; width: min(100%, 270px); }
.efh-lu .lu-wf-study__cover::after { content: ""; position: absolute; top: 54%; left: 50%; z-index: -1; width: 130%; aspect-ratio: 1; border-radius: 50%; background: var(--lu-mist-2); transform: translate(-50%, -50%); }
.efh-lu .lu-wf-study__copy { display: grid; justify-items: start; gap: 18px; min-width: 0; }
.efh-lu .lu-wf-study__title { max-width: 22ch; color: var(--lu-ink); font-size: clamp(26px, 2.8vw, 40px); line-height: 1.15; }
.efh-lu .lu-wf-study__subject { color: var(--lu-turq-deep); font-size: clamp(18px, 1.6vw, 21px); font-weight: 600; line-height: 1.5; }
.efh-lu .lu-wf-study .lu-actions { margin-top: 10px; }

@media (max-width: 1099px) {
    .efh-lu .lu-wf-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; margin-inline: auto; }
}
@media (max-width: 900px) {
    .efh-lu .lu-wf-feature { grid-template-columns: minmax(0, 1fr); gap: 56px; }
    .efh-lu .lu-wf-feature__cover { width: min(64%, 280px); }
    .efh-lu .lu-wf-study__card { grid-template-columns: minmax(0, 1fr); gap: 44px; border-radius: 30px; }
    .efh-lu .lu-wf-study__cover { width: min(62%, 240px); }
}
@media (max-width: 560px) {
    .efh-lu .lu-wf-feature__title { font-size: clamp(28px, 8vw, 34px); }
    .efh-lu .lu-wf-shelf { --lu-wf-gap: 20px; gap: 48px var(--lu-wf-gap); }
    .efh-lu .lu-wf-issue__cover { width: 84%; margin-bottom: 30px; }
    .efh-lu .lu-wf-issue__cover::after { right: calc(-9.5% - var(--lu-wf-gap) / 2); left: calc(-9.5% - var(--lu-wf-gap) / 2); }
    .efh-lu .lu-wf-issue__title { font-size: 15px; }
    .efh-lu .lu-wf-issue__text { font-size: 14px; }
    .efh-lu .lu-wf-study__card { padding: 28px 22px 32px; }
}
@media (prefers-reduced-motion: reduce) {
    .efh-lu .lu-wf-path__line,
    .efh-lu .lu-wf-issue__cover img,
    .efh-lu .lu-wf-issue__cover::before { transition: none; }
}
