/* Course pages share the owner's existing palette and type choices. */
.nav-parent{color:var(--accent);text-decoration:underline}
.course-feature .course-copy h2 a{display:inline-block}
.course-feature .course-copy h2 a:hover{color:var(--accent)}
.course-visual{min-width:0;width:100%}
.course-image-link{display:block;cursor:pointer}
.course-visual figcaption>span{display:block}
.course-visual img[data-image-frame]{width:100%;height:auto;aspect-ratio:4/5;max-height:650px;object-fit:cover}
.course-visual img.mp-image-contain[data-image-frame]{aspect-ratio:auto;height:auto;object-fit:contain}
.course-visual figcaption{margin-top:1rem;font-size:.85rem;line-height:1.65;color:var(--muted);max-width:48ch}
.course-breadcrumb{padding-top:2rem;padding-bottom:1.5rem}
.course-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding-bottom:clamp(3rem,6vw,5rem)}
.course-hero h1{font-size:clamp(3rem,5.6vw,5.2rem);letter-spacing:-.045em;line-height:1.03;overflow-wrap:break-word}
:where(.course-hero) h1,:where(.course-steps) h3{font-family:Georgia,'Times New Roman',serif}
.course-hero .eyebrow{color:var(--accent)}
.course-hero .course-subtitle{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,2.1vw,1.8rem);line-height:1.4;margin-top:1.5rem}
.course-hero .intro{font-size:1.06rem;line-height:1.85;color:var(--muted);margin-top:1.5rem;max-width:58ch}
.course-hero .button{margin-top:1.8rem}
.course-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;border-block:1px solid var(--line);padding-block:1.7rem;font-size:.95rem}
.course-summary>p+p{border-left:1px solid var(--line);padding-left:1.5rem}
.course-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 4rem}
.course-steps li{border-top:1px solid var(--line);padding-top:1.3rem;min-width:0}
.course-step-number{display:block;color:var(--accent);font-family:Georgia,serif;font-size:1.35rem;margin-bottom:1rem}
.course-steps h3{font-size:1.7rem;font-weight:400;letter-spacing:-.02em}
.course-steps p{margin-top:1rem;color:var(--muted);line-height:1.85;max-width:62ch}
.course-notes{padding-top:0}
.course-note{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem 4rem;border-top:1px solid var(--line);padding-top:2.5rem;margin-top:2.5rem}
.course-note h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.course-note>p{color:var(--muted);line-height:1.85;max-width:65ch}
.course-registration{background:var(--wash);border-top:3px solid var(--accent);padding:clamp(1.5rem,4vw,3.5rem);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem 3.5rem}
.course-registration h2{font-size:clamp(2rem,3.5vw,3.2rem);overflow-wrap:break-word}
.course-registration p{line-height:1.85}
.course-registration .course-organiser{margin-top:1.5rem}
.course-registration .course-status{margin-bottom:1.25rem}
.course-detail-page #voranmeldung{padding-top:0}
/* A distinct upward sweep and small settle, staggered within each visible group. */
.mp-reveal-wait{opacity:0;transform:translate3d(0,64px,0) scale(.985)}
.mp-reveal-visible{opacity:1;transform:none;animation:mp-reveal-arrive .76s cubic-bezier(.2,.75,.3,1) backwards}
.mp-reveal-delay-1{animation-delay:.11s}
.mp-reveal-delay-2{animation-delay:.22s}
.mp-reveal-instant{animation:none;opacity:1;transform:none}
@keyframes mp-reveal-arrive{
  0%{opacity:0;transform:translate3d(0,64px,0) scale(.985)}
  60%{opacity:1}
  78%{opacity:1;transform:translate3d(0,-4px,0) scale(1)}
  100%{opacity:1;transform:none}
}
@media(max-width:850px){.course-hero{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:2rem}.course-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.course-summary>p:nth-child(3){border-left:0;padding-left:0}.course-registration{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.course-hero,.course-steps,.course-note{grid-template-columns:minmax(0,1fr)}.course-hero{gap:2.5rem}.course-hero .course-visual{max-width:480px}.course-visual img[data-image-frame]{aspect-ratio:4/3;max-height:none}.course-summary{gap:1.2rem;font-size:.9rem}.course-summary>p+p{padding-left:1.2rem}.course-summary>p:nth-child(3){padding-left:0}.course-note{gap:1.2rem}.course-steps{gap:2rem}.course-registration .button{width:100%}}
@media(prefers-reduced-motion:reduce){.mp-reveal-wait,.mp-reveal-visible{opacity:1;transform:none;animation:none;transition:none}html{scroll-behavior:auto}}
@media print{.mp-reveal-wait,.mp-reveal-visible{opacity:1;transform:none;animation:none;transition:none}}
