/*
Theme Name: Rendezvous Klima – Wissensplattform
Theme URI: https://rendezvous-klima.ch/
Description: Kadence child theme for the Rendezvous Klima knowledge platform.
Author: Rendezvous Klima
Version: 1.8.1
Template: kadence
Text Domain: rendezvous-klima
*/

:root { --rk-ink:#222; --rk-deep:#104831; --rk-header:#315d4d; --rk-moss:#2d6a4f; --rk-green:#52b788; --rk-orange:#52b788; --rk-paper:#fdfcfa; --rk-sand:#eee9df; --rk-bg:#f5f3ef; --rk-line:#d9d4cc; --rk-muted:#686761; --rk-max:1340px; }
html { scroll-behavior:smooth; }
body.rk-site { margin:0; background:var(--rk-bg); color:var(--rk-ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.rk-site #inner-wrap, body.rk-site .content-bg { background:transparent; }
.rk-site a { color:inherit; }
.rk-shell { width:min(100%,var(--rk-max)); margin-inline:auto; box-sizing:border-box; }
.rk-main { padding:0 0 4rem; overflow:hidden; }

/* Header follows the dark editorial bar of the Version-1.0 design. */
.rk-header { position:relative; z-index:20; color:#fafaf8; background:var(--rk-header); }
.rk-header-inner { min-height:96px; display:grid; grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr) auto; align-items:center; gap:1.2rem; padding:1.35rem 2.2rem; }
.rk-brand { display:inline-flex; flex-direction:column; gap:.14rem; color:#fafaf8!important; text-decoration:none; }
.rk-brand strong { color:var(--rk-green); font-size:1.7rem; line-height:1; letter-spacing:-.05em; }
.rk-brand span { display:none; }
.rk-nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.35rem; }
.rk-nav a { padding:.48rem .78rem; color:#fafaf8!important; border:1px solid rgba(255,255,255,.34); border-radius:1.35rem; background:rgba(255,255,255,.07); text-decoration:none; font-size:.84rem; font-weight:700; }
.rk-nav a:hover,.rk-nav a:focus-visible { color:#fafaf8!important; border-color:var(--rk-green); background:rgba(255,255,255,.15); }
.rk-header-tools { display:flex; align-items:center; gap:.6rem; padding-left:.85rem; border-left:1px solid rgba(255,255,255,.28); }
.rk-search { height:2.25rem; display:inline-flex; align-items:center; gap:.3rem; padding:0 .72rem; color:#fff!important; border:1px solid rgba(255,255,255,.32); border-radius:1.35rem; background:rgba(255,255,255,.07); font-size:.84rem; font-weight:600; line-height:1; text-decoration:none; }
.rk-language { display:flex; gap:0; padding:.15rem; overflow:hidden; border:1px solid rgba(255,255,255,.32); font-size:.75rem; font-weight:800; }
.rk-language a { min-width:2.55rem; padding:.57rem .62rem; color:#fafaf8!important; text-align:center; text-decoration:none; }
.rk-language a.is-active { color:var(--rk-deep)!important; border-radius:.85rem; background:var(--rk-green); }

.rk-button { display:inline-flex; align-items:center; justify-content:center; padding:.68rem 1rem; color:var(--rk-deep)!important; border:1px solid var(--rk-green); border-radius:.85rem; background:var(--rk-green); text-decoration:none; font-size:.84rem; font-weight:700; }
.rk-button:hover,.rk-button:focus-visible { color:#fff!important; border-color:#fafaf8; background:transparent; }
.rk-button.is-light { color:var(--rk-deep)!important; border-color:currentColor; background:transparent; }
.rk-button.is-light:hover,.rk-button.is-light:focus-visible { color:var(--rk-deep)!important; border-color:var(--rk-green); background:var(--rk-green); }
.rk-eyebrow { margin:0 0 .75rem; color:var(--rk-green); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

/* Hero and map contours. */
.rk-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr); gap:2rem; min-height:475px; padding:3.4rem 2.2rem 3.1rem; color:#fafaf8; background:var(--rk-deep); overflow:hidden; }
.rk-hero-copy,.rk-hero-facts { position:relative; z-index:2; }
.rk-hero h1 { max-width:none; margin:.75rem 0 1.2rem; color:#fafaf8; font-size:clamp(2.25rem,3.15vw,3.55rem); line-height:1.12; letter-spacing:-.05em; }
.rk-hero p { max-width:48rem; margin:.65rem 0; color:rgba(250,250,248,.86); font-size:1rem; line-height:1.58; }
.rk-hero .rk-credit { max-width:48rem; margin:1.25rem 0 1.5rem; padding:1rem 1.15rem; color:rgba(250,250,248,.82); border-top:.3rem solid var(--rk-green); background:rgba(250,250,248,.08); font-size:.82rem; }
.rk-hero-facts { align-self:stretch; display:grid; align-content:center; gap:.8rem; padding:2rem 1.65rem; border-block:1px solid rgba(255,255,255,.28); border-radius:12px; background:rgba(250,250,248,.09); }
.rk-fact { padding:1rem 1.5rem; color:#fafaf8; border-top:1px solid rgba(255,255,255,.16); border-radius:12px; font-size:.96rem; font-weight:500; line-height:1.45; }
.rk-fact:first-child { border-top:0; }
.rk-fact strong { display:block; margin-bottom:.28rem; color:rgba(250,250,248,.8); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.rk-actions { display:grid; grid-template-columns:1fr; gap:.55rem; margin-top:.25rem; }
.rk-hero .rk-actions .is-light { color:#fafaf8!important; border-color:rgba(255,255,255,.45); }
.rk-hero .rk-actions .is-light:hover { color:var(--rk-deep)!important; border-color:var(--rk-orange); }
.rk-contours { position:absolute; z-index:1; inset:0 0 0 auto; width:67%; height:100%; opacity:.78; pointer-events:none; }
.rk-contours path { fill:none; stroke:rgba(250,250,248,.2); stroke-width:1.4; }

/* Six-phase sequence: open cards with coloured upper rules, not a generic tile grid. */
.rk-section { padding:2.65rem 2.2rem 0; }
.rk-phase-section { padding-bottom:2.8rem; background:#edf2e9; }
.rk-section-head { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr); gap:1.5rem; align-items:end; margin-bottom:1.3rem; }
.rk-section-head h2,.rk-knowledge-head h2 { margin:0; font-size:clamp(1.7rem,2.7vw,2.55rem); line-height:1.08; letter-spacing:-.04em; }
.rk-section-head > p { max-width:35rem; margin:0; color:var(--rk-muted); line-height:1.55; }
.rk-phase-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.65rem; margin-top:1.5rem; }
.rk-phase { min-height:16rem; display:flex; flex-direction:column; align-items:flex-start; padding:1rem; color:var(--rk-ink)!important; border-top:.25rem solid var(--rk-moss); text-decoration:none; }
.rk-phase:nth-child(2n) { border-color:var(--rk-green); }.rk-phase:nth-child(3n) { border-color:var(--rk-orange); }
.rk-phase:hover,.rk-phase:focus-visible { background:rgba(45,106,79,.09); }
.rk-phase-number { color:var(--rk-moss); font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.rk-phase strong { display:block; margin-top:.65rem; font-size:.95rem; text-transform:uppercase; }
.rk-phase span:last-child { margin-top:.9rem; color:var(--rk-muted); font-size:.79rem; line-height:1.42; }

/* Next talk: cartography and programme beside editorial content. */
.rk-next-title { margin:0; padding:2.2rem 2.2rem .85rem; color:var(--rk-orange); font-size:clamp(1.7rem,2.7vw,2.55rem); line-height:1.08; letter-spacing:-.04em; }
.rk-talk-feature { display:grid; grid-template-columns:minmax(15rem,.68fr) minmax(0,1.32fr); background:var(--rk-sand); }
.rk-talk-map { display:grid; grid-template-rows:minmax(13rem,.7fr) auto; padding:0; border:1px solid var(--rk-line); background:var(--rk-sand); }
.rk-talk-map-visual { min-height:14rem; overflow:hidden; border-bottom:1px solid var(--rk-line); background:#b8cfbc; }.rk-talk-map-visual svg,.rk-talk-map-image { width:100%; height:100%; }.rk-talk-map-image { display:block; object-fit:cover; }
.rk-talk-map .water { fill:#7fb69a; opacity:.75; }.rk-talk-map .grid { fill:none; stroke:rgba(34,34,34,.18); stroke-width:1; }.rk-talk-map .route { fill:none; stroke:var(--rk-orange); stroke-width:5; stroke-dasharray:13 9; }
.rk-program { padding:1.1rem 1.25rem 1.2rem; }.rk-program .rk-eyebrow { color:var(--rk-moss); }
.rk-program-row { display:grid; grid-template-columns:4.6rem minmax(0,1fr); gap:.55rem; padding:.4rem 0; border-top:1px solid var(--rk-line); font-size:.77rem; line-height:1.35; }
.rk-program-row time { color:var(--rk-moss); font-weight:800; white-space:nowrap; }.rk-program-row small { display:block; margin-top:.13rem; color:var(--rk-muted); font-size:.7rem; }
.rk-program-note { margin:.7rem 0 0; padding-top:.7rem; color:var(--rk-muted); border-top:1px solid var(--rk-line); font-size:.72rem; line-height:1.4; }
.rk-talk-content { display:grid; align-content:center; gap:.9rem; padding:2.5rem 2.2rem; }.rk-talk-content h3 { margin:0; font-size:clamp(2rem,4vw,3.65rem); line-height:1; letter-spacing:-.055em; }
.rk-talk-content > p:not(.rk-eyebrow) { max-width:53rem; margin:0; line-height:1.6; }
.rk-talk-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-top:.35rem; }.rk-talk-meta div { padding:1rem; border-top:.25rem solid var(--rk-moss); background:rgba(253,252,250,.7); color:var(--rk-muted); font-size:.84rem; line-height:1.43; }.rk-talk-meta strong { display:block; margin-bottom:.45rem; color:var(--rk-ink); font-size:.96rem; }
.rk-registration { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.2rem; padding:1rem 1.1rem; color:#fff; background:var(--rk-deep); }.rk-registration strong { display:block; }.rk-registration span { display:block; margin-top:.22rem; color:rgba(255,255,255,.78); font-size:.78rem; }

/* Expertise and the growing knowledge store. */
.rk-expertise { padding-bottom:2.65rem; }.rk-expert-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.rk-card { padding:.95rem 0; border-top:1px solid var(--rk-line); }.rk-card h3 { margin:.35rem 0 .45rem; font-size:1.12rem; line-height:1.2; }.rk-card p { margin:0; color:var(--rk-muted); font-size:.88rem; line-height:1.5; }
.rk-expertise .rk-expert-grid { grid-template-columns:minmax(14rem,.9fr) repeat(3,minmax(0,1fr)); }.rk-expert-card { display:grid; grid-template-rows:auto auto 1fr; padding:0; overflow:hidden; border:1px solid var(--rk-line); background:#e7ece3; }.rk-expert-photo { aspect-ratio:1.05; overflow:hidden; background:#dce5da; }.rk-expert-photo img { width:100%; height:100%; display:block; object-fit:cover; }.rk-expert-card-main { padding:1rem 1.05rem .85rem; }.rk-expert-card-main h3 { margin:.55rem 0 0; }.rk-expert-card-main h3 a { text-decoration:none; }.rk-expert-card-detail { padding:1rem 1.05rem 1.1rem; border-top:.25rem solid var(--rk-moss); }.rk-expert-card-detail p { margin:0 0 .7rem; color:var(--rk-ink); }.rk-expert-card-detail .rk-button { margin-top:.3rem; }.rk-expert-keywords { color:var(--rk-moss)!important; font-size:.78rem!important; font-weight:700; }
.rk-expertise-page-text { max-width:70ch; margin:0; color:var(--rk-ink)!important; }
.rk-expertise-collection .rk-expert-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.rk-expertise-collection .rk-expert-card { min-height:100%; }
.rk-expertise-collection .rk-expert-photo { aspect-ratio:1.45; }
.rk-expertise-collection .rk-expert-card-main { padding:.8rem .9rem .7rem; }
.rk-expertise-collection .rk-expert-card-main h3 { font-size:1rem; }
.rk-expertise-collection .rk-expert-card-detail { padding:.8rem .9rem .9rem; }
.rk-expertise-collection .rk-expert-card-detail p { margin-bottom:.55rem; font-size:.8rem; line-height:1.4; }
.rk-expertise-collection .rk-expert-card-detail .rk-button { padding:.5rem .7rem; font-size:.75rem; }
.rk-expert-overview { display:flex; flex-direction:column; justify-content:space-between; min-height:12rem; padding:1.1rem; color:#fff; border:0; background:var(--rk-deep); }.rk-expert-overview h3,.rk-expert-overview p { color:#fff; }.rk-expert-overview .rk-eyebrow { color:var(--rk-orange); }.rk-expert-overview .rk-button { align-self:flex-start; margin-top:1rem; }
.rk-knowledge { padding-block:2.8rem; background:var(--rk-paper); }.rk-knowledge-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.75fr); gap:2rem; margin-bottom:1.4rem; }.rk-knowledge-head p { max-width:42rem; margin:0; color:var(--rk-muted); line-height:1.58; }
.rk-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.rk-resource { padding-bottom:.5rem; }.rk-resource-art { height:11rem; display:grid; place-items:center; margin-bottom:.85rem; overflow:hidden; background:var(--rk-sand); }
.rk-video-art { position:relative; background:var(--rk-deep); }.rk-video-art::before { content:"▶"; display:grid; place-items:center; width:3rem; height:3rem; color:var(--rk-deep); background:var(--rk-orange); font-size:1rem; }.rk-video-art::after { content:"10:24"; position:absolute; right:.7rem; bottom:.6rem; padding:.2rem .35rem; color:#fff; background:rgba(0,0,0,.5); font-size:.7rem; }
.rk-document-art { align-content:start; gap:.65rem; padding:1.5rem; background:#e6eadf; }.rk-document-art b { width:100%; color:var(--rk-deep); }.rk-document-art i { display:block; width:100%; height:5px; background:rgba(27,67,50,.22); }
.rk-swot-art { grid-template-columns:1fr 1fr; gap:2px; padding:1.2rem; background:var(--rk-green); }.rk-swot-art span { display:grid; place-items:center; height:100%; min-height:3rem; color:var(--rk-deep); background:rgba(255,255,255,.72); font-size:.78rem; font-weight:800; }
.rk-resource h3 { margin:.32rem 0; font-size:1.15rem; }.rk-resource p { margin:0 0 .75rem; color:var(--rk-muted); font-size:.85rem; }.rk-resource .rk-button { padding:.55rem .72rem; font-size:.76rem; }

/* Existing inner pages retain the same visual language. */
.rk-page-intro { padding:3rem 2.2rem 2rem; border-bottom:1px solid var(--rk-line); }.rk-page-intro h1 { max-width:20ch; margin:0 0 1rem; font-size:clamp(2.2rem,4.5vw,4rem); line-height:1; letter-spacing:-.055em; }.rk-page-intro p { max-width:65ch; color:var(--rk-muted); line-height:1.6; }
.rk-content-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr); gap:2rem; padding:2.5rem 2.2rem; }.rk-content-layout article { max-width:75ch; }.rk-content-layout article p,.rk-content-layout article li { line-height:1.7; }.rk-sidebar { align-self:start; position:sticky; top:1rem; }.rk-notice { padding:1.2rem; background:var(--rk-sand); border-top:.25rem solid var(--rk-moss); }.rk-post-list { display:grid; gap:.8rem; }.rk-post { display:flex; justify-content:space-between; gap:1rem; padding:1rem; border-top:1px solid var(--rk-line); }.rk-post a { color:var(--rk-ink); font-weight:800; text-decoration:none; }.rk-post small { color:var(--rk-muted); }
.rk-footer { color:#fafaf8; background:var(--rk-deep); }.rk-footer-inner { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:1.2rem 2.2rem; color:rgba(255,255,255,.75); font-size:.78rem; }.rk-skip { position:absolute; left:-9999px; }.rk-skip:focus { left:1rem; top:1rem; z-index:30; padding:.75rem 1rem; color:var(--rk-deep); background:#fff; }

/* Phase strip follows the reference: one clear line, simple icons and one active phase. */
.rk-phase-section .rk-section-head { display:block; margin-bottom:1.2rem; }
.rk-phase-section .rk-section-head h2 { margin:0; font-size:1.35rem; line-height:1.2; letter-spacing:-.02em; }
.rk-phase-section .rk-section-head > p { max-width:66rem; margin:.5rem 0 0; color:var(--rk-ink); font-size:.9rem; line-height:1.55; }
.rk-phase-grid { gap:.65rem; margin-top:1.3rem; }
.rk-phase { min-height:17rem; padding:1.05rem; border-top:.25rem solid var(--rk-ink); background:transparent; }
.rk-phase:first-child { border-top-color:var(--rk-moss); background:rgba(45,106,79,.1); }
.rk-phase:nth-child(2n),.rk-phase:nth-child(3n) { border-color:var(--rk-ink); }
.rk-phase svg { width:2.45rem; height:2.45rem; margin-bottom:.2rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.rk-phase:first-child svg { color:var(--rk-moss); }
.rk-phase strong { margin-top:.2rem; font-size:.76rem; line-height:1; }
.rk-phase-keywords { display:block; width:100%; margin-top:1rem; color:color-mix(in srgb,currentColor 82%,transparent); font-size:.78rem; font-weight:700; line-height:1.35; }
.rk-phase-question { display:block; width:100%; margin-top:.55rem; color:color-mix(in srgb,currentColor 72%,transparent); font-size:.77rem; font-weight:400; line-height:1.38; }
@media (max-width:900px) { .rk-header-inner { grid-template-columns:1fr auto; }.rk-nav { grid-column:1/-1; justify-content:flex-start; }.rk-hero,.rk-talk-feature,.rk-section-head,.rk-knowledge-head,.rk-content-layout { grid-template-columns:1fr; }.rk-hero { min-height:auto; }.rk-contours { width:120%; opacity:.45; }.rk-phase-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.rk-expert-grid,.rk-resource-grid,.rk-expertise .rk-expert-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.rk-sidebar { position:static; } }
@media (max-width:560px) { .rk-header-inner,.rk-hero,.rk-section,.rk-page-intro,.rk-content-layout,.rk-footer-inner { padding-inline:1rem; }.rk-header-inner { gap:.7rem; }.rk-brand span { display:none; }.rk-nav a { padding:.42rem .54rem; font-size:.77rem; }.rk-header-tools { padding-left:.5rem; }.rk-phase-grid,.rk-expert-grid,.rk-resource-grid,.rk-talk-meta,.rk-expertise .rk-expert-grid { grid-template-columns:1fr; }.rk-phase { min-height:auto; }.rk-talk-content { padding:1.5rem 1rem; }.rk-registration { align-items:flex-start; flex-direction:column; } }
