*{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg:#F3F1E9;
  --fg:#161616;
  --accent:#C79A3B;
  --text: var(--fg);
}

html{height:100%;}
img{max-width:100%;height:auto;}

body{
  height:100%;
  font-family: Helvetica, Arial, sans-serif;
  background:var(--bg);
  color:var(--fg);
  transition: background-color .18s ease;
}

a{color:inherit;text-decoration:none}

header, footer{
  background:var(--bg);
  transition: background-color .18s ease;
}

/* ===== HEADER + NAV (FINAL) ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:var(--bg);
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:28px 40px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition: background-color .18s ease;
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  padding:0;
}

.logo{
  font-weight:700;
  text-decoration:none;
  color:var(--fg);
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:12px;
}

.logo-mark{
  height:74px;
  width:auto;
  display:block;
}

/* Hidden checkbox */
.nav-toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

/* Desktop nav */
.site-nav{
  display:flex;
  align-items:center;
  gap:22px;
}

.site-nav a{
  text-decoration:none;
  color:var(--fg);
  padding:6px 0;
  border-bottom:2px solid transparent;
  white-space:nowrap;
}

.site-nav a.active{
  border-bottom-color:var(--fg);
}

/* Burger */
.burger{
  display:none;
  flex-direction:column;
  gap:6px;
  background:transparent;
  border:0;
  cursor:pointer;
  padding:10px 12px;
  -webkit-tap-highlight-color: transparent;
}

.burger span{
  width:26px;
  height:3px;
  background:var(--fg);
  border-radius:2px;
  transition: transform .22s ease, opacity .18s ease;
}

/* X animation */
.nav-toggle:checked + .burger span:nth-child(1){
  transform: translateY(9px) rotate(45deg);
}

.nav-toggle:checked + .burger span:nth-child(2){
  opacity:0;
}

.nav-toggle:checked + .burger span:nth-child(3){
  transform: translateY(-9px) rotate(-45deg);
}

/* Mobile */
@media (max-width:768px){
  .burger{ display:flex; }
  
  .site-header{
    padding:16px 24px;
  }

  .site-nav{
    display:flex;
    flex-direction:column;
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:var(--bg);
    padding: 0 24px;
    gap: 18px;

    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-6px);

    transition: max-height .30s ease, opacity .18s ease, transform .22s ease, padding .20s ease;
    border-top:1px solid rgba(0,0,0,.18);
  }

  .nav-toggle:checked ~ .site-nav{
    /* allow all items to be visible on small screens */
    max-height: calc(100vh - 72px);
    opacity: 1;
    transform: translateY(0);
    padding: 18px 24px 22px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .site-nav a{
    font-size:18px;
    padding: 2px 0;
    white-space: normal;
    line-height: 1.35;
    text-align: center;
  }
}

/* Mobile layout polish */
@media (max-width:768px){
  main{ padding:24px; }
}

.brand a{color:inherit}
nav a{margin-left:28px}

main{
  min-height:calc(100vh - 120px);
  padding:40px;
  background:var(--bg);
  transition: background-color .18s ease;
}

/* Typography */
h1{
  font-size:clamp(3rem,5vw,5rem);
  line-height:.95;
  margin-bottom:24px;
}

p{
  font-size:1.15rem;
  line-height:1.55;
  max-width:900px;
}

.note{
  opacity:.85;
  line-height:1.55;
  margin-top:12px;
  max-width:900px;
}

.kicker{
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:18px;
}

/* Buttons */
.cta{margin-top:32px}
.cta a{
  display:inline-block;
  border:2px solid #111;
  color:#111;
  padding:12px 18px;
  margin-right:18px;
  font-weight:700;
}
.cta a:visited{color:#111}

/* Footer */
footer{
  padding:24px 40px;
  font-size:.9rem;
}

/* Layout */
.hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:80px;
}

/* Bass clef area */
.clef-wrap{
  position:relative;
  width:680px;
  max-width:90vw;
}

.bassclef{
  width:100%;
  height:auto;
  display:block;
}

.dot{
  position:absolute;
  width:26px;
  height:26px;
  background:#000;
  border-radius:50%;
  pointer-events:none;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), opacity .16s ease;
}
.dot1{ top:42%; left:72%; }
.dot2{ top:48%; left:72%; }

/* Generic sections */
.section{ margin-top:70px; max-width:1100px; }

/* ===== RunCat-ish Easter Egg: Sprite Walk ===== */
.doodle-walk{
  position:fixed;
  left:-320px;
  bottom:14px;
  width:320px;
  height:120px;
  z-index:3;
  pointer-events:none;
  opacity:0;
}

/* langsamer + Pause fürs Schnuppern */
.doodle-walk.run{
  opacity:.92;
  animation: doodle-move 16.8s linear forwards;
}

/* Pause (45–52%) */
@keyframes doodle-move{
  0%   { transform: translateX(0); opacity:0; }
  8%   { opacity:.92; }
  45%  { transform: translateX(55vw); }
  52%  { transform: translateX(55vw); }
  92%  { opacity:.92; }
  100% { transform: translateX(calc(100vw + 420px)); opacity:0; }
}

.doodle-walk svg{ width:100%; height:100%; display:block; }

/* Frames */
.doodle-walk .frame{ opacity:0; }

.doodle-walk .f1{ animation: f1 0.8s steps(1,end) infinite; }
.doodle-walk .f2{ animation: f2 0.8s steps(1,end) infinite; }
.doodle-walk .f3{ animation: f3 0.8s steps(1,end) infinite; }
.doodle-walk .f4{ animation: f4 0.8s steps(1,end) infinite; }

/* Schnupper-Frame nur während Pause */
.doodle-walk .fsniff{ animation: sniff 16.8s linear infinite; }

@keyframes f1{ 0%,24%{opacity:1} 25%,100%{opacity:0} }
@keyframes f2{ 0%,24%{opacity:0} 25%,49%{opacity:1} 50%,100%{opacity:0} }
@keyframes f3{ 0%,49%{opacity:0} 50%,74%{opacity:1} 75%,100%{opacity:0} }
@keyframes f4{ 0%,74%{opacity:0} 75%,99%{opacity:1} 100%{opacity:0} }

@keyframes sniff{
  0%,44.9% { opacity:0; }
  45%,52%  { opacity:1; }
  52.1%,100% { opacity:0; }
}

/* Kopf-Nicken (nur im Schnupper-Frame) */
.doodle-walk .sniff-head{
  transform-origin: 232px 64px;
  animation: headNod 0.55s ease-in-out infinite;
}
@keyframes headNod{
  0%   { transform: translateY(0px) rotate(0deg); }
  50%  { transform: translateY(3px) rotate(4deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

/* Mini-bobbing fürs Gehen */
.doodle-walk .bob{
  animation: bob 0.8s ease-in-out infinite;
  transform-origin:center;
}
@keyframes bob{
  0%{ transform: translateY(0); }
  50%{ transform: translateY(2px); }
  100%{ transform: translateY(0); }
}

@media(max-width:900px){
  .hero{ grid-template-columns:1fr; }
  .doodle-walk{ width:290px; height:110px; bottom:10px; }
}

/* ===== Statement + Poetischer Intro-Block (Musikseite) – kompakt ===== */
.statement-box{
  border-left:3px solid #111;
  padding-left:20px;
  max-width:980px;
  margin-top:42px;
}
.statement-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.statement-symbol{
  font-size:1.35rem;
  line-height:1;
}
.statement-text{
  font-size:1.0rem;
  line-height:1.55;
  max-width:980px;
}
.statement-text br+br{ display:none; } /* reduziert optisch den Abstand (fallback) */

.poem-intro{
  font-style:italic;
  opacity:.86;
  max-width:980px;
  margin-top:6px;
}

details.poem-more{
  margin-top:10px;
  max-width:980px;
}
details.poem-more summary{
  cursor:pointer;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  display:inline-block;
  border:2px solid #111;
  padding:8px 12px;
  font-size:.9rem;
}
details.poem-more .poem-full{
  margin-top:12px;
  white-space:pre-line;
  font-style:italic;
  opacity:.84;
  line-height:1.7;
  max-width:980px;
}

/* ===== Snippet-Player – minimal, ohne Rand, weiß ===== */
.player {
  background: transparent !important;
  border: 0 !important;
  padding: 10px 0 !important;
  max-width: 420px !important;
}

.player-head {
  display: grid;
  grid-template-columns: 74px 1fr !important;
  gap: 12px !important;
}

.coverimg {
  width: 74px !important;
  height: 74px !important;
  border: 2px solid #111;
  background: transparent;
}

audio {
  width: 100%;
  margin-top: 8px;
}

.thumb {
  width: 40px !important;
  height: 40px !important;
  border: 2px solid #111;
}

/* Now playing – eine Zeile */
.nowline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: baseline;
  font-size: 0.98rem;
  line-height: 1.3;
}
.nowline .ptitle { font-weight: 900; }
.nowline .pmeta { opacity: .9; }
.nowline .ptime { font-weight: 900; }

/* Custom mini audio controls (transparent, minimal) */
.mini-controls{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.mini-btn{
  border:2px solid #111;
  background:transparent;
  padding:6px 10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

.mini-time{
  font-size:.95rem;
  opacity:.9;
  display:flex;
  align-items:baseline;
  gap:6px;
}

.mini-seek{
  flex:1 1 220px;
  min-width:180px;
  accent-color:#111; /* ok, subtle */
}

/* Now playing separators */
.nowline .sep{
  opacity:.6;
}

/* Statement CTA */
.statement-cta{
  margin-top:14px;
  max-width:980px;
}
.statement-cta .cta-link{
  display:inline-block;
  border:2px solid #111;
  padding:10px 14px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:transparent;
}
.statement-cta .cta-sub{
  margin-top:10px;
  font-size:1.0rem;
  line-height:1.55;
  opacity:.92;
}

/* Dog audio section */
#audio h2{ font-size:2.2rem; margin-top:6px; }
#audio .lead{ max-width:980px; }

/* Audio links + video embed */
.link-row{ margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; }
.pill-link{
  display:inline-block;
  border:2px solid #111;
  padding:10px 14px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:transparent;
}
.video-wrap{
  margin-top:12px;
  width:100%;
  aspect-ratio:16/9;
  border:2px solid #111;
}
.video-wrap iframe{ width:100%; height:100%; display:block; }

/* Calm & Tender logo top */
.logo-top{margin: 10px 0 26px; text-align:center;}
.logo-top img{width: 280px; max-width: 78vw; height:auto;}

/* Info grid */
.info-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:14px;
  max-width:1100px;
}
.info-card{
  border:2px solid #111;
  padding:14px;
  background:transparent;
}
.info-card h3{
  margin:0 0 10px 0;
  font-size:1.15rem;
}
.info-card p{ margin:0 0 10px 0; }
.info-card .note{ margin-top:10px; }

/* Contact */
.contact-card{
  border:2px solid #111;
  padding:14px;
  max-width:980px;
  background:transparent;
  margin-top:12px;
}
.contact-line{
  display:grid;
  grid-template-columns: 120px 1fr;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,.25);
}
.contact-line:last-child{ border-bottom:0; }
.contact-line .k{ font-weight:900; letter-spacing:.06em; text-transform:uppercase; }

.fb-embed{
  margin-top:18px;
  border:2px solid #111;
  padding:12px;
  max-width:520px;
  background:transparent;
}

.section#kontakt{
  margin-top:48px;
}

/* Smaller video embed */
.video-small{
  max-width:820px;
  margin-left:0;
}
@media (min-width: 900px){
  .video-small{ max-width:720px; }
}

/* FB embed when used near snippets */
#audio .fb-embed{
  max-width:520px;
  margin-top:10px;
}

/* YouTube link card (instead of embed) */
.yt-card{ margin-top:12px; border:2px solid #111; padding:14px; max-width:720px; background:transparent; }
.yt-sub{ margin-top:10px; font-size:.95rem; opacity:.85; word-break:break-all; }

/* FB timeline should have room */
#audio .fb-embed{ max-width:520px; }

/* Spacing tune */
.section{ padding-top:38px; }
.section h2{ margin-bottom:10px; }
.section .lead{ margin-bottom:18px; line-height:1.6; }
.info-grid{ margin-top:22px; gap:18px; }
.info-card{ padding:18px; }

/* Layout v23 */
#haltung{ padding-top:24px; }
#haltung .lead{ max-width:980px; }
#audio h2{ margin-bottom:8px; }
#audio .lead{ max-width:980px; }
.section{ padding-top:44px; }

/* Hundecoaching v26 */
.logo-top{margin: 10px 0 26px; text-align:center;}
.logo-top img{width: 280px; max-width: 78vw; height:auto;}

.section{padding-top:44px;}
.section h2{margin:0 0 10px 0;}
.section h3{margin:18px 0 10px 0;}
.section .lead{max-width:980px; line-height:1.6; margin:0 0 18px 0;}

.info-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:18px;
  max-width:1100px;
}
.info-card{border:2px solid #111; padding:18px; background:transparent;}
.info-card h3{margin:0 0 10px 0; font-size:1.15rem;}
.info-card p{margin:0 0 10px 0;}

.video-wrap{margin-top:12px; width:100%; aspect-ratio:16/9; border:2px solid #111; max-width:1100px;}
.video-wrap iframe{width:100%; height:100%; display:block;}

.link-row{ margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; }
.pill-link{
  display:inline-block;
  border:2px solid #111;
  padding:10px 14px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:transparent;
}

.fb-embed{
  margin-top:12px;
  border:2px solid #111;
  padding:10px;
  max-width:520px;
  background:transparent;
}

/* mini player already in css from music page; keep */


/* CV page */
.cv-hero{
  max-width:980px;
  margin:0 auto;
  padding:42px 22px 10px;
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:38px;
  align-items:start;
}
.cv-hero .lead{
  margin:10px 0 18px;
  font-size:1.05rem;
  line-height:1.35;
}
.dotty{ font-weight:900; }
.cv-photo{
  margin:0;
}
.cv-photo img{
  width:100%;
  height:auto;
  display:block;
  border-radius:8px;
  border:1px solid rgba(0,0,0,.25);
}
.cv-contact{
  margin-top:16px;
  display:grid;
  gap:6px;
  font-size:.98rem;
}
.cv-contact .k{
  display:inline-block;
  width:88px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.cv-bullets{
  margin-top:10px;
  padding-left:18px;
  display:grid;
  gap:8px;
}
.cv-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:28px;
}
.cv-col h3{
  font-size:1.1rem;
  margin:0 0 10px;
}
.cv-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:8px;
}
.cv-tags{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.cv-tags span{
  border:1px solid rgba(0,0,0,.35);
  padding:7px 10px;
  border-radius:999px;
  font-size:.92rem;
  background:transparent;
}

@media (max-width: 860px){
  .cv-hero{ grid-template-columns: 1fr 320px; }
  .cv-grid{ grid-template-columns: 1fr; }
  .cv-photo{ max-width:420px; }
}

/* CV: on phones stack cleanly (avoid ultra-narrow columns / vertical-looking text) */
@media (max-width: 768px){
  .cv-hero{
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 26px 16px 10px;
  }
  .cv-photo{ max-width: 100%; }
  .cv-photo img{ height: auto; object-fit: contain; }
}

/* Index tuning v29 */
.hero .lead{ margin-top:10px; }


/* NAV FIX v31 - entfernt, wird durch .site-nav definiert */


/* HEADER FIX v32 */
header{
  position:sticky;
  top:0;
  z-index:50;
  overflow:visible;
  padding-top:14px;
  padding-bottom:14px;
}
header .brand{ line-height:1.1; }
header nav{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
  line-height:1.1;
}
header nav a{
  display:inline-block;
  padding:6px 0;
}
.sublead{
  display:inline-block;
  margin-top:8px;
  font-weight:500;
}

/* Mobile clef fix */


/* Index intro list */
.intro-list{
  list-style: disc;
  margin: 14px 0 0 20px;
  padding: 0;
  display: grid;
  gap: 12px;
  max-width: 760px;
}
.intro-list li{
  line-height: 1.45;
}

/* Music page: stack media blocks */
.media-stack{
  display:grid;
  gap:24px;
}

/* Music CTA fix */
.cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
  align-items:center;
}
.cta a{
  display:inline-block;
  padding:10px 14px;
  border:1px solid rgba(0,0,0,.35);
  border-radius:999px;
  text-decoration:none;
}
.cta a:hover{ text-decoration:underline; }

/* Dots animation for touch devices */
@media (max-width: 768px){
  .clef-wrap .dot{ opacity:.9; }
  .clef-wrap .dot1{ animation: dotFloat1 2.6s ease-in-out infinite; }
  .clef-wrap .dot2{ animation: dotFloat2 2.6s ease-in-out infinite; }
  @keyframes dotFloat1{
    0%{ transform:translate(0,0); opacity:.35; }
    50%{ transform:translate(-14px,-10px); opacity:1; }
    100%{ transform:translate(0,0); opacity:.35; }
  }
  @keyframes dotFloat2{
    0%{ transform:translate(0,0); opacity:.35; }
    50%{ transform:translate(-10px,12px); opacity:1; }
    100%{ transform:translate(0,0); opacity:.35; }
  }
}


/* Dog page snippet cover sizing */
.prod-list .left picture,
.prod-list .left img{
  display:block;
}
.prod-list .left picture{
  width:56px;
  height:56px;
  flex:0 0 56px;
  overflow:hidden;
  border-radius:10px;
}
.prod-list .left picture img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width: 640px){
  .prod-list .left picture{ width:48px; height:48px; flex-basis:48px; }
}


/* Snippet list: ensure text column stays visible */
.prod-list .row{
  display:grid;
  grid-template-columns: 72px 1fr 72px;
  gap:16px;
  align-items:center;
}
.prod-list .row .left{
  display:flex;
  gap:14px;
  align-items:center;
  min-width:0;
}
.prod-list .row .meta{
  min-width:0;
}
.prod-list .row .meta *{
  max-width:100%;
}
.prod-list .row .title{
  display:block;
}
.prod-list .row .desc{
  display:block;
  opacity:.85;
}
@media (max-width: 900px){
  .prod-list .row{
    grid-template-columns: 60px 1fr 56px;
    gap:12px;
  }
}


/* active nav - entfernt, wird durch .site-nav definiert */

.site-brand{cursor:pointer;}
.site-brand a{cursor:pointer;}





/* CV layout: Logo | Text | Photo */
.cv-hero{
  max-width:1100px;
  margin:0 auto;
  padding:42px 22px 10px;
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:38px;
  align-items:start;
}
.cv-photo img{
  width:100%;
  height:auto;
  display:block;
  border-radius:8px;
}

@media (max-width: 900px){
  .cv-hero{ grid-template-columns: 1fr 320px; }
  
}


@media (max-width:768px){
  .logo-mark{ height:66px; }
}

/* ===== Releases page: framed links + calm callout ===== */
.songlist{ max-width:1100px; }
.songrow{
  display:flex;
  gap:18px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  padding:16px 18px;
  border:1px solid rgba(0,0,0,.28);
  border-radius:14px;
  background:transparent;
}
.songlinks{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.songlinks a.pill{
  display:inline-block;
  padding:10px 14px;
  border:1px solid rgba(0,0,0,.35);
  border-radius:999px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:.82rem;
}
.songlinks a.pill:hover{ text-decoration:underline; text-underline-offset:5px; }

.callout{
  max-width:1100px;
  margin:18px 0 0;
  padding:16px 18px;
  border-left:3px solid rgba(0,0,0,.55);
  background:rgba(0,0,0,.02);
}
.callout p{ margin:0; line-height:1.55; }

/* ===== Embeds (Spotify + YouTube) – same size, clean frame ===== */
.embed-frame{
  margin-top:12px;
  width:100%;
  max-width:1100px;
  border:2px solid #111;
  border-radius:16px;
  overflow:hidden;
  background:transparent;
}
.embed-16x9{ aspect-ratio:16/9; }
.embed-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
/* Spotify: little inner padding so the embed never cuts the border */
.embed-pad{
  padding:12px;
  background:rgba(0,0,0,.02);
}
.embed-pad iframe{ border-radius:12px; }
/* ===== Lite YouTube (loads only on click) ===== */
.lite-yt{
  width:100%;
  height:100%;
  position:relative;
  display:block;
  background:#000;
  cursor:pointer;
}
.lite-yt::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--yt-thumb);
  background-size:cover;
  background-position:center;
  filter:saturate(1.05) contrast(1.05);
}
.lite-yt::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 55%, rgba(0,0,0,.10), rgba(0,0,0,.55));
}
.lite-yt .yt-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:74px;
  height:52px;
  border:2px solid rgba(255,255,255,.85);
  border-radius:16px;
  background:rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.lite-yt .yt-play span{
  display:block;
  width:0;
  height:0;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:16px solid rgba(255,255,255,.95);
  margin-left:3px;
}
.lite-yt .yt-label{
  position:absolute;
  left:14px;
  bottom:12px;
  right:14px;
  z-index:2;
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}
.lite-yt iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}


/* Releases blurb – calm, not salesy */
.releases-blurb{
  max-width:1100px;
  margin-top:18px;
  padding:16px 18px;
  border-left:3px solid rgba(0,0,0,.55);
  background:rgba(0,0,0,.02);
}
.releases-blurb p{ margin:0 0 10px 0; line-height:1.55; }
.releases-blurb p:last-child{ margin-bottom:0; }
.soft-list{ opacity:.85; letter-spacing:.02em; }

/* ===== Option A FIXES (konsolidiert) =====
   (Du hattest hier ein paar doppelte Patch-Blöcke. Dieser Block fasst
   alles zusammen, ohne das Verhalten zu ändern.)
====================================================== */

/* 1) CV: Text + Foto linksbündig */
.cv-hero{
  margin:0 0 40px 0 !important;
  justify-content:flex-start !important;
}
.cv-text, .cv-text *,
.cv-hero .cv-left, .cv-hero .cv-left *{
  text-align:left !important;
}
.cv-photo{ margin-left:0 !important; }

/* 2) Musik: Trailer-Layout (Desktop wieder unter dem Video) */
@media (min-width: 1001px){
  .trailer-wrap{ grid-template-columns:1fr !important; }
  .tlist{
    border-left:0 !important;
    padding-left:0 !important;
    border-top:2px solid #111 !important;
    padding-top:18px !important;
    margin-top:18px !important;
  }
}

/* 3) Player-Cover/Thumbnails: Größen fixieren (kein Aufblasen) */
.player-head img,
.player-head picture img,
#dCover,
#mCover,
#npCover{
  width:74px !important;
  height:74px !important;
  max-width:74px !important;
  max-height:74px !important;
  object-fit:cover !important;
  flex:0 0 74px !important;
  border-radius:12px !important;
}

.prod-row picture{
  width:56px !important;
  height:56px !important;
  max-width:56px !important;
  max-height:56px !important;
  flex:0 0 56px !important;
}
.prod-row picture img,
.prod-row img{
  width:56px !important;
  height:56px !important;
  max-width:56px !important;
  max-height:56px !important;
  object-fit:cover !important;
  border-radius:12px !important;
}

/* 4) Links/Badges/Buttons: überall “pill” */
.textlinks a,
.inline-links a,
.links-row a,
a.pill,
.pill,
.cta a,
.statement-cta a,
.button,
a.button,
a.btn,
.video-links a,
.video-links .pill-link,
.pill-link{
  border-radius:999px !important;
}

/* 5) Theater/Spielräume Badges */
.badge,
.titem .badge{ border-radius:999px !important; }

/* 6) Cards/Boxen rund */
.card,
.box,
.panel,
.service-card,
.service-grid > div,
.info-card,
.contact-card,
.embed,
.player-shell,
.prod-row,
.prod-list,
.video-wrap{
  border-radius:18px !important;
}

/* Video wirklich rund: Wrapper + iframe */
.video-wrap{ overflow:hidden !important; }
.video-wrap iframe,
.video-wrap video{ border-radius:18px !important; }

/* ===== CV MOBILE OVERRIDE =====
   Fixes: ultra-narrow columns (text wirkt "vertikal") + Portrait wird rechts abgeschnitten.
   On small screens we force a clean single column: Text first, Bild darunter.
*/
@media (max-width: 820px){
  .cv-hero{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:18px !important;
    padding:26px 16px 10px !important;
    max-width:100% !important;
  }
  .cv-text{ width:100% !important; }
  .cv-text, .cv-text *{
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    word-break: normal !important;
    hyphens: auto;
  }
  .cv-photo{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    order:2;
  }
  .cv-photo img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }
}

/* NAV: kein "komischer Rahmen" bei Klick */
.site-nav a:focus{ outline:none; }
.site-nav a:focus-visible{ outline:none; }



/* ===== Consistency & Speed Patch (2026-01-19) ===== */

/* Make all video blocks the same size */
.video-wrap,
.embed-frame,
.vbox{
  width:100% !important;
  max-width:1100px !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Ensure rounded video frames don't clip weirdly */
.vbox{ border-radius:18px !important; overflow:hidden !important; }

/* Spotify embed bigger to show more titles */
.spotify-embed iframe{
  width:100% !important;
  height:420px !important;
  border:0 !important;
}
@media(max-width:700px){
  .spotify-embed iframe{ height:300px !important; }
}

/* Snippet rows: true rounded cards (no cut corners) */
.prod-list{ border-top:0 !important; }
.prod-row{
  border:2px solid #111 !important;
  padding:18px 18px !important;
  margin:14px 0 !important;
}

