/* Startseiten-Hero (Spirale), Themenband, Ronny-Teaser und Seite "Über Ronny Welzel".
   Alle Klassen beginnen mit hx-, damit nichts in style.css überschrieben wird. */
.hx{--hx-navy:#0F2942;--hx-navy2:#1C3A57;--hx-teal:#2DD4BF;--hx-amber:#E8A23A;position:relative;overflow:hidden;padding:0;color:#fff;background:linear-gradient(135deg,var(--hx-navy),var(--hx-navy2))}
.hx-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hx-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2rem;align-items:center;padding-block:3.75rem 2.2rem}
.hx-copy{display:flex;flex-direction:column;gap:1.25rem;max-width:40rem}
.hx-eyebrow{align-self:flex-start;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.4rem .8rem;border-radius:999px;border:1px solid rgba(45,212,191,.45);color:var(--hx-teal)}
.hx h1{font-family:var(--font-display);font-weight:500;font-size:clamp(2.3rem,5.2vw,3.75rem);line-height:1.04;margin:0;color:#fff;text-wrap:balance}
.hx h1 em{color:var(--hx-teal);font-style:italic}
.hx-lead{margin:0;font-size:1.1rem;line-height:1.55;max-width:50ch;color:#C9D6E2}
.hx-cta{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}
.hx-btn{display:inline-flex;font-weight:700;font-size:1rem;padding:.9rem 1.4rem;border-radius:.65rem;text-decoration:none;background:var(--hx-teal);color:#06222A;transition:transform .15s ease,background .15s ease}
.hx-btn:hover{background:#5EEAD4;transform:translateY(-2px)}
.hx-link{font-weight:600;font-size:.95rem;color:#fff;text-underline-offset:3px}
.hx a:focus-visible,.hx-video:focus-visible{outline:3px solid var(--hx-amber);outline-offset:3px}
.hx-msgs{display:flex;flex-direction:column;gap:.9rem;align-items:center;text-align:center;justify-self:center;width:min(21rem,100%)}
.hx-msg-t{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.12;color:#fff;text-wrap:balance;text-shadow:0 2px 24px rgba(10,28,46,.8);transition:opacity .6s ease,transform .6s ease;min-height:2.3em;display:flex;align-items:center}
.hx-msg-t.out{opacity:0;transform:translateY(8px)}
.hx-msg-l{font-weight:700;font-size:.82rem;color:#06222A;background:var(--hx-teal);border-radius:999px;padding:.5rem 1rem;text-decoration:none;transition:opacity .6s ease}
.hx-msg-l.out{opacity:0}
.hx-dots{display:flex;gap:.45rem}.hx-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3);display:block}.hx-dots i.on{background:var(--hx-teal)}
.hx-band{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.14);background:rgba(8,22,36,.55);padding:.9rem 0 1rem}
.hx-band-h{display:flex;justify-content:space-between;gap:.4rem 1rem;flex-wrap:wrap;padding-bottom:.65rem;font-size:.82rem;color:#B9C9D8}
.hx-band-h b{color:#fff}
.hx-track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.hx-lane{display:flex;gap:.5rem;width:max-content;animation:hx-slide 100s linear infinite}
.hx-track:hover .hx-lane,.hx-track:focus-within .hx-lane{animation-play-state:paused}
.hx-lane a{font-size:.88rem;font-weight:500;color:#E8F0F6;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);border-radius:999px;padding:.45rem .9rem;white-space:nowrap;text-decoration:none}
.hx-lane a:hover{background:rgba(255,255,255,.16)}
.hx-lane a.k{border-color:rgba(232,162,58,.55);color:#F6D9A8}
@keyframes hx-slide{to{transform:translateX(-50%)}}
.hx-more{display:flex;gap:.3rem 1.4rem;flex-wrap:wrap;padding-top:.8rem;font-size:.85rem;color:#B9C9D8}
.hx-more a{color:#fff;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4)}

.hx-trust{padding-block:1.1rem;background:var(--surface);border-bottom:1px solid var(--border)}
.hx-trust .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;font-size:.82rem;color:var(--text-muted)}
.hx-trust .it{display:flex;gap:.65rem;align-items:flex-start;min-width:0}
.hx-trust b{display:block;color:var(--text);font-size:.9rem}
.hx-trust svg{flex:none;width:22px;height:22px;stroke:var(--teal);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Ronny-Teaser und Video */
.hx-teaser{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2.4rem;align-items:center}
.hx-teaser h2,.hx-pagehead h1{font-family:var(--font-display)}
.hx-teaser h2{font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.1;margin:0 0 .8rem}
.hx-teaser p{color:var(--text-muted);max-width:56ch;font-size:1.05rem;margin:0 0 .9rem}
.hx-facts{display:flex;gap:.4rem 1.1rem;flex-wrap:wrap;margin:0 0 1.2rem;padding:0;list-style:none;font-size:.92rem;color:var(--text-muted)}
.hx-facts li::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber);margin-right:.5rem;vertical-align:middle}
.hx-video{position:relative;display:block;border-radius:1rem;overflow:hidden;aspect-ratio:16/9;background:#05080C;box-shadow:var(--shadow-2);width:100%;text-decoration:none}
.hx-video img,.hx-video iframe{width:100%;height:100%;object-fit:cover;display:block;border:0}
.hx-play{position:absolute;right:1rem;bottom:1rem;width:64px;height:64px;border-radius:50%;background:#E8A23A;display:grid;place-items:center;box-shadow:0 8px 28px rgba(0,0,0,.45);transition:transform .15s ease}
.hx-video:hover .hx-play{transform:scale(1.08)}
.hx-play svg{width:26px;height:26px;fill:#2A1B03;margin-left:4px}
.hx-vnote{font-size:.78rem;color:var(--text-muted);margin:.6rem 0 0}

/* Seite Über Ronny Welzel */
.hx-pagehead{padding-block:3.2rem 2.8rem;background:linear-gradient(135deg,#0F2942,#1C3A57);color:#fff}
.hx-pagehead .hx-eyebrow{display:inline-block;margin-bottom:1rem}
.hx-pagehead h1{font-weight:500;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05;margin:0 0 .8rem;color:#fff;text-wrap:balance}
.hx-pagehead h1 em{color:#2DD4BF;font-style:italic}
.hx-pagehead p{margin:0;max-width:62ch;color:#C9D6E2;font-size:1.1rem}
.hx-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2rem;align-items:start}
.hx-chap{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.hx-chap a{display:flex;gap:.9rem;padding:.6rem .75rem;border-radius:.5rem;font-size:.95rem;color:var(--text);text-decoration:none}
.hx-chap li:nth-child(odd) a{background:var(--surface-soft)}
.hx-chap a:hover{background:var(--teal-soft)}
.hx-chap time{font-weight:700;font-size:.82rem;color:var(--teal);min-width:2.8rem;font-variant-numeric:tabular-nums}
.hx-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.hx-book{border:1px solid var(--border);border-radius:.9rem;padding:1.1rem;background:var(--surface);font-size:.95rem;color:var(--text-muted);display:flex;flex-direction:column;gap:.3rem}
.hx-book b{font-family:var(--font-display);font-weight:600;font-size:1.2rem;line-height:1.25;color:var(--text)}
.hx-book a{margin-top:auto;padding-top:.5rem;font-weight:600;color:var(--teal)}
.hx-ctaband{background:var(--navy-surface);color:var(--navy-surface-fg);padding-block:2.4rem}
.hx-ctaband .wrap{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.hx-ctaband h2{font-family:var(--font-display);font-weight:500;font-size:1.8rem;margin:0 0 .3rem;color:#fff}
.hx-ctaband p{margin:0;color:#B9CBE4}
.hx-credit{font-size:.8rem;color:var(--text-muted);margin-top:.8rem}

@media (max-width:860px){
  .hx-grid{grid-template-columns:1fr;padding-block:2.6rem 1.2rem;gap:1.4rem}
  .hx-msgs{padding-bottom:.6rem}
  .hx-trust .wrap{grid-template-columns:1fr 1fr}
  .hx-teaser,.hx-two{grid-template-columns:1fr}
  .hx-books{grid-template-columns:1fr}
}
@media (max-width:480px){.hx-trust .wrap{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  .hx-lane{animation:none;flex-wrap:wrap;width:auto}
  .hx-lane [aria-hidden="true"]{display:none}
  .hx-track{-webkit-mask-image:none;mask-image:none}
}

.hx-headgrid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2.5rem;align-items:center}
.hx-portrait{width:100%;height:auto;border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.35);display:block}
.hx-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.hx-photos figure{margin:0}
.hx-photos img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 30%;border-radius:14px;display:block;border:1px solid var(--border)}
.hx-photos figcaption{margin-top:.5rem;font-size:.9rem;color:var(--text-muted)}
@media (max-width:760px){.hx-headgrid{grid-template-columns:1fr}.hx-portrait{max-width:200px}.hx-photos{grid-template-columns:1fr}}
