/* =========================================================
   TDM Studio – Basis-Styles (alle Seiten)
   Ersetzt: Hello-Theme-Reset, Elementor-Grundstyles,
   Google Fonts + Tabler-Icons vom CDN (jetzt lokal)
   ========================================================= */

/* ---------- Schriften (lokal, kein Google-Server) ---------- */
@font-face{font-family:'Archivo';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/archivo-latin-300-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/archivo-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/archivo-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/archivo-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/archivo-black-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Sonderzeichen (z. B. Ę, ł, š, ř in Songtiteln): wird nur geladen, wenn eine Seite solche Zeichen enthält */
@font-face{font-family:'Archivo';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/archivo-latin-ext-300-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/archivo-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/archivo-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/archivo-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/archivo-black-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Icons (Tabler, nur die genutzten 35 Symbole: 4,6 KB statt 495 KB) ---------- */
@font-face{font-family:'tabler-icons';font-style:normal;font-weight:400;font-display:block;src:url('/assets/fonts/tabler-icons-subset.woff2?v=3.49.0-2') format('woff2')}
.ti{font-family:'tabler-icons'!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.ti-adjustments:before{content:"\ea03"}
.ti-adjustments-horizontal:before{content:"\ec38"}
.ti-arrow-right:before{content:"\ea1f"}
.ti-arrow-up:before{content:"\ea25"}
.ti-brand-instagram:before{content:"\ec20"}
.ti-brand-spotify:before{content:"\ed03"}
.ti-brand-tiktok:before{content:"\ec73"}
.ti-calendar-event:before{content:"\ea52"}
.ti-check:before{content:"\ea5e"}
.ti-chevron-down:before{content:"\ea5f"}
.ti-chevron-left:before{content:"\ea60"}
.ti-chevron-right:before{content:"\ea61"}
.ti-clock:before{content:"\ea70"}
.ti-device-speaker:before{content:"\ea8b"}
.ti-headphones:before{content:"\eabd"}
.ti-home:before{content:"\eac1"}
.ti-info-circle:before{content:"\eac5"}
.ti-loader-2:before{content:"\f226"}
.ti-mail:before{content:"\eae5"}
.ti-map-2:before{content:"\eae7"}
.ti-map-pin:before{content:"\eae8"}
.ti-menu-2:before{content:"\ec42"}
.ti-microphone:before{content:"\eaf0"}
.ti-music:before{content:"\eafc"}
.ti-parking:before{content:"\eb03"}
.ti-pencil:before{content:"\eb04"}
.ti-piano:before{content:"\fad3"}
.ti-player-pause:before{content:"\ed45"}
.ti-player-play:before{content:"\ed46"}
.ti-ruler-2:before{content:"\eed2"}
.ti-send:before{content:"\eb1e"}
.ti-stack-2:before{content:"\eef7"}
.ti-users:before{content:"\ebf2"}
.ti-world:before{content:"\eb54"}
.ti-x:before{content:"\eb55"}


/* ---------- Grund-Reset (entspricht dem bisherigen Hello-Theme, ohne Pink) ---------- */
html{line-height:1.15;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;color:#333;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif;font-size:1rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.2;margin-block-start:.5rem;margin-block-end:1rem}
h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}
p{margin-block-start:0;margin-block-end:.9rem}
a{background-color:transparent;color:inherit;text-decoration:none;box-shadow:none}
b,strong{font-weight:bolder}
small{font-size:80%}
img{border:none;border-radius:0;height:auto;max-width:100%}
details{display:block}summary{display:list-item}
[hidden],template{display:none}
label{display:inline-block;line-height:1;vertical-align:middle}
button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}
button,input{overflow:visible}
button,select{text-transform:none}
[type=button],[type=submit],button{-webkit-appearance:button;width:auto;background-color:transparent;border:1px solid transparent;border-radius:3px;color:inherit;display:inline-block;font-size:1rem;font-weight:400;padding:.5rem 1rem;text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap}
[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}
button:focus:not(:focus-visible){outline:none}
textarea{overflow:auto;resize:vertical}
select{display:block}
[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}
ul,ol,li,dl,dt,dd{margin-block-start:0;margin-block-end:0}
a,button,summary{-webkit-tap-highlight-color:transparent}

/* ---------- Seitenaufbau (ersetzt Elementor-Container) ---------- */
.skip-link{position:absolute;left:12px;top:-60px;z-index:2147483647;background:#6C4CF5;color:#fff;font-family:'Archivo',sans-serif;font-weight:500;font-size:14px;padding:10px 16px;border-radius:9px;text-decoration:none;transition:top .16s}
.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px}
main{display:block}
html{scroll-padding-top:72px}
.blk{display:flex;flex-direction:column;gap:10px;padding-top:10px;position:relative}
.blk>.w{width:100%;min-width:0}
.page-main{padding-top:10px}


/* ---------- Hintergrund: ruhiger Farbverlauf (Variante A vom 15.10.2026: keine Lichtstreifen, Leuchten halbiert) ---------- */
html{background-color:#08080c;overscroll-behavior-y:none;overflow-x:hidden}
body{background:transparent}
body::before{content:'';position:fixed;inset:-14.5%;z-index:-1;pointer-events:none}
body::before{background:radial-gradient(40% 34% at 10% 8%, rgba(108,76,245,.045), transparent 70%),radial-gradient(36% 32% at 92% 92%, rgba(124,60,205,.038), transparent 72%),radial-gradient(32% 30% at 84% 14%, rgba(70,90,220,.028), transparent 72%),radial-gradient(42% 40% at 30% 74%, rgba(90,63,214,.025), transparent 72%),linear-gradient(165deg,#08080c 0%,#09080f 50%,#0a0912 100%)}
img,video,iframe{max-width:100%}

/* ---------- Menüleiste ---------- */
.tdmnav{position:-webkit-sticky;position:sticky;top:0;left:0;right:0;z-index:9999;width:100%;font-family:'Archivo',sans-serif;background:#0b0b0f;border-bottom:1px solid rgba(255,255,255,.1);--accent:#6C4CF5}
.tdmnav-links a[aria-current="page"]{opacity:1}
.tdmnav-in{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2%;padding:11px 4%}
.tdmnav-logo{justify-self:start;display:flex;align-items:center;text-decoration:none;flex:none;transition:opacity .16s}
@media(hover:hover) and (pointer:fine){.tdmnav-logo:hover{opacity:.82}}
.tdmnav-logo img{height:44px;width:auto;display:block}
.tdmnav-links{justify-self:center;display:flex;align-items:center;gap:clamp(16px,2vw,32px);white-space:nowrap}
.tdmnav-links a{color:#fff;text-decoration:none;font-family:'Archivo Black',sans-serif;font-weight:400;font-size:16px;text-transform:uppercase;letter-spacing:.02em;transition:opacity .16s}
@media(hover:hover) and (pointer:fine){.tdmnav-links a:hover{opacity:.7}}
.tdmnav-right{justify-self:end;display:flex;align-items:center;gap:12px;min-height:40px}
.tdmnav-cta{font-family:'Archivo Black',sans-serif;font-size:12px;letter-spacing:.05em;text-transform:uppercase;background:var(--accent);color:#fff!important;padding:11px 21px;border-radius:9px;text-decoration:none;box-shadow:0 4px 14px rgba(108,76,245,.4);white-space:nowrap;transition:background .16s,box-shadow .16s}
@media(hover:hover) and (pointer:fine){.tdmnav-cta:hover{background:#8268F4}}
.tdmnav-cta.reveal{opacity:0;visibility:hidden;transform:translateY(-10px) scale(.94);transition:opacity .45s cubic-bezier(.22,.61,.36,1),transform .45s cubic-bezier(.22,.61,.36,1),visibility .45s,background .16s}
.tdmnav-cta.reveal.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
@media(hover:hover) and (pointer:fine){.tdmnav-cta.reveal.show:hover{transform:translateY(-2px) scale(1)}}
.tdmnav-burger{display:none;background:none!important;background-color:transparent!important;border:0!important;color:#fff;font-size:28px;cursor:pointer;padding:4px;line-height:0;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;outline:none;box-shadow:none!important;transition:color .16s}
.tdmnav-burger:hover,.tdmnav-burger:focus,.tdmnav-burger:active,.tdmnav-burger:focus-within{background:none!important;background-color:transparent!important;box-shadow:none!important;border:0!important;outline:none}
.tdmnav-burger:active{color:var(--accent)}
@media(hover:hover) and (pointer:fine){.tdmnav-burger:hover{color:var(--accent)}}
.tdmnav-burger:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.tdmnav-burger i{pointer-events:none}
.tdmnav a,.tdmnav button{-webkit-tap-highlight-color:transparent}
.tdmnav-mobile{display:none;flex-direction:column;gap:2px;padding:6px 5% 14px}
.tdmnav-mobile a{color:#fff;text-decoration:none;font-family:'Archivo Black',sans-serif;font-weight:400;font-size:15px;text-transform:uppercase;letter-spacing:.02em;padding:12px 8px;border-radius:8px}
@media(hover:hover) and (pointer:fine){.tdmnav-mobile a:hover{background:rgba(255,255,255,.06)}}
.tdmnav-mobile .tdmnav-cta{margin-top:10px;text-align:center;opacity:1!important;visibility:visible!important;transform:none!important}
.tdmnav.open .tdmnav-mobile{display:flex}
@media(prefers-reduced-motion:reduce){.tdmnav-cta.reveal{transition:opacity .3s ease,visibility .3s ease;transform:none}.tdmnav-cta.reveal.show{transform:none}}

/* Kleiner Desktop / Tablet quer */
@media(max-width:1200px){
  .tdmnav-in{gap:1.5%;padding:11px 3%}
  .tdmnav-links{gap:clamp(13px,1.7vw,24px)}
  .tdmnav-links a{font-size:14px}
  .tdmnav-cta{font-size:11px;padding:10px 16px}
}
/* Tablet hoch & Handy: Burger-Menü */
@media(max-width:980px){
  .tdmnav-links{display:none}
  .tdmnav-cta.desk{display:none}
  .tdmnav-burger{display:block}
  .tdmnav-in{grid-template-columns:1fr auto;padding:10px 5%}
  .tdmnav-logo img{height:38px}
}
/* Kleine Handys */
@media(max-width:400px){
  .tdmnav-in{padding:9px 5%}
  .tdmnav-logo img{height:32px}
  .tdmnav-burger{font-size:26px}
  .tdmnav-mobile a{font-size:14px}
}

/* ---------- Footer ---------- */
.tdmfoot{font-family:'Archivo',sans-serif;background:transparent;--accent:#6C4CF5;width:100%;box-sizing:border-box}
.tdmfoot *{box-sizing:border-box}
.tdmfoot-in{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 4%;border-top:1px solid rgba(255,255,255,.12)}
.tdmfoot-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 22px;text-align:center}
.tdmfoot-links a{font-family:'Archivo Black',sans-serif;font-weight:400;font-size:14px;text-transform:uppercase;letter-spacing:.03em;color:rgba(255,255,255,1);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:opacity .16s}
@media(hover:hover) and (pointer:fine){
  .tdmfoot-links a:hover{opacity:.7}
}
.tdmfoot-copy{font-family:'Archivo',sans-serif;font-weight:400;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.42);text-align:center;width:100%;line-height:1.5}

@media(max-width:760px){
  .tdmfoot-in{padding:26px 5%;gap:14px}
  .tdmfoot-links{gap:10px 18px}
  .tdmfoot-links a{font-size:13px}
  .tdmfoot-copy{font-size:12px;letter-spacing:.04em}
}
@media(max-width:420px){
  .tdmfoot-in{padding:24px 6%}
  .tdmfoot-links{gap:9px 14px}
  .tdmfoot-links a{font-size:12px;letter-spacing:.02em}
  .tdmfoot-copy{font-size:11.5px}
}

/* ---------- Nach oben ---------- */
#tdmTop{position:fixed;right:26px;bottom:26px;z-index:100000;display:inline-flex;align-items:center;gap:9px;font-family:'Archivo',sans-serif;font-weight:500;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:rgba(20,20,26,.94);border:1px solid rgba(255,255,255,.16);border-radius:40px;padding:12px 18px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s,transform .25s,visibility .25s,background .16s,border-color .16s}
#tdmTop.show{opacity:1;visibility:visible;transform:translateY(0)}
@media(hover:hover) and (pointer:fine){#tdmTop:hover{background:#6C4CF5;border-color:#6C4CF5}}
#tdmTop:focus-visible{outline:2px solid #6C4CF5;outline-offset:3px}
#tdmTop i{font-size:18px}
@media(max-width:600px){#tdmTop{right:16px;bottom:16px;padding:14px;border-radius:50%}#tdmTop .lbl{display:none}}

/* ---------- Einblenden beim Scrollen: ein Effekt für alle Elemente (nur Deckkraft + 16 px Bewegung) ---------- */
html.js .fade-up:not(.shown){opacity:0}
html.js .fade-up.shown{animation:rvIn .6s cubic-bezier(.22,.61,.36,1) backwards}
@keyframes rvIn{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html.js .fade-up{opacity:1!important;animation:none!important}}
