/* frankweidenbach.com – gemeinsames Stylesheet für alle Seiten (Stand 20.10.2026).
   Schriften liegen auf dem eigenen Server (keine Verbindung zu Google). */
@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:200 900;
  src:url("fonts/source-serif-4-latin-standard-normal.woff2") format("woff2-variations"),url("fonts/source-serif-4-latin-standard-normal.woff2") format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:200 900;
  src:url("fonts/source-serif-4-latin-standard-italic.woff2") format("woff2-variations"),url("fonts/source-serif-4-latin-standard-italic.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:200 900;
  src:url("fonts/source-sans-3-latin-wght-normal.woff2") format("woff2-variations"),url("fonts/source-sans-3-latin-wght-normal.woff2") format("woff2")}

/* Layout: eine ruhige Lesespalte wie eine Buchseite; Abschnitte durch Luft und feine Linien getrennt, nicht durch Kästen. */
:root{
  --paper:#1e2d4f; --paper-2:#141f38; --ink:#faf7f0; --ink-soft:#cfd4e0; --mute:#a3abbf; --rule:#33456e;
  --accent:#d9cda6; --accent-ink:#141f38; --green:#8fbc62; --ph:#e8c27a; --ph-bg:#2b3049; color-scheme:dark;
  --kin:#d9772b; --str:#c9a227; --hyd:#58a274; --ueb:#cf4b3c;
  --serif:"Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --sans:"Source Sans 3", "Source Sans Pro", "Segoe UI", system-ui, sans-serif;
  --col:40rem; --gutter:clamp(16px,5vw,48px);
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.09rem;line-height:1.62;margin:0;padding-inline:var(--gutter);padding-block:0}
.wrap{max-width:var(--col);margin-inline:auto}
.wide{max-width:60rem;margin-inline:auto}
h1,h2,h3{font-weight:600;line-height:1.2;text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,5.4vw,3.15rem);letter-spacing:-.01em;font-weight:500}
h2{font-size:clamp(1.55rem,3.4vw,2.05rem);font-weight:500}
h3{font-size:1.18rem}
p{margin:0}
a{color:var(--accent)}
a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.label{font-family:var(--sans);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--mute);font-weight:600}
.preview{font-family:var(--sans);font-size:.85rem;color:var(--ph);background:var(--ph-bg);border:1px dashed var(--ph);border-radius:6px;padding:.55rem .8rem;margin-block:1rem 0}
.ph{font-family:var(--sans);font-size:.88rem;color:var(--ph);background:var(--ph-bg);border:1px dashed var(--ph);border-radius:4px;padding:.1rem .45rem;display:inline-block}
header.top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;padding-block:1.4rem 0}
.mark{display:flex;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:600;color:var(--ink);text-decoration:none}
.hex{display:grid;gap:3px;width:22px}
.hex i{display:block;height:3px;background:var(--ink)}
.hex i.y{background:linear-gradient(90deg,var(--ink) 0 42%,transparent 42% 58%,var(--ink) 58%)}
.hex i.y.g{background:linear-gradient(90deg,var(--green) 0 42%,transparent 42% 58%,var(--green) 58%)}
nav.top{display:flex;gap:1.1rem;flex-wrap:wrap;font-family:var(--sans);font-size:.92rem}
nav.top a{color:var(--ink-soft);text-decoration:none}
nav.top a:hover{color:var(--accent)}
section{padding-block:clamp(3rem,8vw,5.2rem);border-top:1px solid var(--rule)}
section.hero{border-top:0;padding-block:clamp(2.6rem,9vw,5.5rem) clamp(3rem,7vw,4.5rem)}
.stack{display:flex;flex-direction:column;gap:1.05rem}
.hero .stack{gap:1.25rem}
.hero .lede p{font-size:1.16rem;color:var(--ink)}
.hero .lede{display:flex;flex-direction:column;gap:.9rem;border-left:3px solid var(--green);padding-left:1.1rem;margin-top:.4rem}
.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.6rem;align-items:center}
.btn{font-family:var(--sans);font-weight:600;font-size:.98rem;text-decoration:none;padding:.72rem 1.15rem;border-radius:4px;border:1.5px solid var(--accent);display:inline-block}
.btn.primary{background:var(--accent);color:var(--accent-ink)}
.btn.ghost{color:var(--accent);background:transparent}
.btn:hover{filter:brightness(1.06)}
.recog{display:flex;flex-direction:column;gap:0;margin-top:1.6rem}
.recog p{padding-block:1rem;border-bottom:1px solid var(--rule)}
.recog p:first-child{border-top:1px solid var(--rule)}
.close{margin-top:1.6rem;font-style:italic;color:var(--ink-soft)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,3vw,2.2rem);margin-top:2.2rem}
.step{display:flex;flex-direction:column;gap:.55rem;min-width:0}
.step .bar{height:3px;background:var(--rule);position:relative}
.step .bar::after{content:"";position:absolute;left:0;top:0;height:3px;background:var(--green)}
.step:nth-child(1) .bar::after{width:33.3%}
.step:nth-child(2) .bar::after{width:66.6%}
.step:nth-child(3) .bar::after{width:100%}
.step p{font-size:1rem;color:var(--ink-soft)}
.cycle{margin-top:2rem;color:var(--ink-soft)}
.series{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:clamp(1.4rem,4vw,2.6rem);margin-top:2rem;align-items:start}
.coverimg{width:100%;max-width:100%;height:auto;display:block;border-radius:2px;box-shadow:0 0 0 1px rgba(128,128,128,.25),0 10px 28px rgba(8,14,33,.35)}
.excerpt{margin:.6rem 0 0;padding:1.1rem 0 0 1.1rem;border-left:3px solid var(--green);display:flex;flex-direction:column;gap:.8rem}
.excerpt p{font-style:italic;color:var(--ink-soft)}
.excerpt .btns{margin-top:.2rem}
.excerpt p.hint{font-style:normal;font-family:var(--sans);font-size:.88rem;color:var(--mute)}
.later{display:flex;flex-direction:column;margin-top:1.6rem;font-family:var(--sans);font-size:.95rem}
.later div{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem;border-bottom:1px solid var(--rule);color:var(--ink-soft)}
.later div span:last-child{color:var(--mute)}
.later div.ub span:first-child{display:flex;flex-direction:column;gap:.15rem}
.later div.ub strong{color:var(--ink);font-weight:600}
.later div.ub small{font-size:.9rem}
.later div.ub span:last-child{white-space:nowrap}
.freebie{margin-top:2.2rem;padding:1.2rem 0 0 1.1rem;border-left:3px solid var(--green);display:flex;flex-direction:column;gap:.6rem;max-width:var(--col)}
.path{display:flex;flex-direction:column;gap:0;margin-top:1.8rem}
.path .p{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1.2rem;padding-block:1.15rem;border-top:1px solid var(--rule)}
.path .p:last-child{border-bottom:1px solid var(--rule)}
.path .when{font-family:var(--sans);font-size:.85rem;color:var(--mute);font-weight:600;padding-top:.2rem}
.path .p p{color:var(--ink-soft);margin-top:.3rem}
.facts{font-family:var(--sans);font-size:.95rem;color:var(--ink-soft);margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center}
.about{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(1.4rem,4vw,2.8rem);align-items:start;margin-top:2rem}
.about figure{margin:0}
.about img{width:100%;height:auto;display:block;border-radius:2px;filter:grayscale(.15)}
.about figcaption{font-family:var(--sans);font-size:.78rem;color:var(--mute);margin-top:.4rem}
blockquote{margin:1.8rem 0 0;padding:0;font-size:1.06rem;display:flex;flex-direction:column;gap:.9rem}
blockquote p{color:var(--ink)}
blockquote footer{font-family:var(--sans);font-size:.92rem;color:var(--mute)}
blockquote .q{font-size:1.25rem;line-height:1.45;font-style:italic;color:var(--ink)}
details{border-top:1px solid var(--rule);padding-block:.95rem}
details:last-of-type{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--sans);color:var(--accent);font-weight:400}
details[open] summary::after{content:"–"}
details p{margin-top:.6rem;color:var(--ink-soft)}
.faq{margin-top:1.8rem}
footer.site{border-top:1px solid var(--rule);padding-block:2.2rem 2.8rem;font-family:var(--sans);font-size:.88rem;color:var(--mute);display:flex;flex-direction:column;gap:.8rem}
footer.site nav{display:flex;gap:1.2rem;flex-wrap:wrap}
footer.site a{color:var(--ink-soft)}

/* Unterseiten (Meditationen, Impressum, Datenschutz) */
.doc h1{font-size:clamp(1.8rem,4.6vw,2.6rem)}
.doc h2{font-size:clamp(1.25rem,2.6vw,1.5rem);margin-top:2.2rem}
.doc h3{margin-top:1.4rem;font-size:1.06rem}
.doc p,.doc li{color:var(--ink-soft)}
.doc ul{padding-left:1.2rem;margin:.4rem 0 0;display:flex;flex-direction:column;gap:.35rem}
.doc address{font-style:normal;color:var(--ink)}
.medlist{width:100%;border-collapse:collapse;margin-top:1.2rem;font-family:var(--sans);font-size:.95rem}
.medlist th,.medlist td{text-align:left;vertical-align:top;padding:.6rem .5rem .6rem 0;border-bottom:1px solid var(--rule)}
.medlist th{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);font-weight:600}
.medlist td{color:var(--ink-soft)}
.medlist td:first-child{color:var(--ink);font-weight:600}
.medlist td:last-child{white-space:nowrap}
.contact{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.2rem;margin:1rem 0 0;font-size:1.12rem}
.contact dt{font-family:var(--sans);font-size:.85rem;color:var(--mute);font-weight:600;padding-top:.25rem}
.contact dd{margin:0}
.medlist tr.grp td{font-style:italic;font-weight:400;color:var(--mute);padding-top:1.1rem;white-space:normal}
.back{font-family:var(--sans);font-size:.92rem;color:var(--ink-soft);text-decoration:none}

@media (max-width:640px){
  .steps{grid-template-columns:minmax(0,1fr)}
  .series,.about{grid-template-columns:minmax(0,1fr)}
  .coverimg{max-width:12rem}
  .about figure{max-width:14rem}
  .path .p{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .later div{flex-direction:column;gap:.2rem}
  .medlist thead{display:none}
  .medlist tr{display:flex;flex-direction:column;padding-block:.5rem;border-bottom:1px solid var(--rule)}
  .medlist td{border:0;padding:.1rem 0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
html{scroll-behavior:smooth}

blockquote+blockquote{border-top:1px solid var(--rule);padding-top:1.8rem}

/* Fester Kopf: bleibt beim Scrollen oben (Wunsch des Autors 14.11.) */
body > .wide:first-child{position:sticky;top:0;z-index:20;max-width:none;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);background:var(--paper);border-bottom:1px solid var(--rule)}
body > .wide:first-child > header.top{max-width:60rem;margin-inline:auto;padding-block:.8rem}
html{scroll-padding-top:5rem}
@media (max-width:640px){
  body > .wide:first-child > header.top{padding-block:.6rem;gap:.4rem}
  body > .wide:first-child nav.top{flex-wrap:nowrap;overflow-x:auto;gap:.5rem;width:100%;padding-bottom:.2rem;scrollbar-width:none;font-size:.8rem;justify-content:space-between}
  body > .wide:first-child nav.top a{white-space:nowrap}
  html{scroll-padding-top:6.5rem}
}
