/* TMT-Media production stylesheet — Stage 28.0 */

/* Source owner: tmt-clean-foundation.css */
/* TMT clean foundation: tokens, global geometry and section rhythm. */
/* TMT Design System - Shared design tokens for TMT Core */

:root{
  /* Geometry */
  --tmt-radius:12px;
  --tmt-radius-small:8px;
  --tmt-radius-xs:6px;

  /* Spacing */
  --tmt-space:35px;
  --tmt-container:1200px;
  --tmt-gallery-gap:14px;

  /* Motion */
  --tmt-hover-lift:5px;
  --tmt-transition:320ms cubic-bezier(.22,.61,.36,1);
  --tmt-transition-fast:180ms cubic-bezier(.22,.61,.36,1);

  /* Shadows */
  --tmt-shadow:0 10px 30px rgba(0,0,0,.08);
  --tmt-shadow-hover:0 18px 46px rgba(0,0,0,.22);
  --tmt-shadow-dark:0 14px 36px rgba(0,0,0,.38);
  --tmt-shadow-dark-hover:0 22px 56px rgba(0,0,0,.58);

  /* Lightbox */
  --tmt-lightbox-bg:rgba(0,0,0,.78);
  --tmt-lightbox-z:99999;
}

html[data-tmt-theme="dark"]{
  --tmt-shadow:var(--tmt-shadow-dark);
  --tmt-shadow-hover:var(--tmt-shadow-dark-hover);
}

/* Hover System */
:root{
  --tmt-card-transform:translateY(0);
  --tmt-card-transform-hover:translateY(calc(-1 * var(--tmt-hover-lift, 5px)));
}

/* Hover System 
   Hover shadow must feel closer/deeper than normal shadow. */
:root{
  --tmt-shadow:0 10px 30px rgba(0,0,0,.08);
  --tmt-shadow-hover:0 18px 46px rgba(0,0,0,.22);
}
html[data-tmt-theme="dark"]{
  --tmt-shadow:0 14px 36px rgba(0,0,0,.38);
  --tmt-shadow-hover:0 22px 56px rgba(0,0,0,.58);
}

/* TMT Anthracite Buttons */
:root{
  --tmt-btn-dark:linear-gradient(180deg,#1f1f1f 0%,#191919 48%,#131313 100%);
  --tmt-btn-dark-hover:linear-gradient(180deg,#2a2a2a 0%,#202020 48%,#181818 100%);
  --tmt-btn-light:linear-gradient(180deg,#ffffff 0%,#f4f2ee 48%,#e5e2dc 100%);
  --tmt-btn-light-hover:linear-gradient(180deg,#ffffff 0%,#faf8f4 48%,#efece6 100%);
  --tmt-btn-dark-text:#f7f3ea;
  --tmt-btn-light-text:#2b2d30;
  --tmt-btn-border-dark:rgba(255,255,255,.10);
  --tmt-btn-border-light:rgba(0,0,0,.12);
  --tmt-modal-dark:linear-gradient(180deg,#1f1f1f 0%,#191919 48%,#131313 100%);
  --tmt-modal-card-dark:linear-gradient(180deg,#242424 0%,#1c1c1c 100%);
}

.tmt-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--tmt-btn-border-light);
  border-radius:var(--tmt-radius-xs,6px);
  background:var(--tmt-btn-dark);
  color:var(--tmt-btn-dark-text) !important;
  -webkit-text-fill-color:var(--tmt-btn-dark-text) !important;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  text-decoration:none !important;
  transition:transform var(--tmt-transition-fast),box-shadow var(--tmt-transition-fast),background var(--tmt-transition-fast),color var(--tmt-transition-fast);
}
.tmt-button *,
.tmt-button:hover *,
.tmt-button:focus-visible *{
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  text-decoration:none !important;
}
.tmt-button:hover,
.tmt-button:focus-visible{
  transform:translateY(-1px);
  background:var(--tmt-btn-light-hover);
  color:var(--tmt-btn-light-text) !important;
  -webkit-text-fill-color:var(--tmt-btn-light-text) !important;
  box-shadow:0 6px 15px rgba(0,0,0,.16);
  text-decoration:none !important;
}
html[data-tmt-theme="dark"] .tmt-button,
html:not([data-tmt-theme]) .tmt-button{
  border-color:var(--tmt-btn-border-dark);
  background:var(--tmt-btn-light);
  color:var(--tmt-btn-light-text) !important;
  -webkit-text-fill-color:var(--tmt-btn-light-text) !important;
}
html[data-tmt-theme="dark"] .tmt-button:hover,
html[data-tmt-theme="dark"] .tmt-button:focus-visible,
html:not([data-tmt-theme]) .tmt-button:hover,
html:not([data-tmt-theme]) .tmt-button:focus-visible{
  background:var(--tmt-btn-dark-hover);
  color:var(--tmt-btn-dark-text) !important;
  -webkit-text-fill-color:var(--tmt-btn-dark-text) !important;
}


/* Accessible text that remains available to assistive technology. */
.tmt-screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Main site structure */
.site-content,
#content,
#primary,
#main,
.site-main,
.entry-content{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  float:none !important;
  box-sizing:border-box !important;
}

/* Theme/container classes */
.tmt-container,
.tmt-container,
.site-content .container,
.entry-content .container,
.tmt-content-group .container,
.container{
  width:min(1200px,92%) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* TMT alignment wrappers */
.entry-content > .tmt-content-group,
.entry-content > section,
.tmt-site-blocks > .tmt-content-group{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Shared page-section width: follows the approved Team page container. */
body.tmt-static-site .entry-content > section:not(.tmt-hero) > .container{
  width:min(var(--tmt-container,1200px),92%) !important;
  max-width:var(--tmt-container,1200px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Prevent accidental theme/sidebar column offsets on static pages */
body.page #primary,
body.page .content-area,
body.page .site-main{
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Language-specific reinforcement */
body.lang-zh .site-content,
body.lang-de .site-content,
html.zh .site-content,
html.de .site-content,
body.lang-zh .entry-content,
body.lang-de .entry-content,
html.zh .entry-content,
html.de .entry-content{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:initial;
}

/* Keep section content centered, but do not center all text */
body.lang-zh .section > .container,
body.lang-de .section > .container,
html.zh .section > .container,
html.de .section > .container,
body.lang-zh #about > .container,
body.lang-de #about > .container,
body.lang-zh #services > .container,
body.lang-de #services > .container,
body.lang-zh #portfolio > .container,
body.lang-de #portfolio > .container{
  width:min(1200px,92%) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Mobile safety */
@media (max-width:768px){
  .tmt-container,
  .tmt-container,
  .site-content .container,
  .entry-content .container,
  .tmt-content-group .container,
  .container{
    width:min(100%,92%) !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.page #primary,
  body.page .content-area,
  body.page .site-main,
  .entry-content{
    overflow-x:hidden !important;
  }
}

/* TMT Responsive Overflow Fix — revised */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

#page,
#main,
.site-main,
.entry-content{
  max-width:100%;
  overflow-x:hidden;
}

.tl-hero-slider,
.tl-hero-slider.is-fullbleed{
  width:100vw;
  max-width:100vw;
  overflow:hidden;
}

#cc-banner,
.cc-banner{
  max-width:100vw;
  box-sizing:border-box;
  left:0;
  right:0;
}

#tmt-theme-toggle,
.tmt-theme-toggle{
  position:fixed;
  right:16px;
  max-width:calc(100vw - 32px);
  box-sizing:border-box;
}
/* Section rhythm */
:root{
  --tmt-section-space:clamp(42px,4.2vw,64px);
}

.entry-content > :where(.section,.feature-section,#about,#services,#portfolio,#tmt-single-player,#tmt-dual-player),
.site-main > :where(.section,.feature-section,#about,#services,#portfolio,#tmt-single-player,#tmt-dual-player){
  padding-top:var(--tmt-section-space) !important;
  padding-bottom:var(--tmt-section-space) !important;
}

.entry-content > :where(.section,.feature-section,#about,#services,#portfolio,#tmt-single-player,#tmt-dual-player)
+ :where(.section,.feature-section,#about,#services,#portfolio,#tmt-single-player,#tmt-dual-player),
.site-main > :where(.section,.feature-section,#about,#services,#portfolio,#tmt-single-player,#tmt-dual-player)
+ :where(.section,.feature-section,#about,#services,#portfolio,#tmt-single-player,#tmt-dual-player){
  padding-top:0 !important;
}

@media (max-width:700px){
  :root{
    --tmt-section-space:clamp(30px,8vw,42px);
  }
}

html { scroll-behavior: smooth; }
.site { min-height: 100vh; display: flex; flex-direction: column; }
.site-content { flex: 1 0 auto; }
.has-text-align-center { text-align: center; }
.has-small-font-size { font-size: .875rem; }

/* Source owner: tmt-clean-theme.css */
/* TMT checkpoint: services ownership cleanup verified - theme contains no About or service component selectors */
/* TMT Framework - Component: Theme / Dark-Light Mode */

/* TMT Theme CSS - Split from tmt-additional.min.css. */

/* TMT light/dark theme system + 3D Sun/Moon switch */

/* Light baseline. These variables intentionally separate text and accent. */
:root,
html[data-tmt-theme="light"]{
  color-scheme:light;
  --tmt-bg:#ffffff;
  --tmt-bg-soft:#f9f9f9;
  --tmt-text:#1f2937;
  --tmt-text-strong:#0f172a;
  --tmt-muted:#6b7280;
  --tmt-border:rgba(0,0,0,.08);
  --tmt-shadow:0 10px 30px rgba(0,0,0,.08);
  --tmt-shadow-hover:0 10px 24px rgba(0,0,0,.14);
  --tmt-panel-a:#F4F5F7;
  --tmt-panel-b:#E8EAED;
  --tmt-panel-grad:linear-gradient(135deg,var(--tmt-panel-a) 30%,var(--tmt-panel-b) 70%);
  --tmt-card-text:#1f2937;
  --tmt-card-muted:#4b5563;
  --tmt-link:#111827;
  --tmt-link-hover:#000000;
  --tmt-accent:#000000;

  --text:var(--tmt-text);
  --muted:var(--tmt-muted);
  --border:#e5e7eb;
  --section-bg:var(--tmt-bg-soft);
  --panel:var(--tmt-bg-soft);
  --accent:var(--tmt-accent);
}

/* Dark mode is activated by JS and follows system until user clicks toggle. */
html[data-tmt-theme="dark"]{
  color-scheme:dark;
  --tmt-bg:#0f1115;
  --tmt-bg-soft:#141821;
  --tmt-text:#e7eaf0;
  --tmt-text-strong:#ffffff;
  --tmt-muted:#a8b0bd;
  --tmt-border:rgba(255,255,255,.12);
  --tmt-shadow:0 10px 30px rgba(0,0,0,.38);
  --tmt-shadow-hover:0 14px 30px rgba(0,0,0,.55);
  --tmt-panel-a:#1a1f2a;
  --tmt-panel-b:#11151d;
  --tmt-panel-grad:linear-gradient(135deg,var(--tmt-panel-a) 30%,var(--tmt-panel-b) 70%);
  --tmt-card-text:#e7eaf0;
  --tmt-card-muted:#c1c7d0;
  --tmt-link:#ffffff;
  --tmt-link-hover:#dbeafe;
  --tmt-accent:#ffffff;

  --text:var(--tmt-text);
  --muted:var(--tmt-muted);
  --border:rgba(255,255,255,.14);
  --section-bg:var(--tmt-bg-soft);
  --panel:var(--tmt-bg-soft);
  --accent:var(--tmt-accent);
}

html[data-tmt-theme] body{
  background:var(--tmt-bg) !important;
  color:var(--tmt-text) !important;
}

html[data-tmt-theme] .section,
html[data-tmt-theme] .site-main,
html[data-tmt-theme] .entry-content{
  background:var(--section-bg) !important;
  color:var(--tmt-text) !important;
}

html[data-tmt-theme] .site a,
html[data-tmt-theme] .entry-content a,
html[data-tmt-theme] .tmt-site-footer a,
html[data-tmt-theme] #tmt-header a{
  color:var(--tmt-link);
}

html[data-tmt-theme] .site a:hover,
html[data-tmt-theme] .entry-content a:hover,
html[data-tmt-theme] .tmt-site-footer a:hover,
html[data-tmt-theme] #tmt-header a:hover{
  color:var(--tmt-link-hover);
}

/* TMT card surface cleanup placeholder */

/* Card surface styling is handled by the later light/dark mode
   blocks below. This placeholder replaces an old malformed
   selector list that had no valid declaration block. */

html[data-tmt-theme] #tmtPlaylist .tmt-item[aria-selected="true"],
html[data-tmt-theme] #dualPlaylist .tmt-item[aria-selected="true"],
html[data-tmt-theme] #dualPlaylist .tmt-item.is-active{
  background:linear-gradient(90deg, color-mix(in srgb, var(--tmt-accent) 12%, transparent), transparent) !important;
}

html[data-tmt-theme] #tmtPlaylist .tmt-item[aria-selected="true"]::before,
html[data-tmt-theme] #dualPlaylist .tmt-item[aria-selected="true"]::before,
html[data-tmt-theme] #dualPlaylist .tmt-item.is-active::before{
  background:var(--tmt-accent) !important;
}

html[data-tmt-theme] .site input:not([type=submit]),
html[data-tmt-theme] .site textarea,
html[data-tmt-theme] .site select,
html[data-tmt-theme] .entry-content input:not([type=submit]),
html[data-tmt-theme] .entry-content textarea,
html[data-tmt-theme] .entry-content select{
  background:color-mix(in srgb, var(--tmt-bg) 88%, var(--tmt-text) 12%) !important;
  color:var(--tmt-text) !important;
  border-color:var(--tmt-border) !important;
}

html[data-tmt-theme] .site input::placeholder,
html[data-tmt-theme] .site textarea::placeholder,
html[data-tmt-theme] .entry-content input::placeholder,
html[data-tmt-theme] .entry-content textarea::placeholder{
  color:var(--tmt-muted) !important;
}

/* Dark footer/header surfaces */
html[data-tmt-theme="dark"] .tmt-site-footer,
html[data-tmt-theme="dark"] #tmt-footer,
html[data-tmt-theme="dark"] #tmt-copyright{
  background:#0b0d11 !important;
  color:var(--tmt-text) !important;
}

html[data-tmt-theme="dark"] .site-header,
html[data-tmt-theme="dark"] #tmt-header,
html[data-tmt-theme="dark"] #tmt-header-inner{
  background:#0b0d11 !important;
  color:var(--tmt-text) !important;
}

/* Keep hero overlay and info tooltips readable. */
html[data-tmt-theme] .tl-hero-slider .overlay-title{
  color:#fff !important;
}

/* 3D Sun/Moon switch */
.tmt-theme-toggle{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2147483000;
  width:76px;
  height:40px;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.tmt-theme-toggle__track{
  position:relative;
  display:block;
  width:76px;
  height:40px;
  border-radius:999px;
  background:linear-gradient(180deg,#7ec8ff 0%,#dff4ff 100%);
  box-shadow:
    inset 0 2px 5px rgba(255,255,255,.8),
    inset 0 -4px 8px rgba(0,0,0,.12),
    0 7px 18px rgba(0,0,0,.22);
  overflow:hidden;
  transition:background .35s ease, box-shadow .35s ease;
}

.tmt-theme-toggle__orb{
  position:absolute;
  left:5px;
  top:5px;
  width:30px;
  height:30px;
  border-radius:50%;
  transform:translateX(0);
  transition:transform .38s cubic-bezier(.2,.9,.2,1), box-shadow .35s ease;
  box-shadow:
    0 3px 8px rgba(0,0,0,.28),
    inset -3px -4px 7px rgba(0,0,0,.12),
    inset 3px 3px 6px rgba(255,255,255,.8);
}

.tmt-theme-toggle__sun,
.tmt-theme-toggle__moon{
  position:absolute;
  inset:0;
  border-radius:50%;
  transition:opacity .25s ease, transform .35s ease;
}

.tmt-theme-toggle__sun{
  background:
    radial-gradient(circle at 35% 30%,#fff7ad 0 20%,#ffd95a 45%,#f59e0b 100%);
  opacity:1;
}

.tmt-theme-toggle__sun::before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  background:
    conic-gradient(from 0deg, transparent 0 10deg, rgba(255,216,90,.85) 10deg 20deg, transparent 20deg 45deg);
  filter:blur(.2px);
  opacity:.8;
}

.tmt-theme-toggle__moon{
  background:
    radial-gradient(circle at 35% 30%,#ffffff 0 22%,#dbe5f2 58%,#9aa8bd 100%);
  opacity:0;
  transform:rotate(-25deg) scale(.88);
}

.tmt-theme-toggle__moon::before,
.tmt-theme-toggle__moon::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(120,130,150,.38);
}

.tmt-theme-toggle__moon::before{
  width:7px;
  height:7px;
  left:9px;
  top:8px;
}

.tmt-theme-toggle__moon::after{
  width:5px;
  height:5px;
  right:8px;
  bottom:9px;
}

.tmt-theme-toggle__stars{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .25s ease;
}

.tmt-theme-toggle__stars i{
  position:absolute;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 7px rgba(255,255,255,.9);
}

.tmt-theme-toggle__stars i:nth-child(1){left:18px;top:10px}
.tmt-theme-toggle__stars i:nth-child(2){left:32px;top:26px;width:2px;height:2px}
.tmt-theme-toggle__stars i:nth-child(3){left:55px;top:12px;width:2px;height:2px}

html[data-tmt-theme="dark"] .tmt-theme-toggle__track{
  background:linear-gradient(180deg,#111827 0%,#273449 100%);
  box-shadow:
    inset 0 2px 5px rgba(255,255,255,.08),
    inset 0 -4px 8px rgba(0,0,0,.35),
    0 7px 18px rgba(0,0,0,.45);
}

html[data-tmt-theme="dark"] .tmt-theme-toggle__orb{
  transform:translateX(36px);
}

html[data-tmt-theme="dark"] .tmt-theme-toggle__sun{
  opacity:0;
  transform:rotate(50deg) scale(.8);
}

html[data-tmt-theme="dark"] .tmt-theme-toggle__moon{
  opacity:1;
  transform:rotate(0deg) scale(1);
}

html[data-tmt-theme="dark"] .tmt-theme-toggle__stars{
  opacity:1;
}

.tmt-theme-toggle:focus-visible{
  outline:3px solid color-mix(in srgb, var(--tmt-accent) 60%, transparent);
  outline-offset:4px;
}

@media (max-width:768px){
  .tmt-theme-toggle{
    right:12px;
    bottom:12px;
    transform:scale(.88);
    transform-origin:right bottom;
  }
}

/* TMT safe light-mode visual refinement - Scope: visual only. Does not touch global .container/navigation/layout. */

html[data-tmt-theme="light"]{
  --tmt-bg:#f4f2ee;
  --tmt-bg-soft:#f4f2ee;

  --tmt-panel-a:#e5e6e8;
  --tmt-panel-b:#d9dbde;
  --tmt-panel-grad:linear-gradient(135deg,var(--tmt-panel-a) 30%,var(--tmt-panel-b) 70%);

  --tmt-text:#20242b;
  --tmt-text-strong:#111418;
  --tmt-card-text:#20242b;
  --tmt-card-muted:#515761;

  --tmt-link:#3f4650;
  --tmt-link-hover:#000000;
  --tmt-footer-link:#666d76;
  --tmt-footer-link-hover:#111418;

  --section-bg:var(--tmt-bg-soft);
  --panel:var(--tmt-bg-soft);
}

/* Warm off-white page/section background, not pure white */
html[data-tmt-theme="light"] body,
html[data-tmt-theme="light"] .site-main,
html[data-tmt-theme="light"] .entry-content,
html[data-tmt-theme="light"] .section{
  background:var(--tmt-bg-soft) !important;
}

/* Keep cards grey with shadow */
html[data-tmt-theme="light"] #portfolio .container > .card,
html[data-tmt-theme="light"] #tmt-single-player .card,
html[data-tmt-theme="light"] #tmt-dual-player .card{
  background:var(--tmt-panel-grad) !important;
  color:var(--tmt-card-text) !important;
  border-color:rgba(0,0,0,.08) !important;
}

/* Fix reversed heading/link colors */
html[data-tmt-theme="light"] h2 a,
html[data-tmt-theme="light"] h3 a,
html[data-tmt-theme="light"] .section h2 a,
html[data-tmt-theme="light"] .section h3 a,
html[data-tmt-theme="light"] .card a,
html[data-tmt-theme="light"] #portfolio a{
  color:var(--tmt-link) !important;
  text-decoration:none !important;
  transition:color .2s ease, opacity .2s ease, transform .2s ease;
}

html[data-tmt-theme="light"] h2 a:hover,
html[data-tmt-theme="light"] h3 a:hover,
html[data-tmt-theme="light"] .section h2 a:hover,
html[data-tmt-theme="light"] .section h3 a:hover,
html[data-tmt-theme="light"] .card a:hover,
html[data-tmt-theme="light"] #portfolio a:hover{
  color:var(--tmt-link-hover) !important;
}

/* More links */
html[data-tmt-theme="light"] .more a{
  color:var(--tmt-link) !important;
  text-decoration:none !important;
  font-weight:600;
  transition:color .2s ease, transform .2s ease, opacity .2s ease;
}

html[data-tmt-theme="light"] .more a:hover{
  color:var(--tmt-link-hover) !important;
  opacity:1 !important;
}

/* Footer copyright links: softer default */
html[data-tmt-theme="light"] #tmt-copyright,
html[data-tmt-theme="light"] #tmt-copyright .tmt-copyright-text{
  color:var(--tmt-card-muted) !important;
}

html[data-tmt-theme="light"] #tmt-copyright a,
html[data-tmt-theme="light"] #tmt-copyright .cookie-settings-link{
  color:var(--tmt-footer-link) !important;
  text-decoration:none !important;
  transition:color .2s ease, opacity .2s ease;
}

html[data-tmt-theme="light"] #tmt-copyright a:hover,
html[data-tmt-theme="light"] #tmt-copyright .cookie-settings-link:hover{
  color:var(--tmt-footer-link-hover) !important;
}

/* TMT light mode frame and link polish - Scope: visual only. Keeps layout/container behavior intact. */

html[data-tmt-theme="light"]{
  --tmt-header-footer:#e3e0da;
  --tmt-content-bg:#f4f2ee;
  --tmt-link:#3f4650;
  --tmt-link-hover:#000000;
  --section-bg:var(--tmt-content-bg);
  --panel:var(--tmt-content-bg);
}

/* Center content surface */
html[data-tmt-theme="light"] body,
html[data-tmt-theme="light"] .site-main,
html[data-tmt-theme="light"] .entry-content,
html[data-tmt-theme="light"] .section{
  background:var(--tmt-content-bg) !important;
}

/* Header/footer frame */
html[data-tmt-theme="light"] #tmt-header,
html[data-tmt-theme="light"] .site-header,
html[data-tmt-theme="light"] #tmt-header-inner,
html[data-tmt-theme="light"] .tmt-header-container{
  background:rgba(227,224,218,.92) !important;
}

@supports ((backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px))){
  html[data-tmt-theme="light"] #tmt-header{
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
  }
}

html[data-tmt-theme="light"] #tmt-footer,
html[data-tmt-theme="light"] .tmt-site-footer,
html[data-tmt-theme="light"] #tmt-copyright,
html[data-tmt-theme="light"] .tmt-copyright{
  background:var(--tmt-header-footer) !important;
}

/* Footer/copyright text in white */
html[data-tmt-theme="light"] #tmt-footer,
html[data-tmt-theme="light"] #tmt-footer p,
html[data-tmt-theme="light"] #tmt-footer li,
html[data-tmt-theme="light"] #tmt-copyright,
html[data-tmt-theme="light"] #tmt-copyright .tmt-copyright-text,
html[data-tmt-theme="light"] .tmt-copyright-text{
  color:#fff !important;
}

html[data-tmt-theme="light"] #tmt-footer a,
html[data-tmt-theme="light"] #tmt-copyright a,
html[data-tmt-theme="light"] #tmt-copyright .cookie-settings-link,
html[data-tmt-theme="light"] .tmt-copyright-text a{
  color:#fff !important;
  text-decoration:none !important;
}

/* Reuse TMT underline hover for content links, but not nav/buttons/player controls/toggle */
html[data-tmt-theme="light"] .entry-content a:not(.btn):not(.button):not([role="button"]):not(.lang-flag):not(.tmt-theme-toggle):not(.tmt-control-button):not(.tmt-button):not(.tmt-animated-underline):hover,
html[data-tmt-theme="light"] .card a:not(.btn):not(.button):not([role="button"]):not(.tmt-control-button):not(.tmt-button):not(.tmt-animated-underline):hover,
html[data-tmt-theme="light"] .more a:hover,
html[data-tmt-theme="light"] #portfolio a:hover,
html[data-tmt-theme="light"] #tmt-footer a:hover,
html[data-tmt-theme="light"] #tmt-copyright a:hover,
html[data-tmt-theme="light"] #tmt-copyright .cookie-settings-link:hover{
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:4px !important;
}

/* Explicitly keep navigation and player controls free of underlines */
html[data-tmt-theme="light"] #tmt-header a:hover,
html[data-tmt-theme="light"] .main-navigation a:hover,
html[data-tmt-theme="light"] .tmt-primary-nav a:hover,
html[data-tmt-theme="light"] #tmt-single-player .tmt-transport button:hover,
html[data-tmt-theme="light"] #tmt-dual-player .tmt-transport button:hover,
html[data-tmt-theme="light"] .tmt-theme-toggle:hover{
  text-decoration:none !important;
}

/* Normal content link colors */
html[data-tmt-theme="light"] .entry-content a:not(.btn):not(.button):not([role="button"]):not(.lang-flag):not(.tmt-button),
html[data-tmt-theme="light"] .card a:not(.btn):not(.button):not([role="button"]):not(.tmt-button),
html[data-tmt-theme="light"] .more a,
html[data-tmt-theme="light"] #portfolio a{
  color:var(--tmt-link) !important;
  transition:color .2s ease, opacity .2s ease, transform .2s ease;
}

html[data-tmt-theme="light"] .entry-content a:not(.btn):not(.button):not([role="button"]):not(.lang-flag):not(.tmt-button):hover,
html[data-tmt-theme="light"] .card a:not(.btn):not(.button):not([role="button"]):not(.tmt-control-button):not(.tmt-button):not(.tmt-animated-underline):hover,
html[data-tmt-theme="light"] .more a:hover,
html[data-tmt-theme="light"] #portfolio a:hover{
  color:var(--tmt-link-hover) !important;
}

/* Light-mode header, footer, and dropdowns */

html[data-tmt-theme="light"]{
  /* darker than cards, but still soft */
  --tmt-header-footer:#cfcac1;
  --tmt-header-footer-rgba:rgba(207,202,193,.94);
  --tmt-content-bg:#f4f2ee;
}

/* Header + footer slightly darker than the cards */
html[data-tmt-theme="light"] #tmt-header,
html[data-tmt-theme="light"] .site-header,
html[data-tmt-theme="light"] #tmt-header-inner,
html[data-tmt-theme="light"] .tmt-header-container{
  background:var(--tmt-header-footer-rgba) !important;
}

html[data-tmt-theme="light"] #tmt-footer,
html[data-tmt-theme="light"] .tmt-site-footer,
html[data-tmt-theme="light"] #tmt-copyright,
html[data-tmt-theme="light"] .tmt-copyright{
  background:var(--tmt-header-footer) !important;
}

/* Make sure dropdowns sit above hero/slider/images */
#tmt-header,
#tmt-header-inner,
#tmt-header .tmt-header-container,
.site-header,
.tmt-header-container{
  position:relative !important;
  z-index:999999 !important;
}

#tmt-header .sub-menu,
#tmt-header .children,
#tmt-header .dropdown-menu,
#tmt-header .menu-item:hover > .sub-menu,
#tmt-header .menu-item:focus-within > .sub-menu,
.main-navigation .sub-menu,
.tmt-primary-nav .sub-menu{
  z-index:1000001 !important;
}

.tl-hero-slider,
.tl-hero-slider *,
.hero,
.hero *,
#hero,
#hero *,
.tmt-cover-block,
.tmt-cover-block *,
.tmt-image-block,
.tmt-image-block *{
  z-index:auto;
}

/* Light-mode dropdown stack */

html[data-tmt-theme="light"]{
  /* Same grey family as cards, only slightly darker */
  --tmt-header-footer:#d2d4d6;
  --tmt-header-footer-rgba:rgba(210,212,214,.96);
}

/* Header/footer same tint family as cards */
html[data-tmt-theme="light"] #tmt-header,
html[data-tmt-theme="light"] .site-header,
html[data-tmt-theme="light"] #tmt-header-inner,
html[data-tmt-theme="light"] .tmt-header-container{
  background:var(--tmt-header-footer-rgba) !important;
}

html[data-tmt-theme="light"] #tmt-footer,
html[data-tmt-theme="light"] .tmt-site-footer,
html[data-tmt-theme="light"] #tmt-copyright,
html[data-tmt-theme="light"] .tmt-copyright{
  background:var(--tmt-header-footer) !important;
}

/* Dropdown fix: header must be a high visible stacking context */
#tmt-header,
.site-header{
  position:relative !important;
  z-index:2147480000 !important;
  overflow:visible !important;
  isolation:isolate !important;
}

#tmt-header-inner,
#tmt-header .tmt-header-container,
.site-header .tmt-header-container,
.tmt-header-container,
#tmt-header .tmt-header-row,
#tmt-header .tmt-header-column,
#tmt-header .tmt-header-element,
#tmt-header .site-navigation,
#tmt-header .main-navigation,
#tmt-header .tmt-primary-nav{
  overflow:visible !important;
  z-index:2147480001 !important;
}

/* Dropdown itself */
#tmt-header .sub-menu,
#tmt-header .children,
#tmt-header .dropdown-menu,
#tmt-header .menu-item:hover > .sub-menu,
#tmt-header .menu-item:focus-within > .sub-menu,
.main-navigation .sub-menu,
.tmt-primary-nav .sub-menu{
  position:absolute !important;
  z-index:2147480002 !important;
}

/* Hero/slider should never sit above navigation */
.tl-hero-slider,
.tl-hero-slider .slides,
.tl-hero-slider .slide,
.tl-hero-slider img,
.hero,
#hero,
.tmt-cover-block{
  position:relative;
  z-index:0 !important;
}

/* If the hero overlay has its own z-index, keep it below menu */
.tl-hero-slider *,
.hero *,
#hero *,
.tmt-cover-block *{
  z-index:auto !important;
}

/* Admin bar still wins when logged in */
#wpadminbar{
  z-index:2147483647 !important;
}

/* TMT dark mode charcoal studio pass - Stronger contrast, no navy/blue tint, white menu/text. */

html[data-tmt-theme="dark"]{
  color-scheme:dark;

  --tmt-bg:#050505;
  --tmt-bg-soft:#0a0a0a;

  --tmt-header-footer:#070707;
  --tmt-header-footer-rgba:rgba(7,7,7,.96);

  --tmt-panel-a:#1e1e1e;
  --tmt-panel-b:#171717;
  --tmt-panel-grad:linear-gradient(135deg,var(--tmt-panel-a) 15%,var(--tmt-panel-b) 85%);

  --tmt-text:#f3f3f3;
  --tmt-text-strong:#ffffff;
  --tmt-card-text:#f3f3f3;
  --tmt-card-muted:#d0d0d0;
  --tmt-muted:#d0d0d0;

  --tmt-link:#ffffff;
  --tmt-link-hover:#ffffff;
  --tmt-card-link:#ffffff;
  --tmt-card-link-hover:#ffffff;
  --tmt-accent:#ffffff;

  --tmt-border:rgba(255,255,255,.12);
  --tmt-shadow:0 14px 36px rgba(0,0,0,.58);
  --tmt-shadow-hover:0 18px 46px rgba(0,0,0,.75);

  --text:var(--tmt-text);
  --muted:var(--tmt-muted);
  --border:var(--tmt-border);
  --section-bg:var(--tmt-bg-soft);
  --panel:var(--tmt-bg-soft);
  --accent:var(--tmt-accent);
}

/* Main surfaces: true charcoal/near-black, no blue */
html[data-tmt-theme="dark"],
html[data-tmt-theme="dark"] body,
html[data-tmt-theme="dark"] .site,
html[data-tmt-theme="dark"] .site-content,
html[data-tmt-theme="dark"] #content,
html[data-tmt-theme="dark"] #primary,
html[data-tmt-theme="dark"] #main,
html[data-tmt-theme="dark"] .site-main,
html[data-tmt-theme="dark"] .entry-content,
html[data-tmt-theme="dark"] .section{
  background:var(--tmt-bg-soft) !important;
  color:var(--tmt-text) !important;
}

/* Header/footer frame */
html[data-tmt-theme="dark"] #tmt-header,
html[data-tmt-theme="dark"] .site-header,
html[data-tmt-theme="dark"] #tmt-header-inner,
html[data-tmt-theme="dark"] .tmt-header-container,
html[data-tmt-theme="dark"] #tmt-footer,
html[data-tmt-theme="dark"] .tmt-site-footer,
html[data-tmt-theme="dark"] #tmt-copyright,
html[data-tmt-theme="dark"] .tmt-copyright{
  background:var(--tmt-header-footer) !important;
  color:#ffffff !important;
}

@supports ((backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px))){
  html[data-tmt-theme="dark"] #tmt-header{
    background:var(--tmt-header-footer-rgba) !important;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
  }
}

/* Force header/menu text white */
html[data-tmt-theme="dark"] #tmt-header,
html[data-tmt-theme="dark"] #tmt-header *,
html[data-tmt-theme="dark"] .site-header,
html[data-tmt-theme="dark"] .site-header *,
html[data-tmt-theme="dark"] .main-navigation,
html[data-tmt-theme="dark"] .main-navigation *,
html[data-tmt-theme="dark"] .tmt-primary-nav,
html[data-tmt-theme="dark"] .tmt-primary-nav *,
html[data-tmt-theme="dark"] #tmt-primary-nav,
html[data-tmt-theme="dark"] #tmt-primary-nav *{
  color:#ffffff !important;
}

/* Dropdowns */
html[data-tmt-theme="dark"] #tmt-header .sub-menu,
html[data-tmt-theme="dark"] .main-navigation .sub-menu,
html[data-tmt-theme="dark"] .tmt-primary-nav .sub-menu{
  background:#101010 !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:0 12px 32px rgba(0,0,0,.7) !important;
}

/* Global typography */
html[data-tmt-theme="dark"] h1,
html[data-tmt-theme="dark"] h2,
html[data-tmt-theme="dark"] h3,
html[data-tmt-theme="dark"] h4,
html[data-tmt-theme="dark"] h5,
html[data-tmt-theme="dark"] h6,
html[data-tmt-theme="dark"] p,
html[data-tmt-theme="dark"] li,
html[data-tmt-theme="dark"] span,
html[data-tmt-theme="dark"] figcaption,
html[data-tmt-theme="dark"] label,
html[data-tmt-theme="dark"] strong,
html[data-tmt-theme="dark"] b,
html[data-tmt-theme="dark"] .card{
  color:var(--tmt-text) !important;
}

/* Links white, hover underline */
html[data-tmt-theme="dark"] a,
html[data-tmt-theme="dark"] .entry-content a:not(.tmt-button),
html[data-tmt-theme="dark"] .card a:not(.tmt-button),
html[data-tmt-theme="dark"] .more a,
html[data-tmt-theme="dark"] #portfolio a,
html[data-tmt-theme="dark"] #tmt-footer a,
html[data-tmt-theme="dark"] #tmt-copyright a{
  color:#ffffff !important;
}

html[data-tmt-theme="dark"] .entry-content a:not(.btn):not(.button):not([role="button"]):not(.lang-flag):not(.tmt-theme-toggle):not(.tmt-control-button):not(.tmt-button):not(.tmt-animated-underline):hover,
html[data-tmt-theme="dark"] .card a:not(.btn):not(.button):not([role="button"]):not(.tmt-control-button):not(.tmt-button):not(.tmt-animated-underline):hover,
html[data-tmt-theme="dark"] .more a:hover,
html[data-tmt-theme="dark"] #portfolio a:hover,
html[data-tmt-theme="dark"] #tmt-footer a:hover,
html[data-tmt-theme="dark"] #tmt-copyright a:hover{
  color:#ffffff !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:4px !important;
  opacity:.92;
}

/* Shared link-button contract: interactive controls never inherit content-link underlines. */
html[data-tmt-theme] a:is(.btn, .button, [role="button"], .tmt-control-button, .tmt-button),
html[data-tmt-theme] a:is(.btn, .button, [role="button"], .tmt-control-button, .tmt-button):hover,
html[data-tmt-theme] a:is(.btn, .button, [role="button"], .tmt-control-button, .tmt-button):focus-visible{
  text-decoration:none !important;
}

/* Animated underline links own their underline through a pseudo-element. */
html[data-tmt-theme] a.tmt-animated-underline,
html[data-tmt-theme] a.tmt-animated-underline:hover,
html[data-tmt-theme] a.tmt-animated-underline:focus-visible{
  text-decoration:none !important;
}

/* Cards: brighter charcoal than background for clear contrast */
html[data-tmt-theme="dark"] #portfolio .container > .card,
html[data-tmt-theme="dark"] .team__card,
html[data-tmt-theme="dark"] html[data-tmt-theme="dark"] #tmt-single-player .card,
html[data-tmt-theme="dark"] #tmt-dual-player .card{
  background:var(--tmt-panel-grad) !important;
  border:1px solid var(--tmt-border) !important;
  color:var(--tmt-card-text) !important;
  box-shadow:var(--tmt-shadow) !important;
}

@media (hover:hover){
  html[data-tmt-theme="dark"] #portfolio .container > .card:hover,
  html[data-tmt-theme="dark"] #tmt-single-player .card:hover,
  html[data-tmt-theme="dark"] #tmt-dual-player .card:hover{
    box-shadow:var(--tmt-shadow-hover) !important;
  }
}

/* Header logo white in dark mode */
html[data-tmt-theme="dark"] #tmt-header .tmt-logo img,
html[data-tmt-theme="dark"] #tmt-header .tmt-logo,
html[data-tmt-theme="dark"] .site-header .tmt-logo{
  filter:brightness(0) invert(1) !important;
}

/* Keep flags/social icons untouched */
html[data-tmt-theme="dark"] #tmt-header .lang-flag img,
html[data-tmt-theme="dark"] #tmt-header .menu-item-lang-flag img,
html[data-tmt-theme="dark"] .social-icons img,
html[data-tmt-theme="dark"] .social-icons-de img,
html[data-tmt-theme="dark"] .social-icons-zh img,
html[data-tmt-theme="dark"] .social-icons-en img{
  filter:none !important;
}

/* Footer/copyright */
html[data-tmt-theme="dark"] #tmt-footer,
html[data-tmt-theme="dark"] #tmt-footer *,
html[data-tmt-theme="dark"] .tmt-site-footer,
html[data-tmt-theme="dark"] .tmt-site-footer *,
html[data-tmt-theme="dark"] #tmt-copyright,
html[data-tmt-theme="dark"] #tmt-copyright *,
html[data-tmt-theme="dark"] .tmt-copyright-text,
html[data-tmt-theme="dark"] .tmt-copyright-text *{
  color:#ffffff !important;
}

/* Theme toggle: no blue tint */
html[data-tmt-theme="dark"] .tmt-theme-toggle__track{
  background:linear-gradient(180deg,#0d0d0d 0%,#202020 100%) !important;
}

/* TMT Footer text + submenu hover polish */

/* Light mode footer: force every footer text/link item black */
html[data-tmt-theme="light"] body footer,
html[data-tmt-theme="light"] body footer *,
html[data-tmt-theme="light"] body #tmt-footer,
html[data-tmt-theme="light"] body #tmt-footer *,
html[data-tmt-theme="light"] body .tmt-site-footer,
html[data-tmt-theme="light"] body .tmt-site-footer *,
html[data-tmt-theme="light"] body #tmt-footer,
html[data-tmt-theme="light"] body #tmt-footer *,
html[data-tmt-theme="light"] body #tmt-copyright,
html[data-tmt-theme="light"] body #tmt-copyright *,
html[data-tmt-theme="light"] body .tmt-copyright,
html[data-tmt-theme="light"] body .tmt-copyright *,
html[data-tmt-theme="light"] body .tmt-copyright-text,
html[data-tmt-theme="light"] body .tmt-copyright-text *,
html[data-tmt-theme="light"] body .tmt-footer-stack,
html[data-tmt-theme="light"] body .tmt-footer-stack *,
html[data-tmt-theme="light"] body .tmt-footer-copyright-row,
html[data-tmt-theme="light"] body .tmt-footer-copyright-row *{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
}

html[data-tmt-theme="light"] body footer a,
html[data-tmt-theme="light"] body #tmt-footer a,
html[data-tmt-theme="light"] body .tmt-site-footer a,
html[data-tmt-theme="light"] body #tmt-footer a,
html[data-tmt-theme="light"] body #tmt-copyright a,
html[data-tmt-theme="light"] body .tmt-copyright-text a,
html[data-tmt-theme="light"] body .tmt-footer-copyright-row a,
html[data-tmt-theme="light"] body a.cookie-settings-link,
html[data-tmt-theme="light"] body .cookie-settings-link{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  text-decoration:none !important;
}

html[data-tmt-theme="light"] body footer a:hover,
html[data-tmt-theme="light"] body #tmt-footer a:hover,
html[data-tmt-theme="light"] body .tmt-site-footer a:hover,
html[data-tmt-theme="light"] body #tmt-footer a:hover,
html[data-tmt-theme="light"] body #tmt-copyright a:hover,
html[data-tmt-theme="light"] body .tmt-copyright-text a:hover,
html[data-tmt-theme="light"] body .tmt-footer-copyright-row a:hover,
html[data-tmt-theme="light"] body a.cookie-settings-link:hover,
html[data-tmt-theme="light"] body .cookie-settings-link:hover{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:4px !important;
  opacity:.86;
}

/* Keep footer images normal */
html[data-tmt-theme="light"] body footer img,
html[data-tmt-theme="light"] body .tmt-site-footer img{
  -webkit-text-fill-color:initial !important;
  filter:none !important;
}

/* Dark mode footer: force every footer text/link item white */
html[data-tmt-theme="dark"] body footer,
html[data-tmt-theme="dark"] body footer *,
html[data-tmt-theme="dark"] body #tmt-footer,
html[data-tmt-theme="dark"] body #tmt-footer *,
html[data-tmt-theme="dark"] body .tmt-site-footer,
html[data-tmt-theme="dark"] body .tmt-site-footer *,
html[data-tmt-theme="dark"] body #tmt-footer,
html[data-tmt-theme="dark"] body #tmt-footer *,
html[data-tmt-theme="dark"] body #tmt-copyright,
html[data-tmt-theme="dark"] body #tmt-copyright *,
html[data-tmt-theme="dark"] body .tmt-copyright,
html[data-tmt-theme="dark"] body .tmt-copyright *,
html[data-tmt-theme="dark"] body .tmt-copyright-text,
html[data-tmt-theme="dark"] body .tmt-copyright-text *,
html[data-tmt-theme="dark"] body .tmt-footer-stack,
html[data-tmt-theme="dark"] body .tmt-footer-stack *,
html[data-tmt-theme="dark"] body .tmt-footer-copyright-row,
html[data-tmt-theme="dark"] body .tmt-footer-copyright-row *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

html[data-tmt-theme="dark"] body footer a,
html[data-tmt-theme="dark"] body #tmt-footer a,
html[data-tmt-theme="dark"] body .tmt-site-footer a,
html[data-tmt-theme="dark"] body #tmt-footer a,
html[data-tmt-theme="dark"] body #tmt-copyright a,
html[data-tmt-theme="dark"] body .tmt-copyright-text a,
html[data-tmt-theme="dark"] body .tmt-footer-copyright-row a,
html[data-tmt-theme="dark"] body a.cookie-settings-link,
html[data-tmt-theme="dark"] body .cookie-settings-link{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:none !important;
}

html[data-tmt-theme="dark"] body footer a:hover,
html[data-tmt-theme="dark"] body #tmt-footer a:hover,
html[data-tmt-theme="dark"] body .tmt-site-footer a:hover,
html[data-tmt-theme="dark"] body #tmt-footer a:hover,
html[data-tmt-theme="dark"] body #tmt-copyright a:hover,
html[data-tmt-theme="dark"] body .tmt-copyright-text a:hover,
html[data-tmt-theme="dark"] body .tmt-footer-copyright-row a:hover,
html[data-tmt-theme="dark"] body a.cookie-settings-link:hover,
html[data-tmt-theme="dark"] body .cookie-settings-link:hover{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:4px !important;
  opacity:.92;
}

/* Submenu/dropdown: remove hover overlay/background, keep underline only */
html[data-tmt-theme] #tmt-header .sub-menu a,
html[data-tmt-theme] #tmt-header .children a,
html[data-tmt-theme] #tmt-header .dropdown-menu a,
html[data-tmt-theme] .main-navigation .sub-menu a,
html[data-tmt-theme] .tmt-primary-nav .sub-menu a{
  background:transparent !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

html[data-tmt-theme] #tmt-header .sub-menu a::before,
html[data-tmt-theme] #tmt-header .sub-menu a::after,
html[data-tmt-theme] #tmt-header .children a::before,
html[data-tmt-theme] #tmt-header .children a::after,
html[data-tmt-theme] #tmt-header .dropdown-menu a::before,
html[data-tmt-theme] #tmt-header .dropdown-menu a::after,
html[data-tmt-theme] .main-navigation .sub-menu a::before,
html[data-tmt-theme] .main-navigation .sub-menu a::after,
html[data-tmt-theme] .tmt-primary-nav .sub-menu a::before,
html[data-tmt-theme] .tmt-primary-nav .sub-menu a::after{
  display:none !important;
  content:none !important;
  background:transparent !important;
  box-shadow:none !important;
}

html[data-tmt-theme="light"] #tmt-header .sub-menu a,
html[data-tmt-theme="light"] #tmt-header .children a,
html[data-tmt-theme="light"] #tmt-header .dropdown-menu a,
html[data-tmt-theme="light"] .main-navigation .sub-menu a,
html[data-tmt-theme="light"] .tmt-primary-nav .sub-menu a{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
}

html[data-tmt-theme="dark"] #tmt-header .sub-menu a,
html[data-tmt-theme="dark"] #tmt-header .children a,
html[data-tmt-theme="dark"] #tmt-header .dropdown-menu a,
html[data-tmt-theme="dark"] .main-navigation .sub-menu a,
html[data-tmt-theme="dark"] .tmt-primary-nav .sub-menu a{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

html[data-tmt-theme="light"] #tmt-header .sub-menu a:hover,
html[data-tmt-theme="light"] #tmt-header .sub-menu a:focus-visible,
html[data-tmt-theme="light"] #tmt-header .children a:hover,
html[data-tmt-theme="light"] #tmt-header .children a:focus-visible,
html[data-tmt-theme="light"] #tmt-header .dropdown-menu a:hover,
html[data-tmt-theme="light"] #tmt-header .dropdown-menu a:focus-visible,
html[data-tmt-theme="light"] .main-navigation .sub-menu a:hover,
html[data-tmt-theme="light"] .main-navigation .sub-menu a:focus-visible,
html[data-tmt-theme="light"] .tmt-primary-nav .sub-menu a:hover,
html[data-tmt-theme="light"] .tmt-primary-nav .sub-menu a:focus-visible{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:4px !important;
}

html[data-tmt-theme="dark"] #tmt-header .sub-menu a:hover,
html[data-tmt-theme="dark"] #tmt-header .sub-menu a:focus-visible,
html[data-tmt-theme="dark"] #tmt-header .children a:hover,
html[data-tmt-theme="dark"] #tmt-header .children a:focus-visible,
html[data-tmt-theme="dark"] #tmt-header .dropdown-menu a:hover,
html[data-tmt-theme="dark"] #tmt-header .dropdown-menu a:focus-visible,
html[data-tmt-theme="dark"] .main-navigation .sub-menu a:hover,
html[data-tmt-theme="dark"] .main-navigation .sub-menu a:focus-visible,
html[data-tmt-theme="dark"] .tmt-primary-nav .sub-menu a:hover,
html[data-tmt-theme="dark"] .tmt-primary-nav .sub-menu a:focus-visible{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:transparent !important;
  box-shadow:none !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:4px !important;
}

/* TMT - Logo theme polish */

/* Header logo black in light mode */
html[data-tmt-theme="light"] #tmt-header .tmt-logo img,
html[data-tmt-theme="light"] #tmt-header .tmt-logo,
html[data-tmt-theme="light"] .site-header .tmt-logo{
  filter:brightness(0) invert(0) !important;
}

/* Header logo white in dark mode */
html[data-tmt-theme="dark"] #tmt-header .tmt-logo img,
html[data-tmt-theme="dark"] #tmt-header .tmt-logo,
html[data-tmt-theme="dark"] .site-header .tmt-logo{
  filter:brightness(0) invert(1) !important;
}

/* Do not invert language flags/social icons */
html[data-tmt-theme="light"] #tmt-header .lang-flag img,
html[data-tmt-theme="light"] #tmt-header .menu-item-lang-flag img,
html[data-tmt-theme="dark"] #tmt-header .lang-flag img,
html[data-tmt-theme="dark"] #tmt-header .menu-item-lang-flag img,
html[data-tmt-theme="light"] .social-icons img,
html[data-tmt-theme="dark"] .social-icons img,
html[data-tmt-theme="light"] .social-icons-de img,
html[data-tmt-theme="dark"] .social-icons-de img,
html[data-tmt-theme="light"] .social-icons-zh img,
html[data-tmt-theme="dark"] .social-icons-zh img,
html[data-tmt-theme="light"] .social-icons-en img,
html[data-tmt-theme="dark"] .social-icons-en img{
  filter:none !important;
}

/* Video player cards */
html[data-tmt-theme] .tmt-video-card{
  background:var(--tmt-panel-grad) !important;
  border:1px solid var(--tmt-border) !important;
  color:var(--tmt-card-text) !important;
  box-shadow:var(--tmt-shadow) !important;
  border-radius:18px;
  padding:clamp(16px, 2.5vw, 28px);
}

@media (hover:hover){
  html[data-tmt-theme] .tmt-video-card:hover{
    box-shadow:var(--tmt-shadow-hover) !important;
  }
}

.tmt-video-card .compare-player,
.tmt-video-card .tmt-single-video-player{
  max-width:1100px;
  margin:0 auto;
}

/* TMT mobile menu dark-light theme behavior */

/* Mobile only. Desktop menu styling is intentionally untouched. */

@media (max-width:1024px){
  html[data-tmt-theme="light"] #tmt-header .site-navigation.main-navigation,
  html[data-tmt-theme="light"] #tmt-header .tmt-primary-nav,
  html[data-tmt-theme="light"] #tmt-primary-nav.menu,
  html[data-tmt-theme="light"] #tmt-primary-nav.menu .sub-menu,
  html[data-tmt-theme="light"] #tmt-primary-nav.menu .children,
  html[data-tmt-theme="light"] #tmt-header .sub-menu,
  html[data-tmt-theme="light"] #tmt-header .children{
    background:var(--tmt-header-footer, #d2d4d6) !important;
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
  }

  html[data-tmt-theme="dark"] #tmt-header .site-navigation.main-navigation,
  html[data-tmt-theme="dark"] #tmt-header .tmt-primary-nav,
  html[data-tmt-theme="dark"] #tmt-primary-nav.menu,
  html[data-tmt-theme="dark"] #tmt-primary-nav.menu .sub-menu,
  html[data-tmt-theme="dark"] #tmt-primary-nav.menu .children,
  html[data-tmt-theme="dark"] #tmt-header .sub-menu,
  html[data-tmt-theme="dark"] #tmt-header .children,
  html:not([data-tmt-theme]) #tmt-header .site-navigation.main-navigation,
  html:not([data-tmt-theme]) #tmt-header .tmt-primary-nav,
  html:not([data-tmt-theme]) #tmt-primary-nav.menu,
  html:not([data-tmt-theme]) #tmt-primary-nav.menu .sub-menu,
  html:not([data-tmt-theme]) #tmt-primary-nav.menu .children,
  html:not([data-tmt-theme]) #tmt-header .sub-menu,
  html:not([data-tmt-theme]) #tmt-header .children{
    background:var(--tmt-header-footer, #070707) !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }

  html[data-tmt-theme="light"] #tmt-header .site-navigation.main-navigation a,
  html[data-tmt-theme="light"] #tmt-header .tmt-primary-nav a,
  html[data-tmt-theme="light"] #tmt-primary-nav.menu a,
  html[data-tmt-theme="light"] #tmt-primary-nav.menu li > a,
  html[data-tmt-theme="light"] #tmt-header .sub-menu a,
  html[data-tmt-theme="light"] #tmt-header .children a{
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
    background:transparent !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }

  html[data-tmt-theme="dark"] #tmt-header .site-navigation.main-navigation a,
  html[data-tmt-theme="dark"] #tmt-header .tmt-primary-nav a,
  html[data-tmt-theme="dark"] #tmt-primary-nav.menu a,
  html[data-tmt-theme="dark"] #tmt-primary-nav.menu li > a,
  html[data-tmt-theme="dark"] #tmt-header .sub-menu a,
  html[data-tmt-theme="dark"] #tmt-header .children a,
  html:not([data-tmt-theme]) #tmt-header .site-navigation.main-navigation a,
  html:not([data-tmt-theme]) #tmt-header .tmt-primary-nav a,
  html:not([data-tmt-theme]) #tmt-primary-nav.menu a,
  html:not([data-tmt-theme]) #tmt-primary-nav.menu li > a,
  html:not([data-tmt-theme]) #tmt-header .sub-menu a,
  html:not([data-tmt-theme]) #tmt-header .children a{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    background:transparent !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }

  html[data-tmt-theme="light"] #tmt-header .site-navigation.main-navigation a:hover,
  html[data-tmt-theme="light"] #tmt-header .site-navigation.main-navigation a:focus-visible,
  html[data-tmt-theme="light"] #tmt-primary-nav.menu a:hover,
  html[data-tmt-theme="light"] #tmt-primary-nav.menu a:focus-visible{
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
    background:transparent !important;
    text-decoration:underline !important;
    text-decoration-thickness:1px !important;
    text-underline-offset:4px !important;
  }

  html[data-tmt-theme="dark"] #tmt-header .site-navigation.main-navigation a:hover,
  html[data-tmt-theme="dark"] #tmt-header .site-navigation.main-navigation a:focus-visible,
  html[data-tmt-theme="dark"] #tmt-primary-nav.menu a:hover,
  html[data-tmt-theme="dark"] #tmt-primary-nav.menu a:focus-visible,
  html:not([data-tmt-theme]) #tmt-header .site-navigation.main-navigation a:hover,
  html:not([data-tmt-theme]) #tmt-header .site-navigation.main-navigation a:focus-visible,
  html:not([data-tmt-theme]) #tmt-primary-nav.menu a:hover,
  html:not([data-tmt-theme]) #tmt-primary-nav.menu a:focus-visible{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    background:transparent !important;
    text-decoration:underline !important;
    text-decoration-thickness:1px !important;
    text-underline-offset:4px !important;
  }

  html[data-tmt-theme="light"] #tmt-header .tmt-mobile-nav,
  html[data-tmt-theme="light"] #tmt-header .tmt-header-toggle,
  html[data-tmt-theme="light"] #tmt-header .tmt-nav-toggle,
  html[data-tmt-theme="light"] #tmt-header .menu-toggle,
  html[data-tmt-theme="light"] #tmt-header .mobile-toggle,
  html[data-tmt-theme="light"] #tmt-header .hamburger{
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
  }

  html[data-tmt-theme="dark"] #tmt-header .tmt-mobile-nav,
  html[data-tmt-theme="dark"] #tmt-header .tmt-header-toggle,
  html[data-tmt-theme="dark"] #tmt-header .tmt-nav-toggle,
  html[data-tmt-theme="dark"] #tmt-header .menu-toggle,
  html[data-tmt-theme="dark"] #tmt-header .mobile-toggle,
  html[data-tmt-theme="dark"] #tmt-header .hamburger,
  html:not([data-tmt-theme]) #tmt-header .tmt-mobile-nav,
  html:not([data-tmt-theme]) #tmt-header .tmt-header-toggle,
  html:not([data-tmt-theme]) #tmt-header .tmt-nav-toggle,
  html:not([data-tmt-theme]) #tmt-header .menu-toggle,
  html:not([data-tmt-theme]) #tmt-header .mobile-toggle,
  html:not([data-tmt-theme]) #tmt-header .hamburger{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }

  html[data-tmt-theme="light"] #tmt-header .hamburger span,
  html[data-tmt-theme="light"] #tmt-header .menu-toggle span,
  html[data-tmt-theme="light"] #tmt-header .mobile-toggle span{
    background-color:#000000 !important;
  }

  html[data-tmt-theme="dark"] #tmt-header .hamburger span,
  html[data-tmt-theme="dark"] #tmt-header .menu-toggle span,
  html[data-tmt-theme="dark"] #tmt-header .mobile-toggle span,
  html:not([data-tmt-theme]) #tmt-header .hamburger span,
  html:not([data-tmt-theme]) #tmt-header .menu-toggle span,
  html:not([data-tmt-theme]) #tmt-header .mobile-toggle span{
    background-color:#ffffff !important;
  }

  #tmt-header .site-navigation.main-navigation img,
  #tmt-header .tmt-primary-nav img,
  #tmt-primary-nav.menu img{
    -webkit-text-fill-color:initial !important;
    filter:none !important;
  }
}

/* TMT footer links use theme underline only */

/* The TMT underline animation is the intended footer hover effect.
   This block only removes extra native text-decoration underlines added by
   earlier custom footer color rules. It does not disable theme pseudo-elements. */

html[data-tmt-theme] body #tmt-footer a,
html[data-tmt-theme] body #tmt-copyright a,
html[data-tmt-theme] body .tmt-site-footer a,
html[data-tmt-theme] body .tmt-copyright-text a,
html[data-tmt-theme] body .tmt-footer-copyright-row a,
html[data-tmt-theme] body a.cookie-settings-link,
html[data-tmt-theme] body .cookie-settings-link,
html[data-tmt-theme] body #tmt-footer a:hover,
html[data-tmt-theme] body #tmt-footer a:focus-visible,
html[data-tmt-theme] body #tmt-copyright a:hover,
html[data-tmt-theme] body #tmt-copyright a:focus-visible,
html[data-tmt-theme] body .tmt-site-footer a:hover,
html[data-tmt-theme] body .tmt-site-footer a:focus-visible,
html[data-tmt-theme] body .tmt-copyright-text a:hover,
html[data-tmt-theme] body .tmt-copyright-text a:focus-visible,
html[data-tmt-theme] body .tmt-footer-copyright-row a:hover,
html[data-tmt-theme] body .tmt-footer-copyright-row a:focus-visible,
html[data-tmt-theme] body a.cookie-settings-link:hover,
html[data-tmt-theme] body a.cookie-settings-link:focus-visible,
html[data-tmt-theme] body .cookie-settings-link:hover,
html[data-tmt-theme] body .cookie-settings-link:focus-visible{
  text-decoration:none !important;
}

html[data-tmt-theme] body #tmt-footer a *,
html[data-tmt-theme] body #tmt-copyright a *,
html[data-tmt-theme] body .tmt-site-footer a *,
html[data-tmt-theme] body .tmt-copyright-text a *,
html[data-tmt-theme] body .tmt-footer-copyright-row a *{
  text-decoration:none !important;
}

/* TMT floating dock - Theme toggle + back-to-top in one page-tools cluster. */

.tmt-floating-dock{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2147483000;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  pointer-events:none;
}

.tmt-floating-dock .tmt-theme-toggle,
.tmt-floating-dock .tmt-back-to-top{
  pointer-events:auto;
}

.tmt-floating-dock .tmt-theme-toggle{
  position:relative;
  right:auto;
  bottom:auto;
}

.tmt-back-to-top{
  width:40px;
  height:40px;
  border:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:rgba(17,24,39,.82);
  color:#fff;
  font:700 22px/1 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;
  box-shadow:0 7px 18px rgba(0,0,0,.22);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px) scale(.96);
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease, background .18s ease;
  -webkit-tap-highlight-color:transparent;
}

.tmt-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

.tmt-back-to-top:hover,
.tmt-back-to-top:focus-visible{
  background:rgba(17,24,39,.95);
  transform:translateY(-2px) scale(1.02);
}

.tmt-back-to-top:focus-visible{
  outline:3px solid color-mix(in srgb, var(--tmt-accent) 60%, transparent);
  outline-offset:4px;
}

html[data-tmt-theme="dark"] .tmt-back-to-top{
  background:rgba(255,255,255,.16);
  color:#fff;
  box-shadow:0 7px 18px rgba(0,0,0,.45);
}

html[data-tmt-theme="dark"] .tmt-back-to-top:hover,
html[data-tmt-theme="dark"] .tmt-back-to-top:focus-visible{
  background:rgba(255,255,255,.24);
}

@media (max-width:768px){
  .tmt-floating-dock{
    right:12px;
    bottom:12px;
    transform:scale(.88);
    transform-origin:right bottom;
  }

  .tmt-theme-toggle{
    transform:none;
  }
}

/* TMT floating dock visibility follow-up - Purpose: make the dock visibly present and override older */

.tmt-floating-dock{
  padding:8px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.76) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.18) !important;
  backdrop-filter:saturate(130%) blur(10px) !important;
  -webkit-backdrop-filter:saturate(130%) blur(10px) !important;
  visibility:visible !important;
  opacity:1 !important;
}

html[data-tmt-theme="dark"] .tmt-floating-dock{
  background:rgba(17,24,39,.72) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.45) !important;
}

.tmt-floating-dock #tmt-theme-toggle.tmt-theme-toggle{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  z-index:auto !important;
}

.tmt-floating-dock #tmt-back-to-top.tmt-back-to-top{
  max-height:0;
  overflow:hidden;
  margin:0;
  pointer-events:none;
}

.tmt-floating-dock #tmt-back-to-top.tmt-back-to-top.is-visible{
  max-height:40px;
  pointer-events:auto;
}

@media (max-width:768px){
  .tmt-floating-dock #tmt-theme-toggle.tmt-theme-toggle{
    transform:none !important;
  }
}

/* TMT floating dock visual polish - Purpose: */

.tmt-floating-dock{
  right:18px !important;
  bottom:18px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:8px !important;
  pointer-events:none !important;
}

html[data-tmt-theme="dark"] .tmt-floating-dock{
  background:transparent !important;
  box-shadow:none !important;
}

.tmt-floating-dock #tmt-theme-toggle.tmt-theme-toggle,
.tmt-floating-dock #tmt-back-to-top.tmt-back-to-top{
  pointer-events:auto !important;
}

.tmt-floating-dock #tmt-back-to-top.tmt-back-to-top{
  order:0;
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  max-height:40px;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#ffffff 0%,#e5e7eb 100%);
  color:#111827;
  font:700 18px/1 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;
  box-shadow:
    inset 0 2px 5px rgba(255,255,255,.85),
    inset 0 -4px 8px rgba(0,0,0,.08),
    0 7px 18px rgba(0,0,0,.22);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  overflow:visible;
  transform:translateY(8px) scale(.92);
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
  -webkit-tap-highlight-color:transparent;
}

.tmt-floating-dock #tmt-back-to-top.tmt-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  pointer-events:auto !important;
}

.tmt-floating-dock #tmt-back-to-top.tmt-back-to-top:hover,
.tmt-floating-dock #tmt-back-to-top.tmt-back-to-top:focus-visible{
  transform:translateY(-2px) scale(1.03);
  background:linear-gradient(180deg,#ffffff 0%,#f3f4f6 100%);
}

html[data-tmt-theme="dark"] .tmt-floating-dock #tmt-back-to-top.tmt-back-to-top{
  background:linear-gradient(180deg,#111827 0%,#273449 100%);
  color:#ffffff;
  box-shadow:
    inset 0 2px 5px rgba(255,255,255,.08),
    inset 0 -4px 8px rgba(0,0,0,.35),
    0 7px 18px rgba(0,0,0,.45);
}

html[data-tmt-theme="dark"] .tmt-floating-dock #tmt-back-to-top.tmt-back-to-top:hover,
html[data-tmt-theme="dark"] .tmt-floating-dock #tmt-back-to-top.tmt-back-to-top:focus-visible{
  background:linear-gradient(180deg,#172033 0%,#33425d 100%);
}

.tmt-floating-dock #tmt-back-to-top.tmt-back-to-top span{
  display:block;
  transform:translateY(-1px);
}

.tmt-floating-dock #tmt-theme-toggle.tmt-theme-toggle{
  order:1;
}

@media (max-width:768px){
  .tmt-floating-dock{
    right:12px !important;
    bottom:12px !important;
    transform:scale(.88) !important;
    transform-origin:right bottom !important;
  }
}

/* TMT floating dock dark-mode match - Purpose: make the back-to-top button use the exact same */

html[data-tmt-theme="dark"] .tmt-floating-dock #tmt-back-to-top.tmt-back-to-top{
  background:linear-gradient(180deg,#1b1b1b 0%, #161616 45%, #111111 100%);
  color:#ffffff;
  box-shadow:
    inset 0 1px 3px rgba(255,255,255,.06),
    inset 0 -4px 8px rgba(0,0,0,.34),
    0 7px 18px rgba(0,0,0,.45);
}

html[data-tmt-theme="dark"] .tmt-floating-dock #tmt-back-to-top.tmt-back-to-top:hover,
html[data-tmt-theme="dark"] .tmt-floating-dock #tmt-back-to-top.tmt-back-to-top:focus-visible{
  background:linear-gradient(180deg,#232323 0%, #1a1a1a 45%, #141414 100%);
  color:#ffffff;
  box-shadow:
    inset 0 1px 3px rgba(255,255,255,.07),
    inset 0 -4px 8px rgba(0,0,0,.34),
    0 9px 20px rgba(0,0,0,.48);
}

/* Stage 24.1: one English clean text color per theme. */
:root,
html[data-tmt-theme="light"] {
  --tmt-text: #20242b;
  --tmt-text-strong: #20242b;
  --tmt-card-text: #20242b;
  --tmt-card-muted: #20242b;
  --tmt-muted: #20242b;
  --tmt-link: #20242b;
  --tmt-footer-link: #20242b;
}

html[data-tmt-theme="dark"],
html:not([data-tmt-theme]) {
  --tmt-text: #f7f3ea;
  --tmt-text-strong: #f7f3ea;
  --tmt-card-text: #f7f3ea;
  --tmt-card-muted: #f7f3ea;
  --tmt-muted: #f7f3ea;
  --tmt-link: #f7f3ea;
  --tmt-footer-link: #f7f3ea;
}

html[data-tmt-theme] body.tmt-static-site {
  color: var(--tmt-text);
  -webkit-text-fill-color: currentColor;
}

html[data-tmt-theme] body.tmt-static-site a:not(.tmt-button):not(.tmt-control-button):not(.cc-btn):not([role="button"]),
html[data-tmt-theme] body.tmt-static-site .tmt-site-footer,
html[data-tmt-theme] body.tmt-static-site .tmt-site-footer * {
  color: var(--tmt-link) !important;
  -webkit-text-fill-color: var(--tmt-link) !important;
}

html[data-tmt-theme="light"] body.tmt-static-site a:not(.tmt-button):not(.tmt-control-button):not(.cc-btn):not([role="button"]):hover,
html[data-tmt-theme="light"] body.tmt-static-site a:not(.tmt-button):not(.tmt-control-button):not(.cc-btn):not([role="button"]):focus-visible {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
}

html[data-tmt-theme="dark"] body.tmt-static-site a:not(.tmt-button):not(.tmt-control-button):not(.cc-btn):not([role="button"]):hover,
html[data-tmt-theme="dark"] body.tmt-static-site a:not(.tmt-button):not(.tmt-control-button):not(.cc-btn):not([role="button"]):focus-visible {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Source owner: tmt-clean-utilities.css */
body.tmt-static-site {
  --tmt-static-card-background:var(--tmt-panel-grad);
  --tmt-static-card-border-width:1px;
  --tmt-static-card-border-color:var(--tmt-border);
  --tmt-static-card-radius:var(--tmt-radius,12px);
  --tmt-static-card-shadow:var(--tmt-shadow);
  --tmt-static-card-shadow-hover:var(--tmt-shadow-hover);
}

/* TMT clean shared controls and utilities. */
:root {
  --clean-header-desktop-h: 152px;
  --clean-header-mobile-h: 82px;
  --clean-header-menu-size: 1.05rem;
  --clean-content-max: 1200px;
  --clean-mobile-gutter: 32px;
}

body.tmt-static-site,
body.tmt-static-site * {
  box-sizing: border-box;
}

body.tmt-static-site {
  margin: 0;
  overflow-x: hidden;
}
.tmt-control-button {
  --tmt-control-surface: var(--tmt-btn-dark);
  --tmt-control-foreground: var(--tmt-btn-dark-text);
  --tmt-control-border: var(--tmt-btn-border-light);
  border: 1px solid var(--tmt-control-border);
  background: var(--tmt-control-surface);
  color: var(--tmt-control-foreground);
  -webkit-text-fill-color: var(--tmt-control-foreground);
  box-shadow: var(--tmt-shadow);
}

.tmt-control-button:hover,
.tmt-control-button:focus-visible {
  --tmt-control-surface: var(--tmt-btn-light-hover);
  --tmt-control-foreground: var(--tmt-btn-light-text);
}

html[data-tmt-theme="dark"] .tmt-control-button {
  --tmt-control-surface: var(--tmt-btn-light);
  --tmt-control-foreground: var(--tmt-btn-light-text);
  --tmt-control-border: var(--tmt-btn-border-dark);
}

html[data-tmt-theme="dark"] .tmt-control-button:hover,
html[data-tmt-theme="dark"] .tmt-control-button:focus-visible {
  --tmt-control-surface: var(--tmt-btn-dark-hover);
  --tmt-control-foreground: var(--tmt-btn-dark-text);
}

.tmt-control-button__glyph {
  color: var(--tmt-control-foreground);
  -webkit-text-fill-color: var(--tmt-control-foreground);
}

/* Shared animated underline for text links that should not use native text decoration. */
.tmt-animated-underline {
  position: relative;
  display: inline-block;
  text-decoration: none !important;
}

.tmt-animated-underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: var(--tmt-underline-offset, -.16em);
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .24s ease;
}

.tmt-animated-underline:hover,
.tmt-animated-underline:focus-visible {
  text-decoration: none !important;
}

.tmt-animated-underline:hover::after,
.tmt-animated-underline:focus-visible::after {
  transform: scaleX(1);
}

/* Shared foreground contract for text and generated control glyphs. */
body.tmt-static-site .tmt-control-button > .tmt-control-button__glyph {
  color: var(--tmt-control-foreground);
  -webkit-text-fill-color: var(--tmt-control-foreground);
}
