/* ============================================================
   TRACKMAN RANGE 2027 — versteckte Interessensabfrage
   Gerhelm (Pine, Lime, Space Grotesk) × Trackman (Orange, #191919, Oswald).
   Lime spricht für den Club, Orange für die Messung.
   Klassen konsequent tm-* (seite.css belegt generische Namen).
   ============================================================ */

@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/oswald-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/oswald-latin-700-normal.woff2') format('woff2')}

.tm-seite{
  --tm-orange:#EC691A; --tm-orange-hell:#FF9A57; --tm-grau:#191919;
  --tm-nacht:#0A1410; --tm-pine:#07301F; --tm-tanne:#0B412B; --tm-lime:#CCFF00;
  --tm-mint:#E8EFE8; --tm-tinte:#14231B; --tm-text:#43504A; --tm-linie:#D5DDD7;
  --tm-hell:#E9F0EB; --tm-hell2:#A9B8AF; --tm-dunkellinie:rgba(255,255,255,.12);
  --tm-oswald:'Oswald','Arial Narrow',sans-serif;
  --tm-space:'Space Grotesk',system-ui,sans-serif;
  --tm-body:'Hanken Grotesk',system-ui,sans-serif;
  --tm-ease:cubic-bezier(.2,.7,.1,1);
  --tm-rand:max(16px,var(--inset,64px));
  --tm-oben:var(--kopf-h,76px);
  background:var(--tm-nacht);
}
@media (max-width:900px){.tm-seite{--tm-rand:20px}}
@media (max-width:480px){.tm-seite{--tm-rand:16px}}

/* Die Schnellleiste würde über dem Hero-Instrument hängen */
.tm-seite .schnell{display:none}
.tm-seite .progress{background:var(--tm-orange)}

.tm{color:var(--tm-hell);font-family:var(--tm-body);overflow-x:clip}
.tm *{box-sizing:border-box}
.tm [hidden]{display:none!important}
.tm img{display:block;max-width:100%}
.tm :focus-visible{outline:2px solid var(--tm-lime);outline-offset:3px}

/* ---------- Gemeinsame Typo ---------- */
.tm-label{display:flex;align-items:center;gap:12px;font-family:var(--tm-space);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--tm-orange)}
.tm-label b{font-family:var(--tm-oswald);font-weight:500;font-size:13px;letter-spacing:.06em;padding:3px 7px;border:1px solid currentColor;border-radius:2px;line-height:1}
.tm-label-lime{color:var(--tm-lime)}
.tm-h2{font-family:var(--tm-oswald);font-weight:700;text-transform:uppercase;font-size:clamp(40px,6.2vw,92px);line-height:1;letter-spacing:-.01em;margin:18px 0 0;color:#fff;text-wrap:balance}
.tm-h2 em{font-style:normal;color:var(--tm-orange)}
.tm p{margin:0}

.tm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;font-family:var(--tm-oswald);font-weight:500;font-size:17px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:0;border-radius:2px;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:color .3s var(--tm-ease),box-shadow .3s var(--tm-ease)}
.tm-btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--tm-ease)}
.tm-btn:hover::before{transform:scaleX(1)}
.tm-btn-orange{background:var(--tm-orange);color:#fff}
.tm-btn-orange::before{background:var(--tm-lime)}
.tm-btn-orange:hover{color:var(--tm-pine)}
.tm-btn-linie{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.tm-btn-linie::before{background:#fff}
.tm-btn-linie:hover{color:var(--tm-grau)}

/* ---------- Vorschau-Band ---------- */

/* ============ HERO ============ */
.tm-hero{position:relative;min-height:max(620px,calc(100svh - var(--tm-oben) - 36px));display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end;gap:40px;padding:100px var(--tm-rand) 80px;overflow:hidden;background:var(--tm-grau);isolation:isolate}
.tm-hero-bild{position:absolute;inset:-6% 0 0;z-index:-3;will-change:transform}
.tm-hero-bild img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;animation:tm-zoom 14s var(--tm-ease) both}
@keyframes tm-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
.tm-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  linear-gradient(90deg,rgba(10,20,16,.94) 0%,rgba(10,20,16,.72) 38%,rgba(10,20,16,.18) 70%,rgba(10,20,16,.5) 100%),
  linear-gradient(0deg,rgba(10,20,16,.95) 0%,rgba(10,20,16,0) 45%)}
.tm-hero-raster{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:72px 72px;mask-image:linear-gradient(0deg,#000 0%,transparent 70%);-webkit-mask-image:linear-gradient(0deg,#000 0%,transparent 70%)}
.tm-hero-flug{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.tm-bahn{fill:none;stroke:url(#tm-tracer);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 10px rgba(236,105,26,.7));animation:tm-zeichnen 2.4s .5s var(--tm-ease) forwards}
@keyframes tm-zeichnen{to{stroke-dashoffset:0}}
.tm-landepunkt{fill:var(--tm-orange-hell);opacity:0;animation:tm-auf .3s 2.8s forwards}
.tm-landering{fill:none;stroke:var(--tm-orange);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:tm-ring 2.4s 2.8s var(--tm-ease) infinite}
@keyframes tm-auf{to{opacity:1}}
@keyframes tm-ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(7)}}

.tm-hero-inhalt{position:relative;max-width:820px}
.tm-paar{display:flex;align-items:center;gap:14px;opacity:0;animation:tm-hoch .8s .1s var(--tm-ease) forwards}
.tm-paar-wappen{height:46px;width:auto}
.tm-paar-x{font-family:var(--tm-oswald);font-size:22px;color:rgba(255,255,255,.55)}
.tm-paar-tm{height:19px;width:auto}
.tm-h1{margin:26px 0 0;font-family:var(--tm-oswald);font-weight:700;text-transform:uppercase;font-size:clamp(52px,min(9.4vw,12.5svh),152px);line-height:.88;letter-spacing:-.015em;color:#fff}
.tm-zeile{display:block;overflow:hidden;padding-bottom:.04em}
.tm-zeile>span{display:block;transform:translateY(105%);animation:tm-zeile 1s var(--tm-ease) forwards}
.tm-zeile:nth-child(2)>span{animation-delay:.12s}
.tm-zeile:nth-child(3)>span{animation-delay:.24s}
.tm-zeile-lime{color:var(--tm-lime);font-family:var(--tm-space);letter-spacing:-.05em}
@keyframes tm-zeile{to{transform:none}}
@keyframes tm-hoch{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.tm-lead{margin-top:28px!important;max-width:54ch;font-size:clamp(17px,1.45vw,20px);line-height:1.55;font-weight:300;color:#D3DED7;opacity:0;animation:tm-hoch .9s .55s var(--tm-ease) forwards}
.tm-lead strong{font-weight:600;color:#fff}
.tm-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;opacity:0;animation:tm-hoch .9s .7s var(--tm-ease) forwards}

.tm-hud{margin:0;display:grid;gap:0;align-self:end;justify-self:end;width:min(320px,100%);border-top:1px solid rgba(236,105,26,.6);background:linear-gradient(180deg,rgba(25,25,25,.72),rgba(25,25,25,.42));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;animation:tm-hoch .9s 1s var(--tm-ease) forwards}
.tm-hud>div{display:flex;justify-content:space-between;align-items:baseline;padding:14px 18px;border-bottom:1px solid var(--tm-dunkellinie)}
.tm-hud dt{font-family:var(--tm-space);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tm-hell2)}
.tm-hud dd{margin:0;font-family:var(--tm-oswald);font-weight:500;font-size:40px;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.tm-hud dd small{font-size:14px;color:var(--tm-orange);margin-left:6px;letter-spacing:.04em}
.tm-hud>div:first-child dd{color:var(--tm-orange-hell);font-size:54px}

.tm-scroll{position:absolute;left:50%;bottom:22px;width:26px;height:42px;margin-left:-13px;border:1px solid rgba(255,255,255,.4);border-radius:14px}
.tm-scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--tm-orange);animation:tm-rad 1.8s ease-in-out infinite}
@keyframes tm-rad{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(16px)}}

/* ============ LAUFBAND ============ */
.tm-band{background:var(--tm-orange);color:var(--tm-grau);overflow:hidden;padding:18px 0;border-block:1px solid rgba(0,0,0,.15)}
.tm-band-spur{display:flex;align-items:center;gap:28px;width:max-content;will-change:transform}
.tm-band span{font-family:var(--tm-oswald);font-weight:700;text-transform:uppercase;font-size:clamp(26px,3.4vw,46px);line-height:1;letter-spacing:.01em;white-space:nowrap}
.tm-band span:nth-of-type(even){color:transparent;-webkit-text-stroke:1.4px var(--tm-grau)}
.tm-band i{width:12px;height:12px;border-radius:50%;background:var(--tm-grau);flex:none}

/* ============ 01 BALLFLUG ============ */
/* ---------- Worum geht es ---------- */
.tm-erklaer{background:var(--tm-mint);color:var(--tm-text);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px 64px;padding:96px var(--tm-rand);align-items:start}
.tm-erklaer .tm-label{color:#B4500F}
.tm-erklaer .tm-h2{color:var(--tm-tinte);font-size:clamp(36px,4.6vw,72px)}
.tm-erklaer-text{max-width:60ch;padding-top:14px}
.tm-erklaer-text p{margin:0;font-size:clamp(17px,1.35vw,19px);line-height:1.6}
.tm-erklaer-text p+p{margin-top:18px}
.tm-erklaer-text strong{font-weight:700;color:var(--tm-tinte)}

.tm-flug{position:relative;height:320vh;background:var(--tm-nacht);--p:0}
.tm-flug-buehne{position:sticky;top:var(--tm-oben);height:calc(100svh - var(--tm-oben));display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);grid-template-rows:1fr auto;gap:28px 48px;padding:84px var(--tm-rand) 40px;overflow:hidden}
.tm-flug-text{grid-row:1/3;align-self:center}
.tm-flug-schritte{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:18px;max-width:40ch}
.tm-flug-schritte li{position:relative;padding-left:22px;font-size:16px;line-height:1.5;color:var(--tm-hell2);opacity:.35;transition:opacity .5s,color .5s}
.tm-flug-schritte li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;border:1px solid currentColor;transition:background .5s}
.tm-flug-schritte li b{color:#fff;font-weight:600}
.tm-flug-schritte li.an{opacity:1;color:var(--tm-hell)}
.tm-flug-schritte li.an::before{background:var(--tm-orange);border-color:var(--tm-orange)}
.tm-flug-feld{position:relative;align-self:center;min-width:0}
.tm-flug-svg{width:100%;height:auto;max-height:58svh;overflow:visible}
.tm-flug-meter line{stroke:rgba(255,255,255,.09);stroke-width:1}
.tm-flug-meter text{fill:var(--tm-hell2);font-family:var(--tm-oswald);font-size:18px;letter-spacing:.06em;text-anchor:middle}
.tm-flug-meter .tm-boden{stroke:rgba(204,255,0,.5);stroke-width:2}
.tm-flug-schatten{stroke:rgba(236,105,26,.35);stroke-width:3;stroke-dasharray:2 10;fill:none}
.tm-flug-bahn{fill:none;stroke:var(--tm-orange);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p));filter:drop-shadow(0 0 12px rgba(236,105,26,.8))}
.tm-flug-ball{fill:#fff;filter:drop-shadow(0 0 10px rgba(255,255,255,.9))}
.tm-flug-ziel circle{fill:none;stroke:var(--tm-lime);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:opacity .4s,transform .6s var(--tm-ease)}
.tm-flug.gelandet .tm-flug-ziel circle{opacity:.8;transform:none}
.tm-flug.gelandet .tm-flug-ziel circle+circle{opacity:.35}
.tm-flug-anzeige{position:absolute;right:0;top:-6px;text-align:right;line-height:1}
.tm-flug-wert{display:block;font-family:var(--tm-oswald);font-weight:700;font-size:clamp(64px,10vw,150px);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tm-flug-einheit{font-family:var(--tm-space);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--tm-orange)}
.tm-mess{grid-column:2;margin:0;display:grid;grid-template-columns:repeat(8,1fr);border-top:1px solid var(--tm-dunkellinie)}
.tm-mess>div{padding:14px 10px 0 0;opacity:.18;transform:translateY(10px);transition:opacity .45s,transform .45s var(--tm-ease)}
.tm-mess>div.an{opacity:1;transform:none}
.tm-mess dt{font-family:var(--tm-space);font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tm-hell2);white-space:nowrap}
.tm-mess dd{margin:6px 0 0;font-family:var(--tm-oswald);font-weight:500;font-size:clamp(20px,2vw,30px);line-height:1;color:#fff;white-space:nowrap}
.tm-mess dd small{font-size:11px;color:var(--tm-orange);margin-left:3px}
.tm-mess>div:last-child dd{color:var(--tm-lime)}
.tm-fussnote{position:absolute;left:var(--tm-rand);bottom:16px;font-size:12px;color:#6F7F76}

/* ============ 02 LIVETICKER ============ */
.tm-ticker{position:relative;background:var(--tm-pine);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;padding:120px var(--tm-rand);overflow:hidden}
.tm-ticker::after{content:"";position:absolute;right:-20vw;top:-30vw;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(closest-side,rgba(204,255,0,.12),transparent);pointer-events:none}
.tm-ticker-kopf p{margin-top:24px;max-width:40ch;font-size:18px;color:#B9CBC0}
.tm-ticker-kopf p strong{font-weight:600;color:#fff}
.tm-puls{width:9px;height:9px;border-radius:50%;background:var(--tm-lime);box-shadow:0 0 0 0 rgba(204,255,0,.7);animation:tm-puls 1.8s infinite}
@keyframes tm-puls{70%{box-shadow:0 0 0 12px rgba(204,255,0,0)}100%{box-shadow:0 0 0 0 rgba(204,255,0,0)}}
.tm-ticker-zahl{position:relative;z-index:1;align-self:center}
.tm-gross{display:flex;align-items:baseline;gap:8px;font-family:var(--tm-oswald);font-weight:700;line-height:.8}
.tm-gross>span:first-child{font-size:clamp(110px,17vw,250px);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.tm-von{font-size:clamp(32px,4vw,56px);color:#5E8A72}
.tm-skala{position:relative;height:18px;margin-top:34px;background:rgba(255,255,255,.07)}
.tm-skala-fuell{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--tm-tanne),var(--tm-lime));transition:width 1.6s var(--tm-ease)}
.tm-skala-fuell::after{content:"";position:absolute;right:-1px;top:-8px;bottom:-8px;width:2px;background:#fff}
.tm-skala i{position:absolute;top:-6px;bottom:-6px;width:1px;background:rgba(255,255,255,.25)}
.tm-skala-txt{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--tm-space);font-size:12px;font-weight:600;letter-spacing:.06em;color:#7FA290}
.tm-ticker-fakten{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--tm-dunkellinie)}
.tm-ticker-fakten div{padding:18px 16px 0 0}
.tm-ticker-fakten div+div{padding-left:18px;border-left:1px solid var(--tm-dunkellinie)}
.tm-ticker-fakten b{display:block;font-family:var(--tm-oswald);font-weight:500;font-size:clamp(30px,3.2vw,44px);line-height:1;color:#fff}
.tm-ticker-fakten span{font-size:13px;color:#9DB5A8}
.tm-split{display:grid;gap:10px;margin-top:30px;font-size:14px}
.tm-split>div{display:grid;grid-template-columns:96px 1fr 40px;gap:14px;align-items:center}
.tm-split b{font-weight:600;color:#E3EBE6}
.tm-split-spur{height:4px;background:rgba(255,255,255,.08);position:relative;display:block}
.tm-split-spur span{position:absolute;inset:0 auto 0 0;width:0;background:#7FA290;transition:width 1.2s .3s var(--tm-ease)}
.tm-split em{font-style:normal;text-align:right;font-family:var(--tm-oswald);font-size:18px;color:#fff}
.tm-feed{list-style:none;margin:28px 0 0;padding:14px 0 0;border-top:1px solid var(--tm-dunkellinie);display:grid;gap:6px;font-size:13px;color:#9DB5A8}
.tm-feed li{display:flex;justify-content:space-between;gap:12px}
.tm-feed li.neu{color:var(--tm-lime);animation:tm-hoch .6s var(--tm-ease)}

/* ============ 03 SPIELE (quer) ============ */
.tm-spiele{position:relative;background:var(--tm-grau);--q:0}
.tm-spiele-buehne{position:sticky;top:var(--tm-oben);height:calc(100svh - var(--tm-oben));display:flex;flex-direction:column;justify-content:center;gap:32px;overflow:hidden;padding:84px 0 36px}
.tm-spiele-kopf{padding:0 var(--tm-rand)}
.tm-spiele-kopf .tm-h2{font-size:clamp(36px,5vw,76px)}
.tm-spiele-spur{list-style:none;margin:0;padding:0 var(--tm-rand);display:flex;gap:28px;width:max-content;will-change:transform}
.tm-karte{width:min(44vw,640px,calc((100svh - var(--tm-oben) - 380px) * 1.66));min-width:300px;flex:none;display:grid;gap:18px}
.tm-karte figure{margin:0;position:relative;aspect-ratio:1200/721;overflow:hidden;background:#244F35;border-radius:3px}
.tm-karte figure img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .9s var(--tm-ease)}
.tm-karte:hover figure img{transform:scale(1)}
.tm-karte-txt{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:baseline}
.tm-karte-nr{grid-row:1/3;font-family:var(--tm-oswald);font-weight:500;font-size:15px;color:var(--tm-orange)}
.tm-karte h3{margin:0;font-family:var(--tm-oswald);font-weight:700;font-size:28px;text-transform:uppercase;color:#fff;letter-spacing:.01em}
.tm-karte p{font-size:15px;color:#A7A7A7;max-width:46ch}
.tm-spiele-fort{margin:0 var(--tm-rand);height:2px;background:rgba(255,255,255,.1);position:relative}
.tm-spiele-fort span{position:absolute;inset:0;background:var(--tm-orange);transform-origin:left;transform:scaleX(var(--q))}

/* ============ 04 VIRTUELL ============ */
.tm-virtuell{position:relative;height:200vh;background:var(--tm-grau);--p:0}
.tm-virtuell-fenster{position:sticky;top:var(--tm-oben);height:calc(100svh - var(--tm-oben));overflow:hidden;
  clip-path:inset(calc((1 - var(--p)) * 16%) calc((1 - var(--p)) * 28%) round calc((1 - var(--p)) * 16px))}
.tm-virtuell-fenster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1.35 - var(--p) * .35))}
.tm-virtuell-fenster::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,48,31,.92) 0%,rgba(7,48,31,.55) 45%,rgba(7,48,31,.1) 100%)}
.tm-virtuell-inhalt{position:absolute;z-index:1;left:var(--tm-rand);bottom:clamp(40px,8vh,90px);max-width:600px;opacity:calc((var(--p) - .45) * 3);transform:translateY(calc((1 - var(--p)) * 60px))}
.tm-virtuell-zahl{display:flex;align-items:flex-end;gap:18px;margin:14px 0 0;font-family:var(--tm-oswald);font-weight:700;line-height:.8;color:#fff}
.tm-virtuell-zahl>span{font-size:clamp(140px,22vw,300px);letter-spacing:-.04em;color:var(--tm-lime)}
.tm-virtuell-zahl small{font-size:clamp(26px,3vw,44px);text-transform:uppercase;line-height:.95;padding-bottom:.2em}
.tm-virtuell-inhalt p{margin-top:22px!important;font-size:18px;line-height:1.55;color:#D3DED7;max-width:48ch}

/* ============ 05 BAYS ============ */
.tm-bays{background:#fff;color:var(--tm-text);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px;padding:140px var(--tm-rand);align-items:center}
.tm-bays .tm-h2{color:var(--tm-tinte)}
.tm-bays .tm-label{color:#B4500F}
.tm-bays-fakten{margin:44px 0 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--tm-linie)}
.tm-bays-fakten div{padding:20px 16px 20px 0;border-bottom:1px solid var(--tm-linie)}
.tm-bays-fakten div:nth-child(even){padding-left:20px;border-left:1px solid var(--tm-linie)}
.tm-bays-fakten dt{font-family:var(--tm-oswald);font-weight:700;font-size:clamp(44px,5vw,68px);line-height:.9;color:var(--tm-tinte)}
.tm-bays-fakten div:first-child dt{color:#B4500F}
.tm-bays-fakten dd{margin:8px 0 0;font-size:14px;line-height:1.4}
.tm-bays-txt>p{margin-top:28px;font-size:17px;line-height:1.6;max-width:52ch}
.tm-mosaik{position:relative;height:min(78vh,720px)}
.tm-mosaik figure{position:absolute;margin:0;overflow:hidden;border-radius:3px;box-shadow:0 40px 80px -40px rgba(20,35,27,.55);will-change:transform}
.tm-mosaik img{width:100%;height:100%;object-fit:cover}
.tm-m1{left:0;top:4%;width:58%;aspect-ratio:3/4}
.tm-m2{right:0;top:0;width:46%;aspect-ratio:1/1}
.tm-m3{right:6%;bottom:0;width:52%;aspect-ratio:4/3;outline:10px solid #fff}

/* ============ 06 TARIFE ============ */
.tm-tarife{background:var(--tm-mint);color:var(--tm-text);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;padding:140px var(--tm-rand)}
.tm-tarife .tm-h2{color:var(--tm-tinte)}
.tm-tarife .tm-h2 em{color:#B4500F}
.tm-tarife .tm-label{color:#B4500F}
.tm-tarife-kopf{position:sticky;top:calc(var(--tm-oben) + 110px);align-self:start}
.tm-tarife-kopf p{margin-top:24px;font-size:17px;line-height:1.6;max-width:42ch}
.tm-tarifliste{list-style:none;margin:0;padding:0;border-top:1px solid #C6D2C9}
.tm-tarifliste li{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:6px 32px;padding:26px 0;border-bottom:1px solid #C6D2C9;position:relative}
.tm-tarifliste li::before{content:"";position:absolute;left:-18px;top:0;bottom:0;width:3px;background:var(--tm-orange);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--tm-ease)}
.tm-tarifliste li:hover::before{transform:scaleY(1)}
.tm-tarifliste h3{margin:0;font-family:var(--tm-oswald);font-weight:700;font-size:26px;text-transform:uppercase;color:var(--tm-tinte);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tm-tarifliste p{grid-column:1;font-size:15px;line-height:1.5;max-width:52ch}
.tm-preis{grid-column:2;grid-row:1/3;text-align:right;align-self:center}
.tm-preis b{display:block;font-family:var(--tm-oswald);font-weight:700;font-size:36px;line-height:1;color:var(--tm-tinte);white-space:nowrap}
.tm-eur{font-size:.55em;vertical-align:.55em;margin-right:4px;font-weight:500}
.tm-preis small{display:block;margin-top:4px;font-size:13px;color:#5D6A63}
.tm-marke{font-family:var(--tm-space);font-size:10px;letter-spacing:.14em;padding:5px 8px;background:var(--tm-pine);color:var(--tm-lime);border-radius:2px}
.tm-hervor{background:var(--tm-pine);margin:0 -24px;padding:34px 24px!important;border-bottom-color:transparent!important;color:#C9D6CE}
.tm-hervor::before{display:none}
.tm-hervor h3,.tm-hervor .tm-preis b{color:#fff}
.tm-hervor .tm-marke{background:var(--tm-lime);color:var(--tm-pine)}
.tm-hervor .tm-preis b{font-size:clamp(48px,5.6vw,76px);color:var(--tm-lime)}
.tm-hervor .tm-preis small{color:#9DB5A8}

/* ============ 07 ABLAUF ============ */
.tm-ablauf{background:var(--tm-pine);padding:140px var(--tm-rand) 120px;--p:0}
.tm-ablauf-weg{position:relative;margin-top:72px}
.tm-ablauf-linie{position:absolute;left:0;right:0;top:0;width:100%;height:120px;overflow:visible}
.tm-ablauf-grund{fill:none;stroke:rgba(255,255,255,.12);stroke-width:2;stroke-dasharray:3 8;vector-effect:non-scaling-stroke}
.tm-ablauf-spur{fill:none;stroke:var(--tm-lime);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p));vector-effect:non-scaling-stroke}
.tm-ablauf ol{list-style:none;margin:0;padding:150px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.tm-ablauf li{opacity:.3;transform:translateY(16px);transition:opacity .6s,transform .6s var(--tm-ease)}
.tm-ablauf li.an{opacity:1;transform:none}
.tm-ablauf li span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(204,255,0,.5);font-family:var(--tm-oswald);font-weight:500;font-size:18px;color:var(--tm-lime)}
.tm-ablauf li.an span{background:var(--tm-lime);color:var(--tm-pine)}
.tm-ablauf li:last-child.an span{background:var(--tm-orange);border-color:var(--tm-orange);color:#fff}
.tm-ablauf h3{margin:18px 0 8px;font-family:var(--tm-oswald);font-weight:700;font-size:26px;text-transform:uppercase;color:#fff}
.tm-ablauf p{font-size:15px;line-height:1.55;color:#B9CBC0}

/* ============ 08 ZUSAGE ============ */
.tm-zusage{background:#fff;color:var(--tm-text);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;padding:140px var(--tm-rand)}
.tm-zusage .tm-h2{color:var(--tm-tinte);font-size:clamp(56px,8vw,120px)}
.tm-zusage .tm-h2 em{color:#C9560F}
.tm-zusage .tm-label{color:#B4500F}
.tm-zusage-kopf p{margin-top:24px;font-size:17px;line-height:1.6;max-width:40ch}
#tm-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.tm-f{display:grid;gap:8px;min-width:0;border:0;margin:0;padding:0}
.tm-voll{grid-column:1/-1}
.tm-f label,.tm-f legend{font-family:var(--tm-space);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--tm-tinte);padding:0;margin-bottom:8px}
.tm-f input[type=text],.tm-f input[type=email]{font:inherit;font-size:17px;padding:14px 0;border:0;border-bottom:2px solid var(--tm-linie);background:transparent;color:var(--tm-tinte);border-radius:0;width:100%;transition:border-color .3s}
.tm-f input:focus{outline:none;border-bottom-color:var(--tm-orange)}
.tm-wahl{display:grid;gap:10px}
.tm-wahl-4{grid-template-columns:repeat(4,1fr)}
.tm-wahl-3{grid-template-columns:repeat(3,1fr)}
.tm-wahl label{position:relative;margin:0;text-transform:none;letter-spacing:0;font-family:var(--tm-body);font-weight:400;font-size:15px}
.tm-wahl input{position:absolute;opacity:0;pointer-events:none}
.tm-wahl label>span{display:block;height:100%;padding:14px;border:1px solid var(--tm-linie);border-radius:2px;cursor:pointer;color:var(--tm-tinte);transition:border-color .25s,box-shadow .25s,background .25s}
.tm-wahl label>span b{display:block;font-family:var(--tm-oswald);font-weight:700;font-size:18px;text-transform:uppercase}
.tm-wahl label>span small{display:block;margin-top:4px;font-size:13px;color:#5D6A63}
.tm-wahl label:hover>span{border-color:#9FB0A5}
.tm-wahl input:checked+span{border-color:var(--tm-pine);box-shadow:inset 0 0 0 1px var(--tm-pine);background:#F3F7F4}
.tm-wahl input:focus-visible+span{outline:2px solid var(--tm-orange);outline-offset:2px}
.tm-check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--tm-text)}
.tm-check input{margin-top:4px;width:18px;height:18px;accent-color:#0B412B;flex:none}
.tm-fehler{color:#B23A2B;font-size:15px}
.tm-danke{border-top:3px solid var(--tm-orange);padding-top:24px;color:var(--tm-tinte)}
.tm-danke svg{width:120px;height:60px;overflow:visible}
.tm-danke path{fill:none;stroke:var(--tm-orange);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:tm-zeichnen 1.2s var(--tm-ease) forwards}
.tm-danke circle{fill:var(--tm-lime);stroke:var(--tm-pine);stroke-width:1.5;opacity:0;animation:tm-auf .3s 1.1s forwards}
.tm-danke b{display:block;margin-top:14px;font-family:var(--tm-oswald);font-weight:700;font-size:32px;text-transform:uppercase}
.tm-danke p{margin-top:10px;font-size:16px;line-height:1.55;color:var(--tm-text)}

/* ============ 09 FRAGEN ============ */
.tm-fragen{background:#fff;color:var(--tm-text);padding:0 var(--tm-rand) 140px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 64px}
.tm-fragen .tm-label{color:#B4500F;grid-column:1}
.tm-fragen{grid-template-rows:auto 1fr}
.tm-fragen .tm-h2{color:var(--tm-tinte);grid-column:1;align-self:start;font-size:clamp(36px,4.4vw,64px)}
.tm-fragen-liste{grid-column:2;grid-row:1/3}
.tm-fragen details{border-top:1px solid var(--tm-linie)}
.tm-fragen details:last-child{border-bottom:1px solid var(--tm-linie)}
.tm-fragen summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-weight:600;font-size:17px;color:var(--tm-tinte)}
.tm-fragen summary::-webkit-details-marker{display:none}
.tm-fragen summary::after{content:"";flex:none;width:14px;height:14px;margin-top:5px;background:linear-gradient(#B4500F,#B4500F) center/14px 2px no-repeat,linear-gradient(#B4500F,#B4500F) center/2px 14px no-repeat;transition:transform .35s var(--tm-ease)}
.tm-fragen details[open] summary::after{transform:rotate(135deg)}
.tm-fragen details p{padding:0 0 24px;font-size:16px;line-height:1.6;max-width:60ch}

/* ============ FUSS ============ */
.tm-fuss{background:var(--tm-nacht);color:#9DB5A8;padding:56px var(--tm-rand);display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;justify-content:space-between;font-size:14px}
.tm-fuss .tm-paar{opacity:1;animation:none}
.tm-fuss .tm-paar-wappen{height:40px}
.tm-recht{flex-basis:100%;font-size:12px;color:#6F7F76;border-top:1px solid var(--tm-dunkellinie);padding-top:18px}

/* ---------- Einblenden ---------- */
[data-tm-auf]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--tm-ease),transform .8s var(--tm-ease)}
[data-tm-auf].ist-da{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .tm-mess{grid-template-columns:repeat(4,1fr);row-gap:14px}
}
@media (max-width:900px){
  .tm-hero{grid-template-columns:1fr;align-items:end;padding-top:56px;padding-bottom:84px;gap:28px}
  .tm-hero::before{background:linear-gradient(0deg,rgba(10,20,16,.97) 0%,rgba(10,20,16,.78) 50%,rgba(10,20,16,.35) 100%)}
  .tm-hud{justify-self:start;grid-template-columns:repeat(3,1fr);width:100%}
  .tm-hud>div{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 12px;border-bottom:0;border-right:1px solid var(--tm-dunkellinie)}
  .tm-hud>div:last-child{border-right:0}
  .tm-hud dd,.tm-hud>div:first-child dd{font-size:30px}
  .tm-scroll{display:none}

  .tm-flug{height:260vh}
  .tm-flug-buehne{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:18px;padding:28px var(--tm-rand) 34px}
  .tm-flug-text{grid-row:auto}
  .tm-flug-text .tm-h2{font-size:clamp(34px,9vw,56px)}
  .tm-flug-schritte{margin-top:16px;gap:8px}
  .tm-flug-schritte li{display:none;font-size:15px}
  .tm-flug-schritte li.jetzt{display:block}
  .tm-mess{grid-column:1}
  .tm-flug-anzeige{top:-14px}
  .tm-fussnote{display:none}

  .tm-ticker,.tm-bays,.tm-tarife,.tm-zusage,.tm-fragen,.tm-erklaer{grid-template-columns:1fr;gap:44px;padding-top:96px;padding-bottom:96px}
  .tm-erklaer{gap:28px;padding-top:72px;padding-bottom:72px}
  .tm-erklaer-text{padding-top:0}
  .tm-virtuell{height:160vh}
  .tm-mosaik{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .tm-mosaik figure{position:static;width:auto;transform:none!important;box-shadow:none;outline:0}
  .tm-m1{grid-row:1/3;aspect-ratio:3/4}
  .tm-m2,.tm-m3{aspect-ratio:4/3}
  .tm-fragen{padding-top:0;gap:0}
  .tm-fragen-liste{grid-column:1;grid-row:auto;margin-top:32px}
  .tm-tarife-kopf{position:static}
  .tm-ablauf ol{grid-template-columns:1fr 1fr;padding-top:0;gap:36px 32px}
  .tm-ablauf-linie{display:none}
}
@media (max-width:1024px),(hover:none){
  /* Quer-Galerie: kein Festhalten, einfaches Wischen (Tablet, Handy, alle Touch-Geräte) */
  .tm-spiele{height:auto!important}
  .tm-spiele-buehne{position:relative;top:0;height:auto;padding:88px 0}
  .tm-spiele-spur{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;transform:none!important;scrollbar-width:none;padding:0 var(--tm-rand) 6px}
  .tm-spiele-spur::-webkit-scrollbar{display:none}
  .tm-karte{width:min(82vw,420px);min-width:0;scroll-snap-align:start}
  .tm-spiele-fort{display:none}
}
@media (max-width:760px){
  .tm-karte h3{font-size:24px}
  .tm-virtuell{height:140vh}
  .tm-wahl-4{grid-template-columns:1fr 1fr}
  .tm-wahl-3{grid-template-columns:1fr}
  #tm-form{grid-template-columns:1fr}
  .tm-tarifliste li{grid-template-columns:1fr;grid-template-rows:auto}
  .tm-preis{grid-column:1;grid-row:auto;text-align:left;margin-top:8px}
  .tm-hervor{margin:0 calc(-1 * var(--tm-rand));padding-inline:var(--tm-rand)!important}
  .tm-ablauf ol{grid-template-columns:1fr;gap:28px}
  .tm-ablauf li{padding-left:64px;position:relative}
  .tm-ablauf li span{position:absolute;left:0;top:0}
  .tm-ablauf h3{margin-top:6px}
}
@media (max-width:480px){
  .tm-h1{font-size:clamp(46px,14vw,64px)}
  .tm-paar-wappen{height:38px}
  .tm-paar-tm{height:16px}
  .tm-hud dd,.tm-hud>div:first-child dd{font-size:26px}
  .tm-hud dd small{font-size:11px;margin-left:3px}
  .tm-mess{grid-template-columns:repeat(4,1fr)}
  .tm-mess dd{font-size:19px}
  .tm-mess dt{font-size:9px;letter-spacing:.06em}
  .tm-ticker-fakten span{font-size:12px}
  .tm-split>div{grid-template-columns:84px 1fr 34px}
  .tm-bays-fakten div:nth-child(even){padding-left:14px}
  .tm-m3{outline-width:6px}
}

/* ---------- Ruhige Bewegung ---------- */
@media (prefers-reduced-motion:reduce){
  .tm *,.tm *::before,.tm *::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .tm-flug,.tm-virtuell{height:auto}
  .tm-flug-buehne,.tm-virtuell-fenster{position:relative;top:0}
  .tm-flug{--p:1}
  .tm-virtuell{--p:1}
  .tm-virtuell-fenster{clip-path:none}
  .tm-flug-schritte li,.tm-mess>div,.tm-ablauf li{opacity:1;transform:none}
  .tm-flug-schritte li{display:block!important}
  .tm-ablauf{--p:1}
  [data-tm-auf]{opacity:1;transform:none}
  .tm-spiele{height:auto!important}
  .tm-spiele-buehne{position:relative;top:0;height:auto;padding:88px 0}
  .tm-spiele-spur{width:auto;overflow-x:auto;transform:none!important}
  .tm-landering{display:none}
}

/* ---------- Echter Ticker (05.11.2026) ---------- */
.tm-feed-leer span{color:var(--tm-hell2);font-style:italic}
.tm-ticker-note{margin-top:14px!important;font-size:12px;line-height:1.5;color:#9DB5A8}
.tm-honig{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.tm-gruender{margin-top:18px!important;padding:14px 16px;background:var(--tm-mint);border-left:3px solid var(--tm-orange);font-size:15px;line-height:1.5;color:var(--tm-text)}
.tm-gruender strong{color:var(--tm-tinte)}
