@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("../fonts/montserrat-variable-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 700; font-display: swap;
  src: url("../fonts/inter-variable-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; }

.ttg {
  --rot: #DC2028;
  --bordeaux: #911D1E;
  --terrakotta: #D76D3E;
  --orange-hell: #D24F35;
  --text: #1C1C1C;
  --weiss: #FFFFFF;
  --nebel: #6B6B6B;
  --linie: #E6E0DA;
  --sand: #F7F2EE;
  --font-head: "Montserrat", "Segoe UI", Arial, sans-serif;
  --font-body: "Inter", "Segoe UI", Arial, sans-serif;
  --container: 1200px;
  --gutter: 20px;
  --sektion: 64px;
  --block: 48px;
  --element: 24px;
  --eng: 12px;
  --radius: 16px;
  --radius-btn: 8px;
  --balken-h: 40px;
  --header-h: 60px;
  --header-nav-h: 44px;
  --header-total: calc(var(--balken-h) + var(--header-h) + var(--header-nav-h));
  --schatten: 0 10px 30px rgba(60, 10, 10, .22);
}
@media (min-width: 900px) {
  .ttg { --sektion: 96px; --gutter: 24px; --header-h: 84px; --header-nav-h: 0px; }
  .ttg.is-compact { --header-h: 64px; --balken-h: 0px; }
}

.ttg, .ttg * { box-sizing: border-box; margin: 0; padding: 0; }
.ttg { font-family: var(--font-body); font-size: 17px; line-height: 1.65; color: var(--text); background: var(--rot);
  -webkit-font-smoothing: antialiased; letter-spacing: .005em; overflow-x: hidden; position: relative; }
.ttg img, .ttg svg { display: block; max-width: 100%; height: auto; }
.ttg a { color: inherit; text-decoration: none; }
.ttg ul { list-style: none; }
.ttg .num { font-variant-numeric: tabular-nums; }
.ttg .container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.ttg :focus-visible { outline: 3px solid var(--weiss); outline-offset: 3px; }
.ttg .karte :focus-visible, .ttg .on-light :focus-visible { outline-color: var(--rot); }

.ttg .ttg-bg { position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-color: var(--rot);
  background-image: url("../svg/muster-silhouetten.svg"), linear-gradient(180deg, var(--rot) 0%, var(--rot) 22%, var(--orange-hell) 62%, var(--terrakotta) 100%);
  background-size: 440px auto, 100% 100%; background-position: -60px 0, 0 0; background-repeat: repeat, no-repeat; }
@media (min-width: 900px) { .ttg .ttg-bg { background-size: 620px auto, 100% 100%; background-position: -120px 40px, 0 0; } }
@media (min-width: 1600px) { .ttg .ttg-bg { background-size: 760px auto, 100% 100%; } }
.ttg main, .ttg .ttg-header { position: relative; z-index: 1; }

.ttg .ttg-header-spacer { height: var(--header-total); transition: height .2s ease; }
.ttg .ttg-sentinel { position: absolute; top: 120px; left: 0; width: 1px; height: 1px; pointer-events: none; }
.ttg .ttg-header { position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 50; color: var(--weiss);
  background: transparent; transition: background-color .25s ease, box-shadow .25s ease; }
.ttg.is-compact .ttg-header { background: var(--rot); box-shadow: 0 2px 14px rgba(40, 0, 0, .25); }

.ttg .ttg-balken { display: flex; align-items: center; justify-content: center; gap: 10px; height: var(--balken-h); overflow: hidden;
  background: var(--bordeaux); color: var(--weiss); font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .12em;
  text-transform: uppercase; white-space: nowrap; padding-inline: var(--gutter); transition: height .2s ease, opacity .2s ease; }
.ttg .ttg-balken:hover .ttg-balken__pfeil { transform: translateX(3px); }
.ttg .ttg-balken__pfeil { width: 14px; height: 14px; transition: transform .2s ease; }
.ttg .ttg-balken__sep { opacity: .6; }
@media (max-width: 599.98px) { .ttg .ttg-balken__ort { display: none; } }
@media (min-width: 900px) { .ttg .ttg-balken { font-size: 13px; gap: 14px; } .ttg.is-compact .ttg-balken { opacity: 0; } }

.ttg .ttg-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; height: calc(var(--header-h) + var(--header-nav-h)); transition: height .2s ease; }
.ttg .ttg-logo { display: flex; align-items: center; gap: 12px; height: var(--header-h); flex: none; color: var(--weiss); }
.ttg .ttg-logo__bild { height: 50px; width: auto; transition: height .2s ease; }
.ttg .ttg-logo__wort { display: flex; flex-direction: column; line-height: 1.1; }
.ttg .ttg-logo__name { font-family: var(--font-head); font-weight: 800; font-size: 17px; letter-spacing: .01em; }
.ttg .ttg-logo__ort { font-family: var(--font-head); font-weight: 600; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; opacity: .92; margin-top: 3px; }
@media (min-width: 900px) {
  .ttg .ttg-logo__bild { height: 66px; } .ttg.is-compact .ttg-logo__bild { height: 52px; }
  .ttg .ttg-logo__name { font-size: 20px; } .ttg .ttg-logo__ort { font-size: 11.5px; }
  .ttg.is-compact .ttg-logo__name { font-size: 18px; }
}

.ttg .ttg-nav { flex: 1 1 auto; }
.ttg .ttg-nav__list { display: flex; align-items: center; gap: 4px; }
.ttg .ttg-nav__link { display: inline-flex; align-items: center; height: 40px; padding-inline: 12px; border-radius: var(--radius-btn);
  font-family: var(--font-head); font-weight: 700; font-size: 14.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--weiss);
  position: relative; transition: background-color .2s ease; }
.ttg .ttg-nav__link::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 3px; border-radius: 2px; background: var(--weiss); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.ttg .ttg-nav__link:hover::after, .ttg .ttg-nav__link[aria-current="page"]::after { transform: scaleX(1); }
.ttg .ttg-nav__link:hover { background: rgba(255, 255, 255, .1); }
@media (max-width: 899.98px) {
  .ttg .ttg-header__bar { align-content: flex-start; }
  .ttg .ttg-nav { flex-basis: 100%; height: var(--header-nav-h); margin-top: -6px; }
  .ttg .ttg-nav__list { justify-content: center; gap: 0; }
  .ttg .ttg-nav__link { height: 36px; font-size: 13.5px; padding-inline: 10px; }
  .ttg .ttg-nav__link::after { bottom: 4px; left: 10px; right: 10px; }
}
@media (min-width: 900px) { .ttg .ttg-nav { flex: 0 0 auto; } .ttg .ttg-nav__list { gap: 8px; } .ttg .ttg-nav__link { font-size: 15px; padding-inline: 14px; } }

.ttg .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: var(--radius-btn);
  font-family: var(--font-head); font-weight: 700; font-size: 16px; letter-spacing: .03em; border: 2px solid transparent; cursor: pointer; white-space: nowrap;
  transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ttg .btn__arrow { width: 16px; height: 16px; transition: transform .2s ease; }
.ttg .btn:hover .btn__arrow { transform: translateX(3px); }
.ttg .btn--primary { background: var(--rot); color: var(--weiss); border-color: var(--rot); }
.ttg .btn--primary:hover { background: #C41C23; border-color: #C41C23; }
.ttg .btn--sekundaer { background: var(--bordeaux); color: var(--weiss); border-color: var(--bordeaux); }
.ttg .btn--sekundaer:hover { background: #7C1819; border-color: #7C1819; }
.ttg .btn--weiss { background: var(--weiss); color: var(--rot); border-color: var(--weiss); box-shadow: 0 8px 22px rgba(60, 0, 0, .25); }
.ttg .btn--weiss:hover { background: #FFF4F2; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(60, 0, 0, .3); }
.ttg .btn--ghost { background: transparent; color: var(--weiss); border-color: rgba(255, 255, 255, .85); }
.ttg .btn--ghost:hover { background: rgba(255, 255, 255, .12); border-color: var(--weiss); }
@media (min-width: 1600px) { .ttg .btn { min-height: 58px; font-size: 17px; padding-inline: 30px; } }

.ttg .karte { background: var(--weiss); color: var(--text); border-radius: var(--radius); box-shadow: var(--schatten); }
.ttg .platzhalter { border: 2px dashed currentColor; border-radius: var(--radius-btn); padding: 10px 14px; opacity: .85; font-style: italic; }
.ttg .platzhalter--text::before { content: "TEXT FOLGT · "; font-style: normal; font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .12em; }

.ttg .ttg-hero { padding-block: 32px var(--sektion); color: var(--weiss); }
.ttg .ttg-hero__grid { display: grid; gap: 40px; align-items: center; }
.ttg .ttg-hero__text { display: flex; flex-direction: column; align-items: flex-start; }
.ttg .ttg-hero__kicker { font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; opacity: .92; margin-bottom: 22px; }
.ttg .ttg-hero__signet { width: min(100%, 420px); margin-bottom: 26px; }
.ttg .ttg-hero__signet img { width: 100%; height: auto; }
.ttg .ttg-hero__band { display: inline-block; background: var(--weiss); border-radius: 6px; padding: 12px 22px 14px; transform: rotate(-2.6deg); margin: 6px 0 30px 4px; box-shadow: 0 8px 22px rgba(60, 0, 0, .22); }
.ttg .ttg-hero__band img { width: min(78vw, 420px); height: auto; transform: rotate(2.6deg); }
.ttg .ttg-hero__sub { max-width: 560px; font-size: 17px; line-height: 1.6; margin-bottom: 30px; }
.ttg .ttg-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.ttg .ttg-hero__karte { padding: 12px 12px 0; overflow: hidden; }
.ttg .ttg-hero__foto { width: 100%; border-radius: 10px; aspect-ratio: 851 / 493; object-fit: cover; }
.ttg .ttg-hero__datum { display: flex; flex-direction: column; align-items: center; gap: 2px; margin: 12px -12px 0; padding: 16px 20px 18px; background: var(--bordeaux); color: var(--weiss); text-align: center; }
.ttg .ttg-hero__datum-zahl { font-family: var(--font-head); font-weight: 800; font-size: clamp(22px, 5.6vw, 30px); letter-spacing: .02em; line-height: 1.1; }
.ttg .ttg-hero__datum-ort { font-family: var(--font-head); font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; opacity: .95; }
@media (min-width: 600px) { .ttg .ttg-hero__sub { font-size: 18px; } }
@media (min-width: 900px) {
  .ttg .ttg-hero { padding-block: 56px var(--sektion); }
  .ttg .ttg-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; }
  .ttg .ttg-hero__signet { width: min(100%, 480px); }
  .ttg .ttg-hero__band img { width: min(38vw, 440px); }
  .ttg .ttg-hero__karte { transform: rotate(1.5deg); }
  .ttg .ttg-hero__datum-zahl { font-size: clamp(24px, 2.4vw, 32px); }
}
@media (min-width: 1200px) { .ttg .ttg-hero__grid { gap: 72px; } .ttg .ttg-hero__signet { width: 520px; } .ttg .ttg-hero__band img { width: 470px; } }
@media (min-width: 1600px) { .ttg { --container: 1360px; } .ttg .ttg-hero { padding-block: 72px 120px; } .ttg .ttg-hero__signet { width: 600px; } .ttg .ttg-hero__band img { width: 540px; } .ttg .ttg-hero__sub { font-size: 19px; max-width: 620px; } }

@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
  .ttg.js [data-reveal], .ttg.js [data-reveal-stagger] > * { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
  .ttg.js [data-reveal].is-visible, .ttg.js [data-reveal-stagger].is-visible > * { opacity: 1; transform: none; }
  .ttg.js [data-reveal-stagger].is-visible > * { transition-delay: calc(var(--i, 0) * 90ms); }
  .ttg.js .ttg-hero__band { transition-property: opacity, transform; }
  .ttg.js [data-reveal-stagger].is-visible > .ttg-hero__band { transform: rotate(-2.6deg); }
  .ttg.js .ttg-hero__karte.is-visible { transform: rotate(1.5deg); }
}

.ttg .label { font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--rot); margin-bottom: 14px; }
.ttg .h-sektion { font-family: var(--font-head); font-weight: 800; font-size: clamp(26px, 3.2vw, 38px); line-height: 1.15; letter-spacing: -.005em; color: var(--text); max-width: 20ch; margin-bottom: 20px; text-wrap: balance; }
.ttg .textlink { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-head); font-weight: 700; font-size: 15px; color: var(--rot); letter-spacing: .02em; border-bottom: 2px solid transparent; transition: border-color .2s ease; }
.ttg .textlink::after { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s ease; }
.ttg .textlink:hover { border-color: var(--rot); } .ttg .textlink:hover::after { transform: translateX(3px); }
.ttg .karte .platzhalter { color: var(--nebel); border-color: var(--nebel); }
.ttg .platzhalter--kurz { display: inline-block; padding: 2px 8px; font-size: 15px; }
.ttg .platzhalter--kurz::before { content: "FOLGT · "; font-style: normal; font-family: var(--font-head); font-weight: 700; font-size: 11px; letter-spacing: .12em; }

.ttg .ttg-jubi { padding-block: 0 var(--sektion); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .ttg-jubi__karte { position: relative; overflow: hidden; padding: 32px 24px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; }
.ttg .ttg-jubi__signet { position: absolute; right: -28px; top: -18px; width: 210px; height: 140px; color: var(--rot); opacity: .08; pointer-events: none; }
.ttg .ttg-jubi__text { position: relative; }
.ttg .ttg-jubi__text > .platzhalter { margin-bottom: 24px; }
.ttg .ttg-jubi__fakten { display: grid; gap: 14px; margin-bottom: 28px; padding-top: 22px; border-top: 1px solid var(--linie); }
.ttg .ttg-jubi__fakten > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; align-items: baseline; }
.ttg .ttg-jubi__fakten dt { font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--nebel); }
.ttg .ttg-jubi__fakten dd { font-family: var(--font-head); font-weight: 700; font-size: 17px; color: var(--text); }
.ttg .ttg-jubi__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
.ttg .ttg-countdown { position: relative; background: var(--sand); border-radius: 12px; padding: 24px 20px 22px; text-align: center; }
.ttg .ttg-countdown__titel { font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--bordeaux); margin-bottom: 16px; }
.ttg .ttg-countdown__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ttg .ttg-countdown__feld { background: var(--weiss); border-radius: 10px; padding: 14px 4px 12px; display: flex; flex-direction: column; align-items: center; gap: 4px; box-shadow: 0 2px 8px rgba(60, 10, 10, .06); }
.ttg .ttg-countdown__zahl { font-family: var(--font-head); font-weight: 800; font-size: clamp(34px, 10vw, 44px); line-height: 1; color: var(--rot); letter-spacing: -.01em; }
.ttg .ttg-countdown__einheit { font-family: var(--font-head); font-weight: 600; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--nebel); }
.ttg .ttg-countdown__ziel { margin-top: 16px; font-size: 14px; color: var(--nebel); }
.ttg .ttg-countdown__fertig { margin-top: 12px; font-family: var(--font-head); font-weight: 700; font-size: 18px; color: var(--bordeaux); }
.ttg .ttg-countdown.is-fertig .ttg-countdown__grid, .ttg .ttg-countdown.is-fertig .ttg-countdown__ziel, .ttg .ttg-countdown.is-fertig .ttg-countdown__titel { display: none; }
@media (min-width: 600px) { .ttg .ttg-jubi__karte { padding: 40px 36px; } .ttg .ttg-countdown { padding: 28px 24px 26px; } .ttg .ttg-countdown__grid { gap: 12px; } }
@media (min-width: 900px) {
  .ttg .ttg-jubi__karte { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; padding: 48px; align-items: center; }
  .ttg .ttg-jubi__signet { width: 300px; height: 200px; right: -40px; top: -30px; }
  .ttg .ttg-countdown__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ttg .ttg-countdown__feld { padding: 20px 8px 16px; }
  .ttg .ttg-countdown__zahl { font-size: clamp(40px, 3.6vw, 52px); }
  .ttg .ttg-countdown__einheit { font-size: 12px; }
}
@media (min-width: 1200px) { .ttg .ttg-jubi__karte { padding: 56px 64px; gap: 64px; } }
@media (min-width: 1600px) { .ttg .h-sektion { font-size: clamp(38px, 2.4vw, 46px); } .ttg .ttg-countdown__zahl { font-size: 56px; } }

.ttg .label--hell { color: var(--weiss); }
.ttg .h-sektion--hell { color: var(--weiss); }
.ttg .on-dark .platzhalter { color: var(--weiss); border-color: rgba(255, 255, 255, .7); }
.ttg .ttg-gruppen { padding-block: 0 var(--sektion); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .ttg-gruppen__kopf { max-width: 680px; margin-bottom: 32px; }
.ttg .ttg-gruppen__intro { font-size: 17px; }
.ttg .ttg-gruppen__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.ttg .ttg-gruppe { display: flex; flex-direction: column; overflow: hidden; }
.ttg .ttg-gruppe__media { display: block; overflow: hidden; }
.ttg .ttg-gruppe__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s ease; }
.ttg .ttg-gruppe:hover .ttg-gruppe__media img { transform: scale(1.03); }
.ttg .ttg-gruppe__body { padding: 24px 24px 28px; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.ttg .ttg-gruppe__body .label { margin-bottom: 10px; }
.ttg .ttg-gruppe__titel { font-family: var(--font-head); font-weight: 800; font-size: 22px; line-height: 1.25; color: var(--text); margin-bottom: 16px; text-wrap: balance; }
.ttg .ttg-gruppe__body > .platzhalter { margin-bottom: 20px; width: 100%; }
.ttg .ttg-gruppe__fakten { display: grid; gap: 10px; width: 100%; margin-bottom: 22px; padding-top: 18px; border-top: 1px solid var(--linie); }
.ttg .ttg-gruppe__fakten > div { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 10px; align-items: baseline; }
.ttg .ttg-gruppe__fakten dt { font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--nebel); }
.ttg .ttg-gruppe__fakten dd { font-family: var(--font-head); font-weight: 700; font-size: 16px; color: var(--text); }
.ttg .ttg-gruppe .textlink { margin-top: auto; }
@media (min-width: 600px) { .ttg .ttg-gruppe__body { padding: 28px 32px 32px; } }
@media (min-width: 900px) {
  .ttg .ttg-gruppen__kopf { margin-bottom: 40px; }
  .ttg .ttg-gruppen__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .ttg .ttg-gruppe__titel { font-size: 24px; }
}
@media (min-width: 1600px) { .ttg .ttg-gruppe__titel { font-size: 26px; } .ttg .ttg-gruppe__body { padding: 32px 40px 36px; } }
@media (prefers-reduced-motion: reduce) { .ttg .ttg-gruppe__media img { transition: none; } .ttg .ttg-gruppe:hover .ttg-gruppe__media img { transform: none; } }

.ttg .ttg-verein { padding-block: 0 var(--sektion); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .ttg-verein__karte { overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr); }
.ttg .ttg-verein__text { padding: 28px 24px 32px; }
.ttg .ttg-verein__absatz, .ttg .ttg-jubi__absatz, .ttg .ttg-gruppe__text { margin-bottom: 8px; }
.ttg .ttg-verein__fakten { display: grid; gap: 12px; margin: 26px 0 28px; padding-top: 22px; border-top: 1px solid var(--linie); }
.ttg .ttg-verein__fakten > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; align-items: baseline; }
.ttg .ttg-verein__fakten dt { font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--nebel); }
.ttg .ttg-verein__fakten dd { font-family: var(--font-head); font-weight: 700; font-size: 17px; color: var(--text); }
.ttg .ttg-verein__historie { background: var(--sand); padding: 26px 24px 30px; }
.ttg .ttg-verein__historie .label { color: var(--bordeaux); margin-bottom: 18px; }
.ttg .zeitstrahl { position: relative; padding-left: 26px; display: grid; gap: 20px; }
.ttg .zeitstrahl::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 2px; background: var(--linie); border-radius: 2px; }
.ttg .zeitstrahl__station { position: relative; display: grid; gap: 2px; }
.ttg .zeitstrahl__station::before { content: ""; position: absolute; left: -26px; top: 7px; width: 16px; height: 16px; border-radius: 50%; background: var(--weiss); border: 4px solid var(--rot); box-sizing: border-box; }
.ttg .zeitstrahl__station--jubi::before { background: var(--rot); border-color: var(--bordeaux); }
.ttg .zeitstrahl__jahr { font-family: var(--font-head); font-weight: 800; font-size: 26px; line-height: 1.1; color: var(--rot); letter-spacing: -.01em; }
.ttg .zeitstrahl__titel { font-family: var(--font-head); font-weight: 700; font-size: 16px; line-height: 1.35; color: var(--text); }
.ttg .zeitstrahl__body p { margin-top: 6px; font-size: 15px; color: var(--nebel); }
.ttg .folgt { color: var(--nebel); font-weight: 600; font-style: italic; }
@media (min-width: 600px) { .ttg .ttg-verein__text { padding: 36px 32px 40px; } .ttg .ttg-verein__historie { padding: 30px 32px 34px; } }
@media (min-width: 900px) {
  .ttg .ttg-verein__karte { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .ttg .ttg-verein__text { padding: 48px; }
  .ttg .ttg-verein__historie { padding: 48px 40px; display: flex; flex-direction: column; justify-content: center; }
  .ttg .zeitstrahl { gap: 24px; }
  .ttg .zeitstrahl__jahr { font-size: 28px; }
}
@media (min-width: 1200px) { .ttg .ttg-verein__text { padding: 56px 56px 56px 64px; } .ttg .ttg-verein__historie { padding: 56px 56px; } }
@media (max-width: 599.98px) {
  .ttg .ttg-verein__fakten > div, .ttg .ttg-jubi__fakten > div { grid-template-columns: 88px minmax(0, 1fr); gap: 10px; }
  .ttg .ttg-verein__fakten dd, .ttg .ttg-jubi__fakten dd, .ttg .ttg-gruppe__fakten dd { font-size: 16px; overflow-wrap: anywhere; }
}
@media (max-width: 599.98px) { .ttg .ttg-balken__motto { display: none; } }
.ttg .ttg-gruppe__fakten dd { font-size: 15.5px; line-height: 1.4; }

.ttg .btn--tel { background: transparent; color: var(--rot); border-color: var(--rot); }
.ttg .btn--tel:hover { background: rgba(220, 32, 40, .08); }
.ttg .btn__icon { width: 18px; height: 18px; }

.ttg .ttg-termine { padding-block: 0 var(--sektion); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .ttg-termine__kopf { margin-bottom: 28px; }
.ttg .termin { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
.ttg .termin__datum { background: var(--bordeaux); color: var(--weiss); padding: 22px 24px; display: flex; flex-direction: row; align-items: baseline; gap: 12px; }
.ttg .termin__tag { font-family: var(--font-head); font-weight: 800; font-size: 34px; line-height: 1; letter-spacing: -.01em; }
.ttg .termin__monat { font-family: var(--font-head); font-weight: 700; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; }
.ttg .termin__body { padding: 24px 24px 28px; }
.ttg .termin__body .label { margin-bottom: 10px; }
.ttg .termin__titel { font-family: var(--font-head); font-weight: 800; font-size: 22px; line-height: 1.25; color: var(--text); margin-bottom: 12px; text-wrap: balance; }
.ttg .termin__ort { display: flex; align-items: center; gap: 8px; font-family: var(--font-head); font-weight: 700; font-size: 15px; color: var(--bordeaux); margin-bottom: 16px; }
.ttg .termin__ort svg { width: 18px; height: 18px; flex: none; }
.ttg .termin__text { margin-bottom: 18px; max-width: 680px; }
.ttg .ttg-termine__fuss { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 28px; color: var(--weiss); }
.ttg .ttg-termine__hinweis { max-width: 620px; font-size: 16px; }
@media (min-width: 600px) { .ttg .termin__body { padding: 28px 32px 32px; } .ttg .termin__datum { padding: 26px 28px; } }
@media (min-width: 900px) {
  .ttg .ttg-termine__kopf { margin-bottom: 36px; }
  .ttg .termin { grid-template-columns: 200px minmax(0, 1fr); }
  .ttg .termin__datum { flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; padding: 32px 28px; }
  .ttg .termin__tag { font-size: 44px; }
  .ttg .termin__body { padding: 36px 40px 40px; }
  .ttg .termin__titel { font-size: 26px; }
  .ttg .ttg-termine__fuss { flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; margin-top: 32px; }
}
@media (min-width: 1200px) { .ttg .termin { grid-template-columns: 240px minmax(0, 1fr); } .ttg .termin__body { padding: 44px 56px 48px; } }

.ttg .ttg-mittanzen { padding-block: 0 var(--sektion); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .ttg-mittanzen__karte { overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr); }
.ttg .ttg-mittanzen__text { padding: 28px 24px 32px; }
.ttg .ttg-mittanzen__absatz { margin-bottom: 26px; }
.ttg .ttg-mittanzen__actions { display: flex; flex-wrap: wrap; gap: 14px; }
@media (min-width: 600px) { .ttg .ttg-mittanzen__text { padding: 36px 32px 40px; } }
@media (min-width: 900px) {
  .ttg .ttg-mittanzen__karte { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .ttg .ttg-mittanzen__text { padding: 48px; }
    .ttg .tanzpaar { width: min(100%, 340px); }
}
@media (min-width: 1200px) { .ttg .ttg-mittanzen__text { padding: 56px 56px 56px 64px; } }
@media (max-width: 599.98px) { .ttg .btn { white-space: normal; text-align: center; max-width: 100%; padding-inline: 20px; line-height: 1.25; padding-block: 12px; } }

.ttg .ttg-mittanzen__info { background: var(--sand); padding: 28px 24px 32px; display: flex; flex-direction: column; justify-content: center; }
.ttg .ttg-mittanzen__info .label { color: var(--bordeaux); margin-bottom: 16px; }
.ttg .ttg-mittanzen__fakten { display: grid; gap: 18px; }
.ttg .ttg-mittanzen__fakten dt { font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--nebel); margin-bottom: 4px; }
.ttg .ttg-mittanzen__fakten dd { font-family: var(--font-head); font-weight: 700; font-size: 18px; line-height: 1.35; color: var(--text); }
@media (min-width: 600px) { .ttg .ttg-mittanzen__info { padding: 36px 32px 40px; } }
@media (min-width: 900px) { .ttg .ttg-mittanzen__info { padding: 48px 40px; } }
@media (min-width: 1200px) { .ttg .ttg-mittanzen__info { padding: 56px; } }

.ttg .ttg-verein__historie { position: relative; overflow: hidden; color: var(--weiss); isolation: isolate; }
.ttg .ttg-verein__historie-bild { position: absolute; inset: 0; z-index: -2; }
.ttg .ttg-verein__historie-bild img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; filter: saturate(.7); }
.ttg .ttg-verein__historie::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(145, 29, 30, .72) 0%, rgba(110, 20, 22, .84) 100%); }
.ttg .ttg-verein__historie .label { color: var(--weiss); opacity: .9; }
.ttg .ttg-verein__historie .zeitstrahl::before { background: rgba(255, 255, 255, .35); }
.ttg .ttg-verein__historie .zeitstrahl__station::before { background: var(--bordeaux); border-color: var(--weiss); }
.ttg .ttg-verein__historie .zeitstrahl__station--jubi::before { background: var(--weiss); border-color: var(--weiss); }
.ttg .ttg-verein__historie .zeitstrahl__jahr { color: var(--weiss); }
.ttg .ttg-verein__historie .zeitstrahl__titel { color: var(--weiss); text-shadow: 0 1px 2px rgba(60, 0, 0, .35); }
.ttg .ttg-verein__historie .zeitstrahl__jahr { text-shadow: 0 1px 3px rgba(60, 0, 0, .35); }
.ttg .ttg-verein__historie .zeitstrahl__body p { color: rgba(255, 255, 255, .85); }
.ttg .ttg-verein__historie .textlink { color: var(--weiss); }
.ttg .ttg-verein__historie .textlink:hover { border-color: var(--weiss); }

.ttg .ttg-intro { display: none; }
.has-intro .ttg .ttg-intro { display: flex; position: fixed; inset: 0; z-index: 100; align-items: flex-end; justify-content: center; padding-bottom: 12vh;
  background-color: var(--rot); background-image: url("../svg/muster-silhouetten.svg"), linear-gradient(180deg, var(--rot) 0%, var(--orange-hell) 100%); background-size: 520px auto, 100% 100%; background-position: -80px 0, 0 0;
  animation: intro-aus .5s ease 2.9s forwards; }
.has-intro .ttg.intro-fertig .ttg-intro { display: none; }
.ttg .ttg-intro__paar { width: min(62vw, 300px); height: auto; color: var(--weiss); fill: currentColor; filter: drop-shadow(0 18px 30px rgba(60, 0, 0, .35)); }
.ttg .tanzpaar__mann, .ttg .tanzpaar__frau { transform-box: view-box; }
.ttg .tanzpaar__mann { transform-origin: 62px 392px; animation: intro-mann-rein .8s cubic-bezier(.2, .8, .3, 1) .1s both, tanz-mann 1.1s ease-in-out .9s 2; }
.ttg .tanzpaar__frau { transform-origin: 246px 394px; animation: intro-frau-rein .8s cubic-bezier(.2, .8, .3, 1) .2s both, tanz-frau 1.1s ease-in-out .9s 2; }
@keyframes intro-mann-rein { from { opacity: 0; transform: translateX(-120px); } to { opacity: 1; transform: none; } }
@keyframes intro-frau-rein { from { opacity: 0; transform: translateX(120px); } to { opacity: 1; transform: none; } }
@keyframes tanz-mann { 0%, 100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-10px) rotate(-3deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-5px) rotate(2deg); } }
@keyframes tanz-frau { 0%, 100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-5px) rotate(2deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-10px) rotate(-3deg); } }
@keyframes intro-aus { to { opacity: 0; visibility: hidden; } }
@media (min-width: 900px) { .ttg .ttg-intro__paar { width: 360px; } }

.ttg .inline-link { color: var(--rot); font-weight: 600; border-bottom: 2px solid rgba(220, 32, 40, .35); transition: border-color .2s ease; }
.ttg .inline-link:hover { border-color: var(--rot); }

.ttg .ttg-sponsoren { padding-block: 0 var(--sektion); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .ttg-sponsoren__kopf { margin-bottom: 28px; }
.ttg .ttg-sponsoren__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ttg .sponsor { background: var(--weiss); border-radius: 12px; box-shadow: var(--schatten); display: flex; align-items: center; justify-content: center; padding: 22px 20px; min-height: 120px; }
.ttg .sponsor img { max-height: 76px; width: auto; max-width: 100%; object-fit: contain; }
.ttg .sponsor--rot { background: var(--rot); }
@media (min-width: 600px) { .ttg .ttg-sponsoren__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } .ttg .sponsor { min-height: 150px; padding: 28px 28px; } .ttg .sponsor img { max-height: 92px; } }
@media (min-width: 900px) { .ttg .ttg-sponsoren__kopf { margin-bottom: 36px; } .ttg .ttg-sponsoren__grid { gap: 24px; } .ttg .sponsor { min-height: 170px; padding: 32px 36px; } .ttg .sponsor img { max-height: 104px; } }
@media (min-width: 1200px) { .ttg .ttg-sponsoren__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; } .ttg .sponsor { min-height: 140px; padding: 24px 22px; } .ttg .sponsor img { max-height: 84px; } }

.ttg .ttg-footer { position: relative; z-index: 1; color: var(--weiss); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .ttg-abbinder { padding: 28px 24px 32px; display: grid; gap: 24px; margin-bottom: -56px; position: relative; z-index: 2; }
.ttg .ttg-abbinder__absatz { font-size: 17px; max-width: 620px; }
.ttg .ttg-abbinder__actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.ttg .ttg-footer__band { background: var(--bordeaux); padding: calc(56px + 48px) 0 0; margin-top: 0; }
.ttg .ttg-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; padding-bottom: 40px; }
.ttg .ttg-logo--footer { height: auto; }
.ttg .ttg-logo--footer .ttg-logo__bild { height: 74px; }
.ttg .ttg-footer__claim { margin-top: 18px; max-width: 360px; font-size: 15.5px; color: rgba(255, 255, 255, .88); }
.ttg .ttg-footer__social { display: flex; gap: 10px; margin-top: 18px; }
.ttg .ttg-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 10px; border: 1.5px solid rgba(255, 255, 255, .45); color: var(--weiss); transition: background-color .2s ease, border-color .2s ease; }
.ttg .ttg-footer__social a:hover { background: rgba(255, 255, 255, .12); border-color: var(--weiss); }
.ttg .ttg-footer__social svg { width: 20px; height: 20px; }
.ttg .ttg-footer__titel { font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .75); margin-bottom: 14px; }
.ttg .ttg-footer__nav ul { display: grid; gap: 8px; }
.ttg .ttg-footer__nav a, .ttg .ttg-footer__kontakt a { font-family: var(--font-head); font-weight: 600; font-size: 15.5px; color: var(--weiss); border-bottom: 2px solid transparent; transition: border-color .2s ease; }
.ttg .ttg-footer__nav a:hover, .ttg .ttg-footer__kontakt a:hover { border-color: rgba(255, 255, 255, .7); }
.ttg .ttg-footer__kontakt address { font-style: normal; display: grid; gap: 6px; font-size: 15.5px; color: rgba(255, 255, 255, .92); }
.ttg .ttg-footer__kontakt .platzhalter { color: rgba(255, 255, 255, .85); border-color: rgba(255, 255, 255, .55); }
.ttg .ttg-footer__jubi-karte { display: flex; flex-direction: column; gap: 12px; max-width: 260px; }
.ttg .ttg-footer__jubi-karte img { width: 100%; height: auto; }
.ttg .ttg-footer__jubi-datum { font-family: var(--font-head); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .9); }
.ttg .ttg-footer__legal { display: flex; flex-direction: column; gap: 10px; padding: 22px var(--gutter) 28px; border-top: 1px solid rgba(255, 255, 255, .18); font-size: 14px; color: rgba(255, 255, 255, .8); }
.ttg .ttg-footer__legal ul { display: flex; gap: 22px; }
.ttg .ttg-footer__legal a { color: var(--weiss); font-weight: 600; border-bottom: 2px solid transparent; }
.ttg .ttg-footer__legal a:hover { border-color: rgba(255, 255, 255, .7); }
@media (min-width: 600px) { .ttg .ttg-abbinder { padding: 36px 32px 40px; } .ttg .ttg-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 32px; } .ttg .ttg-footer__legal { flex-direction: row; justify-content: space-between; align-items: center; } }
@media (min-width: 900px) {
  .ttg .ttg-abbinder { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; padding: 44px 48px; margin-bottom: -64px; }
  .ttg .ttg-abbinder__actions { justify-content: flex-end; }
  .ttg .ttg-footer__band { padding-top: calc(64px + 64px); }
  .ttg .ttg-footer__grid { grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap: 40px; padding-bottom: 56px; }
}
@media (min-width: 1200px) { .ttg .ttg-abbinder { padding: 48px 64px; } }

.ttg .label, .ttg .ttg-countdown__titel, .ttg .ttg-footer__titel, .ttg .ttg-jubi__fakten dt, .ttg .ttg-verein__fakten dt, .ttg .ttg-gruppe__fakten dt, .ttg .ttg-mittanzen__fakten dt, .ttg .zeitstrahl__titel { letter-spacing: 0; }
.ttg .ttg-balken, .ttg .ttg-nav__link, .ttg .ttg-hero__kicker, .ttg .ttg-hero__datum-ort, .ttg .termin__monat, .ttg .ttg-logo__ort, .ttg .ttg-countdown__einheit, .ttg .ttg-footer__jubi-datum { letter-spacing: -.015em; font-weight: 800; }
.ttg .ttg-logo__ort { font-size: 11px; } @media (min-width: 900px) { .ttg .ttg-logo__ort { font-size: 12px; } }
.ttg .ttg-nav__link { font-weight: 800; }
.ttg .h-sektion, .ttg .ttg-gruppe__titel, .ttg .termin__titel, .ttg .zeitstrahl__jahr, .ttg .ttg-countdown__zahl, .ttg .termin__tag, .ttg .ttg-hero__datum-zahl { font-weight: 800; }
.ttg .h-sektion { letter-spacing: -.015em; }
.ttg .btn { font-weight: 700; letter-spacing: 0; }

.ttg .unterhero { padding: 24px 0 40px; color: var(--weiss); }
.ttg .unterhero__inner { display: flex; flex-direction: column; align-items: flex-start; }
.ttg .unterhero__titel { font-family: var(--font-head); font-weight: 800; font-size: clamp(30px, 5vw, 52px); line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; margin-bottom: 20px; max-width: 26ch; }
.ttg .unterhero__intro { font-size: 17px; max-width: 780px; }
@media (min-width: 900px) { .ttg .unterhero { padding: 40px 0 56px; } .ttg .unterhero__intro { font-size: 18px; } }
@media (min-width: 1600px) { .ttg .unterhero__titel { font-size: 60px; } .ttg .unterhero__intro { font-size: 19px; } }
.ttg .ttg-terminliste { padding-block: 0 var(--sektion); display: grid; }
.ttg .ttg-terminliste .container { display: grid; gap: 24px; }
.ttg .termin__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 4px; }
.ttg .termin__lettering { width: 200px; height: auto; transform: rotate(-2.6deg); }
.ttg .termin--gross .termin__titel { font-size: 26px; }
.ttg .termin-leer { padding: 24px; }
.ttg .termin-leer .label { color: var(--nebel); margin-bottom: 8px; }
.ttg .termin-leer__text { color: var(--text); max-width: 680px; }
@media (min-width: 600px) { .ttg .termin-leer { padding: 32px; } }
@media (min-width: 900px) { .ttg .termin--gross .termin__titel { font-size: 32px; } .ttg .termin-leer { padding: 36px 40px; } .ttg .termin__lettering { width: 240px; } }

.ttg .ttg-seite { padding: 8px 0 var(--sektion); }
.ttg .h-seite { font-family: var(--font-head); font-weight: 800; font-size: clamp(28px, 4vw, 44px); line-height: 1.1; letter-spacing: -.02em; color: var(--text); text-wrap: balance; margin-bottom: 20px; }
.ttg .split { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
.ttg .split__bild { position: relative; }
.ttg .split__bild picture, .ttg .split__bild img { display: block; width: 100%; }
.ttg .split__bild img { aspect-ratio: 4 / 3; height: auto; object-fit: cover; object-position: center 40%; }
.ttg .split__text { padding: 28px 24px 32px; }
.ttg .split__text p + p { margin-top: 14px; }
.ttg .split__actions { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 14px; }
.ttg .h-sektion--klein { font-size: clamp(24px, 2.6vw, 32px); }
.ttg .dialekt { font-style: normal; font-weight: 600; color: var(--bordeaux); background: var(--sand); padding: 0 6px; border-radius: 4px; }
.ttg .inline-link { color: var(--rot); font-weight: 600; border-bottom: 2px solid rgba(220, 32, 40, .35); }
@media (min-width: 600px) { .ttg .split__text { padding: 36px 32px 40px; } }
@media (min-width: 900px) {
  .ttg .ttg-seite { padding-top: 24px; }
  .ttg .split { grid-template-columns: 45fr 55fr; align-items: center; }
  .ttg .split__bild { align-self: stretch; min-height: 380px; }
  .ttg .split__bild picture, .ttg .split__bild img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .ttg .split__bild img { aspect-ratio: auto; }
  .ttg .split__text { padding: 48px 48px 48px 44px; }
  .ttg .split--reverse .split__bild { order: 2; }
  .ttg .split--reverse .split__text { padding: 48px 44px 48px 48px; }
}
@media (min-width: 1200px) { .ttg .split__text { padding: 56px 64px 56px 56px; } .ttg .split--reverse .split__text { padding: 56px 56px 56px 64px; } }

.ttg .ttg-geschichte { padding-block: 0 var(--sektion); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .geschichte__karte { padding: 28px 24px 32px; }
.ttg .geschichte__kopf { margin-bottom: 28px; }
.ttg .zeitstrahl--gross { padding-left: 34px; gap: 28px; --fill: 0px; }
.ttg .zeitstrahl--gross::before { left: 9px; top: 12px; bottom: 12px; width: 3px; background: var(--linie); }
.ttg .zeitstrahl--gross::after { content: ""; position: absolute; left: 9px; top: 12px; width: 3px; height: var(--fill); max-height: calc(100% - 24px); background: var(--rot); border-radius: 2px; transition: height .25s ease-out; }
.ttg .zeitstrahl--gross .zeitstrahl__station { gap: 8px; }
.ttg .zeitstrahl--gross .zeitstrahl__station::before { left: -34px; top: 6px; width: 21px; height: 21px; border: 4px solid var(--linie); background: var(--weiss); transition: border-color .3s ease, background-color .3s ease, transform .3s ease; z-index: 1; }
.ttg .zeitstrahl--gross .zeitstrahl__station.is-active::before { border-color: var(--rot); }
.ttg .zeitstrahl--gross .zeitstrahl__station--jubi.is-active::before { background: var(--rot); border-color: var(--bordeaux); transform: scale(1.15); }
.ttg .zeitstrahl--gross .zeitstrahl__titel { display: flex; flex-direction: column; gap: 2px; font-size: 18px; letter-spacing: 0; }
.ttg .zeitstrahl--gross .zeitstrahl__jahr { font-size: 30px; color: var(--nebel); transition: color .3s ease; }
.ttg .zeitstrahl--gross .is-active .zeitstrahl__jahr { color: var(--rot); }
.ttg .zeitstrahl--gross .zeitstrahl__untertitel { font-family: var(--font-head); font-weight: 700; font-size: 18px; color: var(--text); }
.ttg .zeitstrahl--gross .zeitstrahl__text { margin: 0; max-width: 640px; font-size: 16.5px; color: var(--text); }
.ttg .zeitstrahl--gross .zeitstrahl__station { opacity: .55; transition: opacity .35s ease; }
.ttg .zeitstrahl--gross .zeitstrahl__station.is-active { opacity: 1; }
.ttg.no-zeitstrahl .zeitstrahl--gross .zeitstrahl__station, .ttg .zeitstrahl--static .zeitstrahl__station { opacity: 1; }
@media (min-width: 600px) { .ttg .geschichte__karte { padding: 36px 32px 40px; } }
@media (min-width: 900px) {
  .ttg .geschichte__karte { padding: 56px 48px; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 48px; align-items: start; }
  .ttg .geschichte__kopf { position: sticky; top: calc(var(--header-total) + 32px); margin-bottom: 0; }
  .ttg .zeitstrahl--gross { padding-left: 40px; gap: 36px; }
  .ttg .zeitstrahl--gross::before, .ttg .zeitstrahl--gross::after { left: 10px; }
  .ttg .zeitstrahl--gross .zeitstrahl__station::before { left: -40px; width: 23px; height: 23px; }
  .ttg .zeitstrahl--gross .zeitstrahl__jahr { font-size: 36px; }
  .ttg .zeitstrahl--gross .zeitstrahl__untertitel { font-size: 20px; }
  .ttg .zeitstrahl--gross .zeitstrahl__text { font-size: 17px; }
}
@media (min-width: 1200px) { .ttg .geschichte__karte { padding: 64px; gap: 64px; } }

.ttg .ttg-tanzgruppen, .ttg .ttg-tracht, .ttg .ttg-vorstand { padding-block: 0 var(--sektion); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .ttg-tanzgruppen__liste { display: grid; gap: 24px; }
.ttg .vorstand__intro { color: var(--weiss); max-width: 620px; margin-top: 4px; }
.ttg .vorstand { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 28px; }
.ttg .vorstand__karte { padding: 20px 22px; display: flex; flex-direction: column; gap: 4px; border-left: 4px solid var(--rot); border-radius: 12px; }
.ttg .vorstand__name { font-family: var(--font-head); font-weight: 800; font-size: 18px; color: var(--text); }
.ttg .vorstand__rolle { font-family: var(--font-head); font-weight: 600; font-size: 13px; color: var(--nebel); }
@media (min-width: 600px) { .ttg .vorstand { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .ttg .ttg-tanzgruppen__liste { gap: 32px; } }
@media (min-width: 900px) { .ttg .vorstand { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px; } .ttg .vorstand__karte { padding: 24px 26px; } }
@media (min-width: 1200px) { .ttg .vorstand { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.ttg .inline-link--hell { color: var(--weiss); border-color: rgba(255, 255, 255, .5); }
.ttg .inline-link--hell:hover { border-color: var(--weiss); }
.ttg .ttg-kontakt { padding-block: 0 var(--sektion); scroll-margin-top: calc(var(--header-total) + 16px); }
.ttg .ttg-kontakt__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.ttg .ttg-kontakt__formular { padding: 28px 24px 32px; }
.ttg .ttg-kontakt__formular .h-sektion { margin-bottom: 24px; }
.ttg .formular { display: grid; gap: 18px; }
.ttg .formular__zeile { display: grid; gap: 18px; }
.ttg .feld { display: grid; gap: 6px; }
.ttg .feld label { font-family: var(--font-head); font-weight: 700; font-size: 14px; color: var(--text); }
.ttg .feld__pflicht { color: var(--rot); }
.ttg .feld input, .ttg .feld select, .ttg .feld textarea { width: 100%; font: inherit; font-size: 16px; color: var(--text); background: var(--weiss); border: 1.5px solid var(--linie); border-radius: var(--radius-btn); padding: 12px 14px; height: auto !important; line-height: 1.4 !important; transition: border-color .2s ease, box-shadow .2s ease; }
.ttg .feld select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5l4 4 4-4' fill='none' stroke='%231C1C1C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 12px; padding-right: 40px; }
.ttg .feld textarea { resize: vertical; min-height: 150px; }
.ttg .feld input:focus, .ttg .feld select:focus, .ttg .feld textarea:focus { outline: none; border-color: var(--rot); box-shadow: 0 0 0 3px rgba(220, 32, 40, .15); }
.ttg .feld.is-fehler input, .ttg .feld.is-fehler textarea { border-color: var(--rot); }
.ttg .feld--check { grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 12px; }
.ttg .feld--check input { width: 22px; height: 22px !important; margin-top: 2px; accent-color: var(--rot); padding: 0; }
.ttg .feld--check label { font-family: var(--font-body); font-weight: 400; font-size: 15px; line-height: 1.5; color: var(--text); }
.ttg .feld--honig { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ttg .formular__hinweis { padding: 12px 16px; border-radius: var(--radius-btn); background: var(--sand); border-left: 4px solid var(--rot); font-size: 15px; }
.ttg .formular__actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.ttg .formular__pflicht { font-size: 13px; color: var(--nebel); }
.ttg .formular__erfolg { display: grid; gap: 10px; }
.ttg .ttg-kontakt__daten { display: grid; gap: 16px; }
.ttg .kontakt-kachel { padding: 22px 24px; display: grid; gap: 6px; }
.ttg .kontakt-kachel .label { margin-bottom: 4px; }
.ttg .kontakt-kachel__wert { font-family: var(--font-head); font-weight: 800; font-size: 24px; color: var(--text); line-height: 1.2; overflow-wrap: anywhere; }
.ttg .kontakt-kachel__wert--klein { font-size: 18px; }
.ttg a.kontakt-kachel__wert:hover { color: var(--rot); }
.ttg .kontakt-kachel__text { font-size: 15px; color: var(--nebel); }
.ttg .kontakt-kachel__adresse { font-style: normal; display: grid; gap: 2px; font-family: var(--font-head); font-weight: 600; font-size: 16px; color: var(--text); }
.ttg .karte-embed { margin-top: 12px; border-radius: var(--radius-btn); overflow: hidden; background: var(--sand); }
.ttg .karte-embed iframe { display: block; width: 100%; aspect-ratio: 4 / 3; border: 0; }
.ttg .ttg-kontakt__social a { border-color: rgba(220, 32, 40, .5); color: var(--rot); }
.ttg .ttg-kontakt__social a:hover { background: rgba(220, 32, 40, .08); border-color: var(--rot); }
@media (min-width: 600px) { .ttg .formular__zeile--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ttg .ttg-kontakt__formular { padding: 36px 32px 40px; } .ttg .ttg-kontakt__daten { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ttg .kontakt-kachel--karte, .ttg .ttg-kontakt__social { grid-column: 1 / -1; } }
@media (min-width: 900px) { .ttg .ttg-kontakt__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; } .ttg .ttg-kontakt__formular { padding: 48px; } .ttg .ttg-kontakt__daten { grid-template-columns: minmax(0, 1fr); } .ttg .kontakt-kachel--karte, .ttg .ttg-kontakt__social { grid-column: auto; } }
@media (min-width: 1200px) { .ttg .ttg-kontakt__formular { padding: 56px 64px; } }
.ttg .formular__erfolg[hidden], .ttg .formular[hidden], .ttg .formular__hinweis[hidden] { display: none; }
.ttg .karte-embed__link { margin: 12px 0 4px; }
.ttg .ttg-countdown--termin { margin: 20px 0 22px; text-align: left; }
.ttg .ttg-countdown--termin .ttg-countdown__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 520px; }
.ttg .ttg-countdown--termin .ttg-countdown__zahl { font-size: clamp(26px, 6vw, 40px); }
.ttg .ttg-countdown--termin .ttg-countdown__einheit { font-size: 10px; letter-spacing: 0; }
@media (max-width: 599.98px) { .ttg .ttg-countdown--termin .ttg-countdown__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
