/*
Theme Name: Hello Elementor Child TALNARIS
Theme URI: https://talnaris.de
Description: Child-Theme für TALNARIS GmbH. Designtokens, Schriften und Komponenten.
Author: Jositech
Author URI: https://jositech.de
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* ---------- Schriften, lokal gehostet ---------------------------------- */
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url('schriften/jost-latin.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:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url('schriften/jost-latin-ext.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:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url('schriften/inter-latin.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:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url('schriften/inter-latin-ext.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;}

/* ---------- Designtokens ------------------------------------------------ */
:root{
  --tln-petrol:#0F5B61;
  --tln-petrol-hell:#14717A;
  --tln-petrol-dunkel:#0C2B2E;
  --tln-gold:#D4AF7C;
  --tln-anthrazit:#111111;
  --tln-sand:#F6F8F8;
  --tln-panel:#EDF2F2;
  --tln-weiss:#FFFFFF;
  --tln-text:#1C1C1C;
  --tln-leise:#4A5A5B;
  --tln-linie:rgba(12,43,46,.14);

  --tln-display:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --tln-lauf:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;

  --tln-breite:1180px;
  --tln-luft:clamp(38px,4.6vw,72px);
}

/* ---------- Grundlagen -------------------------------------------------- */
body{background:var(--tln-weiss);color:var(--tln-text);font-family:var(--tln-lauf);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6{font-family:var(--tln-display);font-weight:400;line-height:1.15;margin:0;color:var(--tln-anthrazit);}
p{margin:0 0 1em;}
a{color:var(--tln-petrol);}
img{max-width:100%;height:auto;}

.tln-wrap{max-width:var(--tln-breite);margin:0 auto;padding:0 24px;}
.tln-abschnitt{padding:var(--tln-luft) 0;}
.tln-panel{background:var(--tln-panel);}
.tln-sand{background:var(--tln-sand);}

.tln-label{font-family:var(--tln-display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--tln-petrol);margin:0 0 12px;}
.tln-strich{width:64px;height:1px;background:var(--tln-gold);margin:16px 0;}
.tln-titel{font-size:clamp(28px,3.4vw,42px);font-weight:300;}
.tln-titel b{font-weight:500;}

/* ---------- Knöpfe ------------------------------------------------------ */
.tln-knopf{display:inline-block;font-family:var(--tln-display);font-size:14px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:15px 30px;background:var(--tln-petrol);color:#fff;border:1px solid var(--tln-petrol);transition:.2s;cursor:pointer;}
.tln-knopf:hover,.tln-knopf:focus{background:var(--tln-petrol-dunkel);border-color:var(--tln-petrol-dunkel);color:#fff;}
.tln-knopf--rand{background:transparent;color:var(--tln-text);border-color:var(--tln-linie);}
.tln-knopf--rand:hover{background:var(--tln-petrol);border-color:var(--tln-petrol);color:#fff;}

/* ---------- Kopf -------------------------------------------------------- */
.tln-kopf{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--tln-linie);}
.tln-kopf .tln-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:84px;}
.tln-logo{flex:0 0 auto;line-height:0;}
.tln-logo img{width:auto;height:44px;max-width:none;display:block;}
.tln-navi{flex:1 1 auto;display:flex;justify-content:center;}
.tln-navi ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;}
.tln-navi a{white-space:nowrap;font-family:var(--tln-display);font-size:15px;letter-spacing:.06em;text-decoration:none;color:var(--tln-text);padding:6px 0;border-bottom:1px solid transparent;}
.tln-navi a:hover,.tln-navi .current-menu-item > a{border-bottom-color:var(--tln-gold);}
.tln-kopf .tln-knopf{white-space:nowrap;padding:15px 24px;}
.tln-burger{display:none;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--tln-text);padding:8px;}

/* ---------- Karten, Listen, Ablauf -------------------------------------- */
.tln-karten{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
.tln-karte{background:var(--tln-weiss);border:1px solid var(--tln-linie);padding:30px 26px;transition:.25s;}
.tln-karte:hover{border-color:var(--tln-gold);transform:translateY(-3px);}
.tln-karte .tln-nr{font-family:var(--tln-display);font-size:13px;letter-spacing:.2em;color:var(--tln-petrol);}
.tln-karte h3{font-size:22px;margin:14px 0 12px;}
.tln-karte p{font-size:15.5px;color:var(--tln-leise);margin:0;}

.tln-ablauf{margin-top:36px;border-top:1px solid var(--tln-linie);}
.tln-schritt{display:grid;grid-template-columns:78px 1fr 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--tln-linie);align-items:baseline;}
.tln-schritt .tln-zahl{font-family:var(--tln-display);font-size:34px;font-weight:300;color:var(--tln-petrol);}
.tln-schritt h3{font-size:21px;}
.tln-schritt p{margin:0;font-size:15.5px;color:var(--tln-leise);}

.tln-liste{list-style:none;margin:24px 0 0;padding:0;}
.tln-liste li{padding:9px 0 9px 28px;border-bottom:1px solid var(--tln-linie);position:relative;font-size:16px;}
.tln-liste li:last-child{border-bottom:0;}
.tln-liste li::before{content:"";position:absolute;left:0;top:17px;width:14px;height:1px;background:var(--tln-gold);}

/* ---------- FAQ --------------------------------------------------------- */
.tln-faq details{border-bottom:1px solid var(--tln-linie);padding:16px 0;}
.tln-faq summary{font-family:var(--tln-display);font-size:19px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;}
.tln-faq summary::-webkit-details-marker{display:none;}
.tln-faq summary::after{content:"+";color:var(--tln-petrol);font-size:24px;font-weight:300;}
.tln-faq details[open] summary::after{content:"\2013";}
.tln-faq details p{margin:14px 0 0;color:var(--tln-leise);max-width:72ch;font-size:16px;}

/* ---------- Kontakt & Formular ------------------------------------------ */
.tln-kontakt-zeile{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--tln-linie);}
.tln-kontakt-zeile > span:last-child{min-width:0;overflow-wrap:anywhere;}
.tln-kontakt-zeile > span:first-child{font-family:var(--tln-display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--tln-petrol);min-width:96px;padding-top:4px;}
.tln-formular{display:grid;gap:16px;}
.tln-reihe{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.tln-formular label{font-family:var(--tln-display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--tln-leise);display:block;margin-bottom:7px;}
.tln-formular input,.tln-formular textarea{width:100%;background:#fff;border:1px solid var(--tln-linie);color:var(--tln-text);padding:14px 16px;font-family:var(--tln-lauf);font-size:16px;}
.tln-formular input:focus,.tln-formular textarea:focus{outline:2px solid var(--tln-petrol);outline-offset:1px;}
.tln-formular label.tln-zustimmung{display:flex;gap:12px;align-items:flex-start;font-family:var(--tln-lauf);font-size:14px;line-height:1.5;letter-spacing:normal;text-transform:none;color:var(--tln-leise);margin-bottom:0;}
.tln-zustimmung input{width:auto;margin-top:4px;}

/* ---------- Fuß ---------------------------------------------------------- */
.tln-fuss{background:#0B0B0B;color:#8E8A83;padding:46px 0 28px;font-size:15px;}
.tln-fuss-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.18);}
.tln-fuss h4{font-family:var(--tln-display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--tln-gold);margin-bottom:18px;}
.tln-fuss ul{list-style:none;margin:0;padding:0;}
.tln-fuss li{margin-bottom:10px;}
.tln-fuss a{color:#B4AFA7;text-decoration:none;}
.tln-fuss a:hover{color:#fff;}
.tln-fuss-unten{display:flex;justify-content:space-between;gap:20px;padding-top:26px;font-size:13.5px;}
.tln-fuss img{height:42px;width:auto;}

/* ---------- Mobil -------------------------------------------------------- */
@media(max-width:1050px){
  .tln-navi{display:none;}
  .tln-kopf > .tln-wrap > .tln-knopf{display:none;}
  .tln-burger{display:block;}
  .tln-navi.ist-offen{display:block;position:absolute;top:84px;left:0;right:0;background:#fff;border-bottom:1px solid var(--tln-linie);padding:12px 24px 20px;}
  .tln-navi.ist-offen ul{flex-direction:column;gap:0;}
  .tln-navi.ist-offen li{border-bottom:1px solid var(--tln-linie);}
  .tln-navi.ist-offen a{display:block;padding:14px 0;font-size:17px;}
}
@media(max-width:900px){
  .tln-karten{grid-template-columns:1fr;}
  .tln-schritt{grid-template-columns:56px 1fr;gap:18px;}
  .tln-schritt p{grid-column:2;}
  .tln-reihe{grid-template-columns:1fr;}
  .tln-fuss-grid{grid-template-columns:1fr;}
  .tln-fuss-unten{flex-direction:column;}
  .tln-navi{display:none;}
  .tln-kopf > .tln-wrap > .tln-knopf{display:none;}
  .tln-burger{display:block;}
  .tln-navi.ist-offen{display:block;position:absolute;top:84px;left:0;right:0;background:#fff;border-bottom:1px solid var(--tln-linie);padding:12px 24px 20px;}
  .tln-navi.ist-offen ul{flex-direction:column;gap:0;}
  .tln-navi.ist-offen li{border-bottom:1px solid var(--tln-linie);}
  .tln-navi.ist-offen a{display:block;padding:14px 0;font-size:17px;}
}

/* ---------- Seitenkopf der Unterseiten ---------------------------------- */
.tln-seitenkopf{background:var(--tln-panel);padding:clamp(32px,4vw,56px) 0 clamp(26px,3.4vw,44px);border-bottom:1px solid var(--tln-linie);}
.tln-seitenkopf h1{font-size:clamp(32px,4.4vw,52px);font-weight:300;max-width:20ch;}
.tln-seitenkopf .tln-lead{margin:14px 0 0;font-size:clamp(17px,1.5vw,19px);color:var(--tln-leise);max-width:62ch;}
.tln-krumen{font-family:var(--tln-display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--tln-leise);margin-bottom:16px;display:flex;gap:10px;align-items:center;}
.tln-krumen a{color:var(--tln-petrol);text-decoration:none;}
.tln-krumen a:hover{text-decoration:underline;}
.tln-krumen span[aria-hidden]{color:var(--tln-gold);}

.tln-inhalt-seite{padding:clamp(34px,4vw,60px) 0 clamp(44px,5vw,76px);}
.tln-inhalt-seite .tln-wrap > h2{font-size:clamp(26px,3vw,36px);font-weight:300;margin:0 0 18px;}
.tln-inhalt-seite .tln-wrap > h2 + p{margin-top:0;}
.tln-inhalt-seite .tln-wrap > h3{font-size:22px;margin:28px 0 10px;}
.tln-inhalt-seite .tln-wrap > p{max-width:70ch;}
.tln-fliess{max-width:70ch;}

/* ---------- Anfrageformular --------------------------------------------- */
.tln-anfrage{max-width:760px;}
.tln-honig{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}

.tln-fortschritt{display:flex;list-style:none;margin:0 0 28px;padding:0;gap:0;counter-reset:s;}
.tln-fortschritt li{flex:1;display:flex;flex-direction:column;gap:8px;padding:0 8px 14px 0;border-bottom:2px solid var(--tln-linie);color:var(--tln-leise);}
.tln-fortschritt li[aria-current="step"]{border-bottom-color:var(--tln-petrol);color:var(--tln-text);}
.tln-fortschritt li.tln-erledigt{border-bottom-color:var(--tln-gold);}
.tln-fortschritt-nr{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid currentColor;font-family:var(--tln-display);font-size:14px;}
.tln-fortschritt li[aria-current="step"] .tln-fortschritt-nr{background:var(--tln-petrol);border-color:var(--tln-petrol);color:#fff;}
.tln-fortschritt li.tln-erledigt .tln-fortschritt-nr{background:var(--tln-gold);border-color:var(--tln-gold);color:var(--tln-anthrazit);}
.tln-fortschritt-titel{font-family:var(--tln-display);font-size:13.5px;letter-spacing:.08em;}

.tln-schritt-block{border:0;margin:0;padding:0;}
.tln-schritt-block[hidden]{display:none;}
.tln-schritt-block legend{display:block;width:100%;padding:0;margin-bottom:18px;}
.tln-schritt-zahl{display:block;font-family:var(--tln-display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--tln-petrol);margin-bottom:6px;}
.tln-schritt-titel{display:block;font-family:var(--tln-display);font-size:26px;font-weight:400;color:var(--tln-anthrazit);}
.tln-schritt-hinweis{display:block;color:var(--tln-leise);font-size:16px;margin-top:4px;}

.tln-felder{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.tln-feld{display:flex;flex-direction:column;}
.tln-feld--voll,.tln-feld:has(textarea){grid-column:1 / -1;}
.tln-feld label{font-family:var(--tln-display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--tln-leise);margin-bottom:7px;}
.tln-feld input[type="text"],.tln-feld input[type="email"],.tln-feld input[type="tel"],.tln-feld input[type="number"],.tln-feld select,.tln-feld textarea{width:100%;background:#fff;border:1px solid var(--tln-linie);color:var(--tln-text);padding:14px 16px;font-family:var(--tln-lauf);font-size:16px;border-radius:0;}
.tln-feld select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%230F5B61' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px;}
.tln-feld input:focus,.tln-feld select:focus,.tln-feld textarea:focus{outline:2px solid var(--tln-petrol);outline-offset:1px;border-color:transparent;}
.tln-feld--fehler input,.tln-feld--fehler select,.tln-feld--fehler textarea{border-color:#B3261E;background:#FFF7F6;}
.tln-feldfehler{margin:7px 0 0;font-size:14px;color:#B3261E;}
.tln-haken{display:flex;gap:12px;align-items:flex-start;font-family:var(--tln-lauf);font-size:15px;letter-spacing:normal;text-transform:none;color:var(--tln-text);cursor:pointer;margin-bottom:0;}
.tln-haken input{width:20px;height:20px;margin-top:2px;flex:0 0 auto;accent-color:var(--tln-petrol);}
.tln-haken span{line-height:1.5;}

.tln-schritt-knoepfe{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;}
.tln-schritt-knoepfe .tln-knopf{border:1px solid var(--tln-petrol);}

.tln-meldung{padding:24px 26px;margin-bottom:32px;background:#fff;border-left:3px solid var(--tln-petrol);max-width:760px;}
.tln-meldung h3{font-size:22px;margin-bottom:8px;}
.tln-meldung p{margin:0;color:var(--tln-leise);}
.tln-meldung--schlecht{border-left-color:#B3261E;}
.tln-meldung--schlecht ul{margin:10px 0 0;padding-left:20px;}
.tln-meldung--schlecht a{color:#B3261E;}

@media(max-width:700px){
  .tln-felder{grid-template-columns:1fr;}
  .tln-fortschritt-titel{display:none;}
  .tln-fortschritt li{flex:0 0 auto;padding-right:0;}
  .tln-fortschritt{gap:10px;}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}
.tln-fuss-unten{align-items:center;}
.tln-fuss-recht{display:flex;gap:20px;order:3;}
.tln-fuss-recht a{border-bottom:1px solid rgba(255,255,255,.2);}
@media(max-width:900px){.tln-fuss-recht{order:1;margin-bottom:6px;}}

/* ---------- Bildslider --------------------------------------------------- */
.tln-slider{position:relative;background:var(--tln-petrol-dunkel);overflow:hidden;}
.tln-folien{position:relative;height:clamp(430px,56vh,620px);}
.tln-folie{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease;}
.tln-folie.ist-aktiv{opacity:1;visibility:visible;z-index:2;}
.tln-folie picture{position:absolute;inset:0;display:block;}
.tln-folie img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform 9s linear;}
.tln-folie.ist-aktiv img{transform:scale(1);}
.tln-folie::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(9,32,34,.94) 0%,rgba(9,32,34,.80) 38%,rgba(9,32,34,.34) 70%,rgba(9,32,34,.18) 100%);}
.tln-folie-text{position:absolute;inset:0;z-index:2;display:flex;align-items:center;}
.tln-folie-text .tln-wrap{width:100%;padding-bottom:64px;}
.tln-folie-label{font-family:var(--tln-display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--tln-gold);margin:0 0 16px;}
.tln-folie-text h2{color:#fff;font-size:clamp(30px,4.2vw,50px);font-weight:300;max-width:17ch;line-height:1.12;}
.tln-folie-satz{color:#DCE6E6;margin:18px 0 0;max-width:46ch;font-size:clamp(16px,1.4vw,18px);}
.tln-knopf--folie{margin-top:30px;background:var(--tln-gold);border-color:var(--tln-gold);color:var(--tln-anthrazit);}
.tln-knopf--folie:hover{background:#E2C193;border-color:#E2C193;color:var(--tln-anthrazit);}

.tln-slider-steuerung{position:absolute;left:0;right:0;bottom:0;z-index:3;padding-bottom:26px;}
.tln-slider-steuerung .tln-wrap{display:flex;align-items:center;gap:10px;}
.tln-slider-pfeil,.tln-slider-pause{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.34);color:#fff;cursor:pointer;transition:background .2s,border-color .2s;padding:0;}
.tln-slider-pfeil:hover,.tln-slider-pause:hover{background:#fff;color:var(--tln-petrol-dunkel);border-color:#fff;}
.tln-slider-pfeil:focus-visible,.tln-slider-pause:focus-visible,.tln-punkt:focus-visible{outline:2px solid var(--tln-gold);outline-offset:3px;}
.tln-slider-pause .tln-symbol-start{display:none;}
.tln-slider-pause[aria-pressed="true"] .tln-symbol-pause{display:none;}
.tln-slider-pause[aria-pressed="true"] .tln-symbol-start{display:block;}
.tln-punkte{display:flex;gap:2px;margin-left:6px;}
.tln-punkt{width:44px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;padding:0;}
.tln-punkt span{display:block;width:26px;height:2px;background:rgba(255,255,255,.45);transition:background .25s,height .25s;}
.tln-punkt.ist-aktiv span{background:var(--tln-gold);height:3px;}
.tln-punkt:hover span{background:#fff;}
.tln-slider-lesehilfe{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:-1px;}

/* ---------- Seitenkopf mit Bild ------------------------------------------ */
.tln-seitenkopf--bild{position:relative;background:var(--tln-petrol-dunkel);border-bottom:0;padding:clamp(48px,5.5vw,76px) 0 clamp(40px,4.4vw,60px);overflow:hidden;}
.tln-seitenkopf--bild .tln-kopfbild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tln-seitenkopf--bild::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(9,32,34,.93) 0%,rgba(9,32,34,.80) 45%,rgba(9,32,34,.42) 100%);}
.tln-seitenkopf--bild .tln-wrap{position:relative;z-index:2;}
.tln-seitenkopf--bild h1{color:#fff;}
.tln-seitenkopf--bild .tln-lead{color:#DCE6E6;}
.tln-seitenkopf--bild .tln-krumen{color:#AFC3C3;}
.tln-seitenkopf--bild .tln-krumen a{color:var(--tln-gold);}
.tln-seitenkopf--bild .tln-krumen span[aria-hidden]{color:rgba(255,255,255,.45);}

@media(max-width:700px){
  .tln-folien{height:clamp(420px,72vh,560px);}
  .tln-folie-text .tln-wrap{padding-bottom:92px;}
  .tln-folie::after{background:linear-gradient(180deg,rgba(9,32,34,.70) 0%,rgba(9,32,34,.86) 55%,rgba(9,32,34,.94) 100%);}
  .tln-folie-text h2{max-width:none;}
  .tln-slider-steuerung .tln-wrap{justify-content:space-between;gap:4px;}
  .tln-punkte{margin-left:0;}
  .tln-punkt{width:34px;}
  .tln-punkt span{width:18px;}
}

@media (prefers-reduced-motion: reduce){
  .tln-folie img{transition:none;transform:none;}
  .tln-folie{transition:none;}
}
/* ======================================================================
   Feinschliff: Menue und Slider
   ====================================================================== */

/* ---------- Kopf: schrumpft beim Scrollen -------------------------------- */
.tln-kopf{transition:box-shadow .3s ease, background-color .3s ease;}
.tln-kopf .tln-wrap{transition:height .3s cubic-bezier(.2,.7,.3,1);}
.tln-kopf .tln-logo img{transition:height .3s cubic-bezier(.2,.7,.3,1);}
.tln-kopf.ist-gescrollt{box-shadow:0 1px 0 rgba(12,43,46,.10), 0 10px 30px -18px rgba(12,43,46,.45);background:rgba(255,255,255,.97);}
.tln-kopf.ist-gescrollt .tln-wrap{height:66px;}
.tln-kopf.ist-gescrollt .tln-logo img{height:34px;}

/* ---------- Navigation: Strich waechst aus der Mitte --------------------- */
.tln-navi a{position:relative;border-bottom:0 !important;padding:8px 2px;}
.tln-navi a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--tln-gold);transform:scaleX(0);transform-origin:center;transition:transform .32s cubic-bezier(.2,.7,.3,1);}
.tln-navi a:hover::after,.tln-navi a:focus-visible::after{transform:scaleX(1);}
.tln-navi .current-menu-item > a::after,.tln-navi .current_page_item > a::after{transform:scaleX(1);background:var(--tln-petrol);}
.tln-navi a:focus-visible{outline:2px solid var(--tln-petrol);outline-offset:4px;}

/* ---------- Burger: drei Striche werden zum Kreuz ------------------------ */
.tln-burger{width:46px;height:46px;display:none;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;padding:0;}
.tln-burger-striche{position:relative;display:block;width:24px;height:16px;}
.tln-burger-striche span{position:absolute;left:0;width:100%;height:2px;background:var(--tln-anthrazit);border-radius:2px;transition:transform .34s cubic-bezier(.2,.7,.3,1), opacity .2s ease, width .3s ease;}
.tln-burger-striche span:nth-child(1){top:0;}
.tln-burger-striche span:nth-child(2){top:7px;width:72%;}
.tln-burger-striche span:nth-child(3){top:14px;}
.tln-burger:hover .tln-burger-striche span:nth-child(2){width:100%;}
.tln-burger[aria-expanded="true"] .tln-burger-striche span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.tln-burger[aria-expanded="true"] .tln-burger-striche span:nth-child(2){opacity:0;transform:scaleX(.2);}
.tln-burger[aria-expanded="true"] .tln-burger-striche span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.tln-burger:focus-visible{outline:2px solid var(--tln-petrol);outline-offset:2px;}

/* ---------- Mobiles Menue: Punkte laufen gestaffelt ein ------------------ */
@media(max-width:1050px){
  .tln-burger{display:inline-flex;}
  .tln-navi.ist-offen{box-shadow:0 18px 30px -22px rgba(12,43,46,.6);}
  .tln-navi.ist-offen li{opacity:0;transform:translateY(-8px);animation:tln-einlauf .38s cubic-bezier(.2,.7,.3,1) forwards;}
  .tln-navi.ist-offen li:nth-child(1){animation-delay:.03s;}
  .tln-navi.ist-offen li:nth-child(2){animation-delay:.07s;}
  .tln-navi.ist-offen li:nth-child(3){animation-delay:.11s;}
  .tln-navi.ist-offen li:nth-child(4){animation-delay:.15s;}
  .tln-navi.ist-offen li:nth-child(5){animation-delay:.19s;}
  .tln-navi.ist-offen li:nth-child(6){animation-delay:.23s;}
  .tln-navi.ist-offen li:nth-child(7){animation-delay:.27s;}
  .tln-navi.ist-offen a::after{display:none;}
  .tln-navi.ist-offen a{transition:padding-left .25s ease, color .25s ease;}
  .tln-navi.ist-offen a:hover{padding-left:10px;color:var(--tln-petrol);}
}
@keyframes tln-einlauf{to{opacity:1;transform:translateY(0);}}

/* ---------- Slider: Text laeuft gestaffelt ein --------------------------- */
@keyframes tln-folie-auf{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
.tln-folie .tln-folie-label,
.tln-folie .tln-folie-text h2,
.tln-folie .tln-folie-satz,
.tln-folie .tln-knopf--folie{opacity:0;}
.tln-folie.ist-aktiv .tln-folie-label{animation:tln-folie-auf .55s cubic-bezier(.2,.7,.3,1) .10s both;}
.tln-folie.ist-aktiv .tln-folie-text h2{animation:tln-folie-auf .62s cubic-bezier(.2,.7,.3,1) .18s both;}
.tln-folie.ist-aktiv .tln-folie-satz{animation:tln-folie-auf .62s cubic-bezier(.2,.7,.3,1) .28s both;}
.tln-folie.ist-aktiv .tln-knopf--folie{animation:tln-folie-auf .62s cubic-bezier(.2,.7,.3,1) .38s both;}
.tln-folie{transition:opacity .75s cubic-bezier(.4,0,.2,1);}
.tln-folie img{transform:scale(1.07);transition:transform 11s linear;}

/* ---------- Slider: Zaehler und Fortschritt ------------------------------ */
.tln-slider-zaehler{display:flex;align-items:center;gap:10px;margin:0 16px 0 0;font-family:var(--tln-display);font-size:14px;letter-spacing:.12em;color:#fff;}
.tln-slider-zaehler [data-nummer]{font-size:20px;color:var(--tln-gold);min-width:2ch;font-variant-numeric:tabular-nums;}
.tln-zaehler-strich{width:1px;height:17px;transform:rotate(18deg);background:rgba(255,255,255,.5);}
.tln-zaehler-gesamt{color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;}

.tln-punkt span{position:relative;overflow:hidden;}
.tln-punkt span i{position:absolute;inset:0;display:block;background:var(--tln-gold);transform:scaleX(0);transform-origin:left;}
.tln-punkt.ist-aktiv span i{animation:tln-fortschritt var(--tln-folienzeit,6.5s) linear forwards;}
.tln-slider.ist-angehalten .tln-punkt.ist-aktiv span i{animation-play-state:paused;}
@keyframes tln-fortschritt{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.tln-punkt.ist-aktiv span{background:rgba(255,255,255,.28);}

.tln-slider-pfeil svg,.tln-slider-pause svg{transition:transform .25s cubic-bezier(.2,.7,.3,1);}
.tln-slider-pfeil[data-weiter]:hover svg{transform:translateX(3px);}
.tln-slider-pfeil[data-zurueck]:hover svg{transform:translateX(-3px);}

@media(max-width:700px){
  .tln-slider-zaehler{margin-right:8px;font-size:12px;}
  .tln-slider-zaehler [data-nummer]{font-size:17px;}
  .tln-zaehler-strich{width:14px;}
}

@media (prefers-reduced-motion: reduce){
  .tln-folie.ist-aktiv .tln-folie-label,
  .tln-folie.ist-aktiv .tln-folie-text h2,
  .tln-folie.ist-aktiv .tln-folie-satz,
  .tln-folie.ist-aktiv .tln-knopf--folie{animation:none;opacity:1;transform:none;}
  .tln-punkt.ist-aktiv span i{animation:none;transform:scaleX(1);}
  .tln-navi.ist-offen li{animation:none;opacity:1;transform:none;}
  .tln-kopf .tln-wrap,.tln-kopf .tln-logo img{transition:none;}
}
/* ---------- Zurueck nach oben ------------------------------------------- */
.tln-nach-oben{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:0;width:50px;height:50px;padding:0;overflow:hidden;background:var(--tln-petrol);color:#fff;text-decoration:none;border:1px solid var(--tln-petrol);box-shadow:0 10px 26px -14px rgba(12,43,46,.8);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .28s ease, transform .28s cubic-bezier(.2,.7,.3,1), visibility .28s, width .3s cubic-bezier(.2,.7,.3,1), background-color .2s;}
.tln-nach-oben.ist-sichtbar{opacity:1;visibility:visible;transform:translateY(0);}
.tln-nach-oben svg{flex:0 0 50px;height:50px;padding:15px;}
.tln-nach-oben span{font-family:var(--tln-display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .2s ease;padding-right:18px;}
.tln-nach-oben:hover{width:168px;background:var(--tln-petrol-dunkel);border-color:var(--tln-petrol-dunkel);color:#fff;}
.tln-nach-oben:hover span{opacity:1;}
.tln-nach-oben:focus-visible{outline:2px solid var(--tln-gold);outline-offset:3px;width:168px;}
.tln-nach-oben:focus-visible span{opacity:1;}
@media(max-width:700px){
  .tln-nach-oben{right:14px;bottom:14px;width:46px;height:46px;}
  .tln-nach-oben svg{flex:0 0 46px;height:46px;padding:13px;}
  .tln-nach-oben:hover{width:46px;}
  .tln-nach-oben:hover span{opacity:0;}
}
@media (prefers-reduced-motion: reduce){
  .tln-nach-oben{transition:opacity .01ms, visibility .01ms;transform:none;}
}
/* ======================================================================
   Unterseiten: Feinschliff
   ====================================================================== */

/* ---------- Sanftes Einblenden beim Scrollen ---------------------------- */
/* Die Klasse setzt das Skript nur auf Elemente ausserhalb des Sichtfelds,
   ohne JavaScript bleibt alles sichtbar. */
.tln-auf-warten{opacity:0;transform:translateY(26px);}
.tln-eingeblendet{opacity:1;transform:translateY(0);transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);}
.tln-eingeblendet:nth-child(2){transition-delay:.07s;}
.tln-eingeblendet:nth-child(3){transition-delay:.14s;}
.tln-eingeblendet:nth-child(4){transition-delay:.21s;}
.tln-eingeblendet:nth-child(5){transition-delay:.28s;}

/* ---------- Karten ------------------------------------------------------ */
.tln-karte{position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease, border-color .35s ease;}
.tln-karte::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--tln-gold);transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.2,.7,.3,1);}
@media (hover:hover) and (pointer:fine){
  .tln-karte:hover{transform:translateY(-6px);border-color:rgba(12,43,46,.2);box-shadow:0 26px 44px -30px rgba(12,43,46,.55);}
  .tln-karte:hover::before{transform:scaleX(1);}
}
.tln-karte .tln-nr{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;transition:color .3s ease;}
.tln-karte .tln-nr::after{content:"";width:22px;height:1px;background:currentColor;opacity:.5;transition:width .35s cubic-bezier(.2,.7,.3,1);}
.tln-karte:hover .tln-nr::after{width:38px;}
.tln-karte h3{transition:color .3s ease;}
.tln-karte:hover h3{color:var(--tln-petrol);}

/* ---------- Ablauf als Zeitstrahl --------------------------------------- */
.tln-ablauf{border-top:0;position:relative;}
.tln-schritt{position:relative;border-bottom:0;padding:16px 0 30px;grid-template-columns:74px 1fr 1fr;align-items:start;}
.tln-schritt::before{content:"";position:absolute;left:23px;top:54px;bottom:-6px;width:1px;background:linear-gradient(180deg,var(--tln-linie),rgba(12,43,46,.05));}
.tln-schritt:last-child::before{display:none;}
.tln-schritt .tln-zahl{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:17px;font-weight:400;border:1px solid var(--tln-linie);border-radius:50%;background:#fff;color:var(--tln-petrol);transition:background-color .35s ease, color .35s ease, border-color .35s ease, transform .35s cubic-bezier(.2,.7,.3,1);}
@media (hover:hover) and (pointer:fine){
  .tln-schritt:hover .tln-zahl{background:var(--tln-petrol);border-color:var(--tln-petrol);color:#fff;transform:scale(1.06);}
}
.tln-schritt h3{padding-top:12px;}
.tln-schritt p{padding-top:14px;}
.tln-panel .tln-schritt:not(:hover) .tln-zahl{background:var(--tln-weiss);}

/* ---------- Listen mit Haken -------------------------------------------- */
.tln-liste li{padding-left:34px;}
.tln-liste li::before{content:"";left:2px;top:14px;width:15px;height:9px;background:none;border-left:1.6px solid var(--tln-petrol);border-bottom:1.6px solid var(--tln-petrol);transform:rotate(-45deg);transition:border-color .3s ease, transform .3s cubic-bezier(.2,.7,.3,1);}
.tln-liste li:hover::before{border-color:var(--tln-gold);transform:rotate(-45deg) scale(1.12);}

/* ---------- FAQ: weiches Aufklappen ------------------------------------- */
.tln-faq details{transition:background-color .3s ease;padding:16px 14px;margin:0 -14px;}
.tln-faq details[open]{background:rgba(255,255,255,.6);}
.tln-faq summary{transition:color .25s ease;}
.tln-faq summary:hover{color:var(--tln-petrol);}
.tln-faq summary::after{transition:transform .3s cubic-bezier(.2,.7,.3,1), color .25s ease;}
.tln-faq details[open] summary::after{transform:rotate(180deg);}
.tln-faq details[open] p{animation:tln-faq-auf .4s cubic-bezier(.2,.7,.3,1) both;}
@keyframes tln-faq-auf{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}

/* ---------- Seitenkopf: Bild kommt ruhig herein -------------------------- */
.tln-seitenkopf--bild .tln-kopfbild{animation:tln-kopf-zoom 1.6s cubic-bezier(.2,.7,.3,1) both;}
@keyframes tln-kopf-zoom{from{transform:scale(1.06);opacity:.4;}to{transform:scale(1);opacity:1;}}
.tln-seitenkopf--bild h1,.tln-seitenkopf--bild .tln-lead,.tln-seitenkopf--bild .tln-krumen{animation:tln-kopf-text .6s cubic-bezier(.2,.7,.3,1) both;}
.tln-seitenkopf--bild .tln-krumen{animation-delay:.05s;}
.tln-seitenkopf--bild h1{animation-delay:.12s;}
.tln-seitenkopf--bild .tln-lead{animation-delay:.2s;}
@keyframes tln-kopf-text{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

/* ---------- Feine Trennlinie zwischen Abschnitten ------------------------ */
.tln-abschnitt + .tln-abschnitt:not(.tln-sand):not(.tln-panel){border-top:1px solid var(--tln-linie);}

/* ---------- Knoepfe: Schimmer beim Ueberfahren --------------------------- */
.tln-knopf{position:relative;overflow:hidden;}
.tln-knopf::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s cubic-bezier(.2,.7,.3,1);}
.tln-knopf:hover::after{transform:translateX(120%);}

/* ---------- Verweise im Fliesstext -------------------------------------- */
.tln-inhalt-seite a:not(.tln-knopf){color:var(--tln-petrol);text-decoration:none;background-image:linear-gradient(var(--tln-gold),var(--tln-gold));background-size:0 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s cubic-bezier(.2,.7,.3,1);padding-bottom:2px;}
.tln-inhalt-seite a:not(.tln-knopf):hover{background-size:100% 1.5px;}

@media (prefers-reduced-motion: reduce){
  .tln-auf-warten{opacity:1;transform:none;}
  .tln-eingeblendet{transition:none;}
  .tln-seitenkopf--bild .tln-kopfbild,
  .tln-seitenkopf--bild h1,
  .tln-seitenkopf--bild .tln-lead,
  .tln-seitenkopf--bild .tln-krumen,
  .tln-faq details[open] p{animation:none;}
  .tln-karte:hover,.tln-schritt:hover .tln-zahl{transform:none;}
  .tln-knopf::after{display:none;}
}
/* ---------- Sanfte Ankerspruenge ---------------------------------------- */
html{scroll-behavior:smooth;scroll-padding-top:96px;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}

/* ---------- Handlungsknopf im aufgeklappten Menue ------------------------ */
.tln-knopf--menue{display:none;}
@media(max-width:1050px){
  .tln-navi.ist-offen .tln-knopf--menue{display:block;width:100%;text-align:center;margin-top:18px;opacity:0;transform:translateY(-8px);animation:tln-einlauf .38s cubic-bezier(.2,.7,.3,1) .24s forwards;}
  .tln-navi .tln-knopf--menue,
  .tln-navi.ist-offen .tln-knopf--menue:hover{color:#fff;padding-left:30px;padding-right:30px;}
  .tln-navi.ist-offen .tln-knopf--menue:hover{background:var(--tln-petrol-dunkel);}
}
@media (prefers-reduced-motion: reduce){
  .tln-navi.ist-offen .tln-knopf--menue{animation:none;opacity:1;transform:none;}
}
/* ---------- Aktuelle Seite auch im Handy-Menue kennzeichnen -------------- */
@media(max-width:1050px){
  .tln-navi.ist-offen .current-menu-item > a,
  .tln-navi.ist-offen .current_page_item > a{position:relative;color:var(--tln-petrol);font-weight:500;padding-left:16px;}
  .tln-navi.ist-offen .current-menu-item > a::before,
  .tln-navi.ist-offen .current_page_item > a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--tln-gold);}
  .tln-navi.ist-offen .current-menu-item > a:hover,
  .tln-navi.ist-offen .current_page_item > a:hover{padding-left:22px;}
}
/* ---------- Hinweis: nur fuer Unternehmen ------------------------------- */
.tln-nurfirmen{max-width:760px;margin:0 0 30px;padding:18px 22px;background:var(--tln-panel);border-left:3px solid var(--tln-petrol);}
.tln-nurfirmen p{margin:0 0 8px;font-size:16px;}
.tln-nurfirmen p:last-child{margin:0;color:var(--tln-leise);}
.tln-nurfirmen strong{color:var(--tln-petrol-dunkel);}

/* ---------- Urheberzeile in der Fusszeile -------------------------------- */
.tln-urheber{order:4;}
.tln-urheber a{color:#B4AFA7;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22);}
.tln-urheber a:hover{color:#fff;border-bottom-color:var(--tln-gold);}
@media(max-width:900px){.tln-urheber{order:4;margin-top:4px;}}

/* ---------- Profile in sozialen Netzwerken ------------------------------ */
.tln-profile{display:flex;gap:6px;margin-top:20px;}
.tln-profile a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#B4AFA7;border:1px solid rgba(255,255,255,.18);transition:color .25s ease,border-color .25s ease,background-color .25s ease,transform .25s cubic-bezier(.2,.7,.3,1);}
.tln-profile a:hover{color:var(--tln-anthrazit);background:var(--tln-gold);border-color:var(--tln-gold);transform:translateY(-2px);}
.tln-profile a:focus-visible{outline:2px solid var(--tln-gold);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){.tln-profile a:hover{transform:none;}}

/* ---- Einwilligung und Hakenfelder ---------------------------------- */
/* Nur fuer Vorleseprogramme, optisch nicht vorhanden */
.tln-fernab{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* Ein Hakentext ist Fliesstext, keine Feldbeschriftung. .tln-feld label (0,1,1)
   hat .tln-haken (0,1,0) ueberstimmt, deshalb standen beide Haken in
   Grossbuchstaben mit 12px. Fuer einen rechtlichen Hinweis unlesbar. */
.tln-feld label.tln-haken{font-family:var(--tln-lauf);font-size:15px;line-height:1.55;letter-spacing:normal;text-transform:none;color:var(--tln-text);margin-bottom:0;}
/* Der Verweis muss auch ohne Farbwahrnehmung erkennbar sein.
   .tln-inhalt-seite a:not(.tln-knopf) setzt text-decoration:none, daher hoehere Spezifitaet. */
.tln-inhalt-seite .tln-haken a:not(.tln-knopf),.tln-feld .tln-haken a{color:var(--tln-petrol);text-decoration:underline;text-underline-offset:2px;background-image:none;padding-bottom:0;}
.tln-inhalt-seite .tln-haken a:hover,.tln-inhalt-seite .tln-haken a:focus-visible{text-decoration-thickness:2px;}
