.roots-project{--rp-ink:#29252a;--rp-burgundy:#92263b;--rp-paper:#f7f4ef;--rp-line:#ddd5cf;color:var(--rp-ink);font:1.05rem/1.7 Arial,sans-serif;overflow-wrap:anywhere}
.roots-project *,.rp-teaser *{min-width:0;box-sizing:border-box}
.rp-wrap{width:min(1120px,100%);margin:0 auto}
.rp-hero,.rp-section{padding:clamp(2.5rem,5vw,5rem) clamp(1.25rem,5vw,5rem)}
.rp-hero{background:var(--rp-paper);padding-top:1.5rem}
.rp-back{display:inline-flex;align-items:center;min-height:44px;margin:0 0 1.7rem;color:var(--rp-burgundy);font-size:.88rem;text-underline-offset:5px}
.roots-project h1{max-width:19ch;font:500 clamp(2.45rem,5.8vw,5rem)/1.08 Georgia,serif;letter-spacing:-.035em;color:var(--rp-burgundy);margin:.7rem 0 1.5rem;text-wrap:balance}
.roots-project h1 span{color:var(--rp-ink)}
.roots-project h2{font:500 clamp(1.8rem,3vw,2.8rem)/1.2 Georgia,serif;letter-spacing:-.025em;margin:0 0 1.6rem;text-wrap:balance}
.roots-project h3{font:500 clamp(1.3rem,2vw,1.65rem)/1.3 Georgia,serif;margin:.4rem 0 1rem;text-wrap:balance}
.roots-project p{margin:0 0 1rem}
.roots-project .rp-eyebrow{font-size:.75rem;letter-spacing:.12em;line-height:1.5;font-weight:700;color:var(--rp-burgundy)}
.rp-lead{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:600;max-width:45em}
.rp-intro{max-width:62em}
.rp-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin:1.6rem 0 .4rem}
.rp-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.8rem 1.3rem;background:var(--rp-burgundy);color:#fff;text-decoration:none;border:1px solid var(--rp-burgundy);border-radius:3px;font-weight:700;font-size:.96rem}
.rp-button:hover{background:#752032;color:#fff}
.rp-link{display:inline-flex;align-items:center;min-height:44px;color:var(--rp-burgundy);font-weight:600;text-underline-offset:5px;font-size:.95rem}
.roots-project a:focus-visible,.rp-teaser a:focus-visible{outline:3px solid #29252a;outline-offset:5px}
.rp-formats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.rp-format{padding:clamp(1.4rem,3vw,2.2rem);background:#fff;border:1px solid var(--rp-line);border-top:4px solid var(--rp-burgundy);border-radius:3px}
.rp-format-family{border-top-color:#426354;background:#f3f6f1}
.rp-format dl{margin:1.5rem 0 0}
.rp-format dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin:1.1rem 0 .25rem}
.rp-format dd{margin:0;font-size:.98rem}
.rp-soft{background:var(--rp-paper)}
.rp-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem;row-gap:2rem}
.rp-themes article{border-top:1px solid var(--rp-line);padding-top:1.2rem}
.rp-number{display:block;color:var(--rp-burgundy);font-size:.84rem;font-weight:700;letter-spacing:.08em;margin-bottom:.7rem}
.rp-themes p{font-size:1rem}
.rp-learning ul{padding-left:1.35rem;margin:0 0 1.7rem}
.rp-learning li{padding-left:.25rem;margin:.55rem 0}
.rp-learning>p,.rp-organisation>p{max-width:66em}
.rp-contact{border-top:1px solid var(--rp-line)}
.rp-contact .rp-wrap>p{max-width:63em}
.rp-email{font-size:.95rem;margin-top:1rem!important}
.rp-email a{color:var(--rp-burgundy);text-underline-offset:4px}
.rp-teaser{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;background:#f7f4ef;border-top:1px solid #e4dcd5;border-bottom:1px solid #e4dcd5}
.rp-teaser h2{max-width:24ch;font-size:clamp(1.85rem,3vw,2.7rem);line-height:1.2;color:#92263b;text-wrap:balance}
.rp-teaser p{max-width:58em}
.rp-teaser-side{border-left:2px solid #92263b;padding-left:1.6rem}
.rp-teaser-facts{font-size:.96rem;line-height:1.8;font-weight:600;margin:0 0 1.2rem}
#formate,#anfrage,#meine-wurzeln{scroll-margin-top:1.5rem}
@media(max-width:760px){.rp-formats,.rp-themes,.rp-teaser{grid-template-columns:1fr}.rp-teaser-side{padding-left:0;border-left:0}.roots-project h1{max-width:22ch}.rp-hero,.rp-section{padding-bottom:2.75rem}.rp-actions{gap:.7rem 1.2rem}.rp-button{max-width:100%;text-align:center}.rp-format{padding:1.5rem}.rp-themes{row-gap:1.5rem}}
@media print{.rp-hero,.rp-soft,.rp-format-family{background:white}.rp-hero,.rp-section{padding:1.2rem 0}.rp-formats,.rp-themes{display:block}.rp-format,.rp-themes article{break-inside:avoid;margin-bottom:1.2rem}.rp-button{background:white;color:#92263b}.rp-back{display:none}}

/* Separate youth and adult educational offers. */
.roots-project .rp-variant{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:700;color:#92263b;margin-bottom:1.6rem}
.roots-project .rp-process-title{max-width:66ch;font:600 clamp(1.15rem,2.1vw,1.7rem)/1.45 Arial,sans-serif;margin:2rem 0 1.2rem;letter-spacing:0}
.rp-cover{display:block;width:100%;height:auto;border-radius:4px;margin:0 0 1.7rem}
.roots-adult .rp-cover{max-width:980px}
.rp-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.7rem 3rem;list-style:none;margin:0;padding:0}
.rp-flow li{border-top:1px solid #ddd5cf;padding-top:1.2rem}.rp-flow li:last-child{grid-column:1/-1;max-width:66em}
.rp-adult-facts dl{margin-top:0}.roots-project .rp-credit{font-size:.92rem;margin-top:1.5rem}
.rp-adult-teaser{background:#fff;border-bottom:1px solid #e4dcd5;overflow-wrap:anywhere}
.rp-adult-teaser h2{font:500 clamp(1.55rem,2.5vw,2.25rem)/1.3 Georgia,serif;color:#29252a;max-width:65ch;margin:0 0 1.8rem;text-wrap:balance}
.rp-adult-teaser-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:start;gap:clamp(1.5rem,4vw,3.5rem)}
.rp-adult-teaser h3{font:500 clamp(1.6rem,2.5vw,2.1rem)/1.2 Georgia,serif;color:#92263b;margin:.4rem 0 1rem}
.rp-adult-teaser .rp-teaser-variant{font-weight:700;font-size:1.15rem}.rp-teaser-cover{margin:0}
#meine-wurzeln-adult{scroll-margin-top:1.5rem}
@media(max-width:760px){.rp-flow,.rp-adult-teaser-grid{grid-template-columns:1fr}.rp-flow li:last-child{grid-column:auto}.rp-adult-teaser h2{max-width:100%}}

/* Compact, connected seminar stages that wrap as complete steps. */
.rp-adult-teaser .rp-process-heading,.roots-project .rp-process-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;max-width:none;font:600 clamp(1rem,1.5vw,1.2rem)/1.65 Arial,sans-serif;letter-spacing:0;text-wrap:wrap;margin-bottom:1.35rem;color:#29252a}
.rp-process-pair{display:inline-flex;align-items:baseline;gap:.5rem;max-width:100%}
.rp-process-label{overflow-wrap:normal;word-break:normal}
.rp-process-arrow{flex:none;color:#92263b;font-size:1.25em;font-weight:400;line-height:1}
