/* Sensus Communis | colloquium.css
   Seitenspezifische Grundgestaltung.
   Geladen von: colloquium-en, colloquium
   Reihenfolge je Seite: fonts, tokens, [subpage], Seite, glass-cards, motion, Seite.layers, site */

/* fixed poster background — responsive sunrise that adapts to any screen ratio.
     Sky is a full-bleed CSS gradient (never cropped); sun + curved horizon are
     positioned layers, so wide screens show the same composition as mobile. */
.poster-wrap {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: /* horizon haze, as on the home page */
      radial-gradient(70% 24% at 50% 95.6%, rgba(255,232,192,0.300) 0%, rgba(255,229,187,0.264) 8%, rgba(255,225,181,0.228) 16%, rgba(255,221,175,0.187) 25%, rgba(255,217,169,0.143) 35%, rgba(254,212,161,0.097) 46%, rgba(253,205,152,0.055) 58%, rgba(251,199,144,0.024) 70%, rgba(249,192,135,0.006) 82%, rgba(247,186,128,0.001) 92%, rgba(246,182,122,0.000) 100%),
      linear-gradient(180deg,
      var(--c-lavender) 0%, var(--c-lavender) 76%, #CCBBD4 84%, #D8AE9C 91%,
      #DFA686 94.7%, #E59B6A 100%);
}

.poster-stars-svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 80%;
  display: block;
}

.poster-sun {
  position: absolute;
  left: 50%;
  top: 94.7%;
  width: clamp(88px, 12vw, 168px);
  aspect-ratio: 1/1;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  z-index: 1;
  background: radial-gradient(circle at 50% 46%, #FFFDF5 0%, #FBF3DE 70%, #F6E6C4 100%);
}

.poster-sun::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 312%;
  height: 312%;
  border-radius: 50%;
  z-index: -1;
  background: radial-gradient(circle closest-side, rgba(255,247,228,0.820) 0%, rgba(255,243,215,0.726) 10%, rgba(255,238,202,0.627) 20%, rgba(255,234,189,0.525) 30%, rgba(255,230,176,0.421) 40%, rgba(255,227,167,0.319) 50%, rgba(255,223,158,0.222) 60%, rgba(255,220,149,0.135) 70%, rgba(255,217,140,0.065) 80%, rgba(255,213,131,0.017) 90%, rgba(255,210,122,0.000) 100%);
}

.poster-ground {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 92.5%;
  width: 100%;
  height: 7.5%;
  display: block;
  z-index: 2;
}

/* Mobil etwas heller strahlen — die kleinen Sterne sind dort sonst zu schwach */
@media (max-width:720px) {
  .poster-stars-svg {
    filter: drop-shadow(0 0 2px rgba(255,250,240,.5));
  }
  .poster-stars .nstar {
    animation-name: twMobile;
  }
  @keyframes twMobile{ 0%,100%{opacity:.52;} 50%{opacity:1;} }
}

/* content */
main {
  position: relative;
  z-index: 5;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px 120px;
}

.subhero {
  min-height: 48vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 120px 0 5vh;
}

.page-label {
  font-family: "Manrope";
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--c-rust);
  margin-bottom: 14px;
}

.page-title {
  font-family: "EB Garamond",serif;
  font-weight: 500;
  font-size: clamp(40px,7vw,68px);
  line-height: 1.02;
  color: var(--c-navy);
  margin-bottom: 0;
  letter-spacing: -.01em;
}

.panel {
  margin-top: 44px;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.panel h2 {
  font-family: "EB Garamond",serif;
  font-weight: 600;
  font-size: 25px;
  color: var(--navy);
  margin: 38px 0 12px;
  line-height: 1.2;
  text-shadow: 0 1px 16px rgb(var(--c-cream-rgb) / .35);
}

.panel h2:first-child {
  margin-top: 0;
}

.panel p {
  font-size: 18.5px;
  color: #13225C;
  margin-bottom: 14px;
  line-height: 1.62;
  text-shadow: 0 1px 14px rgb(var(--c-cream-rgb) / .30);
}

.panel p.muted {
  color: rgb(var(--c-navy-rgb) / .72);
}

.panel .hero-spheres {
  color: var(--c-violet);
  font-weight: 600;
}

.panel a {
  color: var(--rust);
  text-decoration: none;
  border-bottom: 1px solid rgb(var(--c-rust-rgb) / .3);
}

.panel ul {
  list-style: none;
  margin: 6px 0 18px;
}

.panel li {
  position: relative;
  padding-left: 20px;
  font-size: 17.5px;
  color: var(--ink);
  margin-bottom: 7px;
}

.panel li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 10px;
  width: 5px;
  height: 5px;
  background: var(--coral);
  transform: rotate(45deg);
}

.divider {
  height: 1px;
  background: rgb(var(--c-navy-rgb) / .22);
  margin: 34px 0;
}

/* footer is injected by site-footer.js (shared across pages) */
@media (max-width:720px) {
  main {
    padding: 0 18px 90px;
  }
  .subhero {
    min-height: 46vh;
    padding: 96px 0 4vh;
  }
}

/* ===== Colloquium content ===== */
.lede {
  font-family: "EB Garamond",serif;
  font-style: italic;
  font-size: clamp(20.5px,2.4vw,26px);
  line-height: 1.45;
  color: #13225C;
  max-width: 680px;
  margin: 18px 0 0;
  text-shadow: 0 1px 18px rgb(var(--c-cream-rgb) / .4);
}

.coll-stats {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 16px;
  margin-top: 36px;
  max-width: 640px;
}

@media (max-width:560px) {
  .coll-stats {
    grid-template-columns: 1fr;
  }
}

.coll-stat {
  padding: 20px 24px;
  border: 1px solid rgb(var(--c-navy-rgb) / .16);
  border-radius: 14px;
  background: rgb(var(--c-paper-rgb) / .55);
  transition: background .36s ease, transform .36s cubic-bezier(.2,.7,.2,1), border-color .36s ease;
}

.coll-stat:hover {
  background: rgb(var(--c-paper-rgb) / .85);
  transform: translateY(-3px);
  border-color: rgb(var(--c-navy-rgb) / .28);
}

.coll-stat small {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-rust);
  margin-bottom: 7px;
}

.coll-stat span {
  font-family: "EB Garamond",serif;
  font-size: 25px;
  color: var(--navy);
}

.panel h3.q-h {
  font-family: "EB Garamond",serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(25px,3.2vw,34px);
  line-height: 1.25;
  color: var(--navy);
  margin: 0 0 8px;
  text-shadow: 0 1px 18px rgb(var(--c-cream-rgb) / .35);
}

.q-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--c-rust);
  margin-bottom: 16px;
}

/* ===== „Was heißt Urteilsfähigkeit …" — rotierender Schreibmaschinen-Effekt ===== */
.judgment-typer {
  font-family: "EB Garamond",serif;
  font-weight: 500;
  font-size: clamp(24px,3vw,32px);
  line-height: 1.25;
  color: var(--navy);
  margin: 18px 0 4px;
  text-shadow: 0 1px 18px rgb(var(--c-cream-rgb) / .4);
  letter-spacing: -.005em;
}

.judgment-typer .jt-suffix {
  transition: color .2s ease;
  font-style: italic;
}

.judgment-typer .jt-cursor {
  display: inline-block;
  width: 2px;
  height: 1.04em;
  margin-left: 3px;
  vertical-align: -0.14em;
  background: currentColor;
  opacity: .7;
  animation: jtBlink 1.05s steps(1) infinite;
}

.judgment-typer .jt-cursor--typing {
  animation: none;
  opacity: .85;
}

@keyframes jtBlink{ 0%,50%{opacity:.7;} 50.01%,100%{opacity:0;} }

@media (prefers-reduced-motion: reduce) {
  .judgment-typer .jt-cursor {
    animation: none;
  }
}

/* Question-Block: zentriert, Typer prominent wie auf der Podcast-Seite */
.q-center {
  text-align: center;
  padding: 8px 0 4px;
}

.q-center .q-label {
  margin-bottom: 20px;
}

.panel h3.q-h.q-h--hero {
  font-size: clamp(30px,4.4vw,48px) !important;
  line-height: 1.2;
  max-width: 24ch;
  margin: 6px auto 0 !important;
}

.panel h3.q-h em {
  color: var(--c-rust);
  font-style: italic;
}

/* The Yearly Rhythm (Block von der Annual-Unterseite) */
.rhythm-label {
  font-family: "Manrope",sans-serif;
  font-size: 11px;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--c-rust);
  margin-bottom: 10px;
  text-shadow: none;
}

.panel h2.rhythm-h {
  font-family: "EB Garamond",serif;
  font-weight: 500;
  font-size: clamp(26px,4vw,40px);
  color: var(--c-navy);
  margin: 0 0 16px;
  line-height: 1.06;
  text-shadow: none;
}

.rhythm-h em {
  font-style: italic;
  color: var(--c-rust);
}

.rhythm-steps {
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
}

.rhythm-steps li {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px solid rgb(var(--c-navy-rgb) / .14);
}

.rhythm-steps li::before {
  display: none;
}

.rhythm-steps li:first-child {
  border-top: 0;
}

.rhythm-steps b {
  display: block;
  font-family: "EB Garamond",serif;
  font-weight: 600;
  font-size: 18px;
  color: var(--c-navy);
  margin-bottom: 2px;
}

/* Lavendel-Glass-CTA — exakt wie .founder-btn auf der Startseite */
.sc-glass-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  font-family: "Manrope",sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--c-navy);
  padding: 16px 36px;
  border-radius: 100px;
  text-decoration: none;
  cursor: pointer;
  background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.14) 36%, rgba(255,255,255,0) 60%),
      rgba(206,208,242,.62),
      rgba(255,255,255,.30);
  -webkit-backdrop-filter: blur(16px) saturate(175%);
  backdrop-filter: blur(16px) saturate(175%);
  border: 1px solid rgba(255,255,255,.62);
  box-shadow: 0 13px 34px rgba(40,44,110,.26), inset 0 1px 1px rgba(255,255,255,.92), inset 0 -10px 22px rgba(184,186,228,.20), inset 0 -1px 1px rgb(var(--c-violet-rgb) / .12);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), background .35s, border-color .35s, box-shadow .35s;
}

.sc-glass-cta > span {
  position: relative;
  z-index: 2;
}

.sc-glass-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: radial-gradient(2.4px 2.4px at 12% 30%, #fff, transparent 60%),
      radial-gradient(2px 2px at 27% 62%, #fff, transparent 60%),
      radial-gradient(1.8px 1.8px at 45% 26%, rgba(255,255,255,.96), transparent 60%),
      radial-gradient(2.3px 2.3px at 63% 58%, #fff, transparent 60%),
      radial-gradient(1.8px 1.8px at 82% 33%, rgba(255,255,255,.96), transparent 60%),
      radial-gradient(2px 2px at 92% 66%, #fff, transparent 60%),
      radial-gradient(1.6px 1.6px at 37% 75%, rgb(var(--c-navy-rgb) / .5), transparent 60%),
      radial-gradient(1.5px 1.5px at 73% 77%, rgb(var(--c-navy-rgb) / .42), transparent 60%);
  animation: scGlintA 2.6s ease-in-out infinite;
}

.sc-glass-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: radial-gradient(2px 2px at 19% 48%, #fff, transparent 60%),
      radial-gradient(1.7px 1.7px at 39% 42%, rgba(255,255,255,.92), transparent 60%),
      radial-gradient(2.4px 2.4px at 55% 72%, #fff, transparent 60%),
      radial-gradient(1.9px 1.9px at 70% 30%, #fff, transparent 60%),
      radial-gradient(2px 2px at 87% 52%, rgba(255,255,255,.96), transparent 60%),
      radial-gradient(1.6px 1.6px at 60% 17%, rgba(255,255,255,.9), transparent 60%),
      radial-gradient(1.5px 1.5px at 30% 22%, rgb(var(--c-navy-rgb) / .42), transparent 60%);
  animation: scGlintB 3.4s ease-in-out .8s infinite;
}

@keyframes scGlintA{ 0%,100%{opacity:.32;} 50%{opacity:1;} }

@keyframes scGlintB{ 0%,100%{opacity:.36;} 45%{opacity:.96;} }

.sc-glass-cta:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(255,255,255,.66) 0%, rgba(255,255,255,.18) 36%, rgba(255,255,255,0) 60%),
      rgba(214,216,246,.72),
      rgba(255,255,255,.34);
  border-color: rgba(255,255,255,.8);
  box-shadow: 0 18px 46px rgba(40,44,110,.32), inset 0 1px 1px rgba(255,255,255,1), inset 0 -1px 1px rgb(var(--c-violet-rgb) / .14);
}

.sc-glass-cta:active {
  transform: translateY(0) scale(.985);
}

@media (prefers-reduced-motion: reduce) {
  .sc-glass-cta::before,
  .sc-glass-cta::after {
    animation: none;
    opacity: .55;
  }
}

.coll-cta-wrap {
  text-align: center;
  margin: 56px 0 12px;
}

.benefit-list {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
}

.benefit-list li {
  position: relative;
  padding: 13px 0 13px 30px;
  border-top: 1px solid rgb(var(--c-navy-rgb) / .14);
  font-size: 17.5px;
  color: #13225C;
  line-height: 1.5;
}

.benefit-list li:first-child {
  border-top: 0;
}

.benefit-list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 20px;
  width: 7px;
  height: 7px;
  background: var(--c-coral-soft);
  transform: rotate(45deg);
}

.benefit-close {
  margin-top: 24px;
  font-size: 17.5px;
  color: #13225C;
  line-height: 1.6;
}
