:root {
  --bg-primary: #1c1c1c;
  --bg-secondary: #232323;
  --bg-card: #272727;
  --bg-dark: #161616;
  --grey: #3d3d3d;
  --grey-light: #dadada;
  --accent: #f7cf3a;
  --accent-dim: rgba(247, 207, 58, 0.12);
  --accent-glow: rgba(247, 207, 58, 0.25);
  --accent-bright: #ffe06a;
  --accent-ultra: rgba(247, 207, 58, 0.5);
  --text-primary: #ffffff;
  --text-secondary: #b0b0b0;
  --text-muted: #707070;
  --border: rgba(255, 255, 255, 0.07);
  --border-accent: rgba(247, 207, 58, 0.3);
  --font-heading: "Urbanist", sans-serif;
  --font-body: "Plus Jakarta Sans", sans-serif;
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 7rem;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --t-fast: 0.25s;
  --t-base: 0.45s;
  --t-slow: 0.7s;
  --nav-h: 92px;
  --logo-w: 150px;
  --topbar-h: 36px;
  --header-offset: calc(var(--nav-h) + var(--topbar-h));
  --radius: 6px;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--bg-primary);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.menu-open {
  overflow: hidden;
}

img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

section {
  padding: var(--space-xl) 0;
}

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  --bs-gutter-x: 1.5rem;
}

@media (min-width: 576px) {
  .container,
  .container-sm {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container,
  .container-sm,
  .container-md {
    max-width: 720px;
    --bs-gutter-x: 2rem;
  }
}

@media (min-width: 992px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg {
    max-width: 960px;
    --bs-gutter-x: 2.5rem;
  }
}

@media (min-width: 1200px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl {
    max-width: 1140px;
    --bs-gutter-x: 3rem;
  }
}

@media (min-width: 1400px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    max-width: 1400px;
  }
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  clip: auto;
  width: auto;
  height: auto;
  margin: 1rem;
  padding: 0.75rem 1rem;
  background: var(--accent);
  color: var(--bg-dark);
  z-index: 10001;
}

.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent), var(--accent-bright), var(--accent));
  z-index: 10000;
  box-shadow: 0 0 12px var(--accent-ultra), 0 0 30px var(--accent-glow);
}

.grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px;
  mix-blend-mode: overlay;
}

@media (hover: hover) and (pointer: fine) {
  .cursor-glow {
    position: fixed;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(247, 207, 58, 0.06) 0%, transparent 70%);
    pointer-events: none;
    z-index: 9998;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  .cursor-glow.active {
    opacity: 1;
  }
}

.heading-xl {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: clamp(2.8rem, 7.5vw, 7rem);
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.heading-lg {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.label {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 1rem;
  border: 1px solid rgba(247, 207, 58, 0.25);
  background: rgba(247, 207, 58, 0.04);
  color: var(--accent);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.reveal {
  opacity: 0;
  transform: translateY(40px);
  filter: blur(2px);
  transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out), filter 0.8s var(--ease-out);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

.reveal-delay-1 {
  transition-delay: 0.12s;
}

.reveal-delay-2 {
  transition-delay: 0.24s;
}

.reveal-delay-3 {
  transition-delay: 0.36s;
}

.nav {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  transition: background var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
  display: block;
}

.nav.scrolled {
  background: rgba(28, 28, 28, 0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 var(--border);
}

.nav-topbar {
  background: var(--bg-dark);
  border-bottom: 1px solid var(--border);
  font-size: 0.78rem;
  color: var(--text-muted);
  overflow: hidden;
  height: var(--topbar-h);
  transition: height var(--t-base) var(--ease), opacity var(--t-base) var(--ease);
}

.nav.scrolled .nav-topbar {
  height: 0;
  opacity: 0;
  border-bottom-width: 0;
}

.nav-topbar > .container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.2rem;
  height: var(--topbar-h);
}

.nav-topbar a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--text-muted);
  transition: color var(--t-fast) var(--ease);
}

.nav-topbar a:hover {
  color: var(--accent);
}

.nav-main {
  min-height: var(--nav-h);
  padding: 15px 0;
}

.nav-main > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: calc(var(--nav-h) - 30px);
}

.nav-logo,
.custom-logo-link {
  display: inline-flex;
  align-items: center;
}

.nav-logo img,
.custom-logo {
  width: var(--logo-w);
  height: auto;
}

.nav-links-wrap {
  flex: 1;
  display: flex;
  justify-content: center;
}

.language-switcher {
  display: inline-flex;
  align-items: center;
}

.language-switcher__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  color: var(--text-secondary);
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}

.language-switcher__link:hover {
  color: #fff;
}

.language-switcher__link.is-current {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg-primary);
  box-shadow: 0 10px 24px rgba(247, 207, 58, 0.2);
}

.language-switcher__link.is-unavailable {
  opacity: 0.45;
  cursor: default;
}

.language-switcher__code {
  line-height: 1;
}

.language-switcher__name {
  display: none;
}

.language-switcher--desktop {
  gap: 0.3rem;
  padding: 0.3rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
}

.language-switcher--desktop .language-switcher__link {
  min-width: 3.15rem;
  min-height: 2.5rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-heading);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.language-switcher--desktop .language-switcher__link:hover {
  background: rgba(255, 255, 255, 0.05);
}

.nav-topbar .language-switcher--desktop {
  flex-shrink: 0;
  gap: 0;
  margin-right: 0.35rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}

.nav-topbar .language-switcher--desktop .language-switcher__link {
  position: relative;
  min-width: auto;
  min-height: auto;
  padding: 0.1rem 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  color: var(--grey-light);
}

.nav-topbar .language-switcher--desktop .language-switcher__link:hover {
  background: none;
  color: #fff;
  transform: none;
  box-shadow: none;
}

.nav-topbar .language-switcher--desktop .language-switcher__link + .language-switcher__link {
  margin-left: 0.7rem;
}

.nav-topbar .language-switcher--desktop .language-switcher__link + .language-switcher__link::before {
  content: "/";
  position: absolute;
  left: -0.45rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  font-weight: 500;
}

.nav-topbar .language-switcher--desktop .language-switcher__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.28rem;
  height: 1px;
  background: currentColor;
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}

.nav-topbar .language-switcher--desktop .language-switcher__link:hover::after,
.nav-topbar .language-switcher--desktop .language-switcher__link.is-current::after {
  opacity: 1;
  transform: scaleX(1);
}

.nav-topbar .language-switcher--desktop .language-switcher__link.is-current {
  background: none;
  border-color: transparent;
  color: var(--accent);
  box-shadow: none;
}

.nav-topbar .language-switcher--desktop .language-switcher__link.is-current:hover {
  background: none;
  border-color: transparent;
  color: var(--accent-bright);
}

.language-switcher--mobile {
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.language-switcher--mobile .language-switcher__link {
  min-height: 3.25rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.04);
}

.language-switcher--mobile .language-switcher__link:hover {
  border-color: var(--border-accent);
  background: rgba(247, 207, 58, 0.08);
}

.language-switcher--mobile .language-switcher__code {
  padding-right: 0.8rem;
  margin-right: 0.8rem;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  font-family: var(--font-heading);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.language-switcher--mobile .language-switcher__name {
  display: inline;
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 600;
}

.language-switcher--mobile .language-switcher__link.is-current .language-switcher__code,
.language-switcher--mobile .language-switcher__link.is-current .language-switcher__name {
  color: inherit;
}

.language-switcher__link.is-current:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg-primary);
}

.nav-links,
.primary-menu,
.primary-menu ul,
.mobile-menu-list,
.mobile-menu-list ul,
.footer-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.primary-menu {
  display: flex;
  align-items: center;
  gap: 0;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 0;
}

.nav-links > li,
.primary-menu > li {
  position: relative;
}

.nav-links > li > a,
.primary-menu > li > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: var(--nav-h);
  padding: 0 1.1rem;
  color: var(--grey-light);
  font-weight: 500;
  font-size: 0.88rem;
  transition: color var(--t-fast) var(--ease);
}

.nav-links > li > a::after,
.primary-menu > li > a::after {
  content: "";
  position: absolute;
  left: 1.1rem;
  right: 1.1rem;
  bottom: 0;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t-base) var(--ease);
}

.nav-links > li:hover > a,
.nav-links > li.current-menu-item > a,
.nav-links > li.current-menu-ancestor > a,
.nav-links > li.current_page_item > a,
.nav-links > li.current_page_ancestor > a,
.nav-links > li.current_page_parent > a,
.primary-menu > li:hover > a,
.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-ancestor > a {
  color: #fff;
}

.nav-links > li:hover > a::after,
.nav-links > li.current-menu-item > a::after,
.nav-links > li.current-menu-ancestor > a::after,
.nav-links > li.current_page_item > a::after,
.nav-links > li.current_page_ancestor > a::after,
.nav-links > li.current_page_parent > a::after,
.primary-menu > li:hover > a::after,
.primary-menu > li.current-menu-item > a::after,
.primary-menu > li.current-menu-ancestor > a::after {
  transform: scaleX(1);
}

.nav-links .chevron {
  font-size: 0.7rem;
  color: var(--text-muted);
  transition: transform var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}

.nav-links > li:hover > a .chevron,
.nav-links > li.current-menu-ancestor > a .chevron,
.nav-links > li.current_page_ancestor > a .chevron,
.nav-links > li.current_page_parent > a .chevron {
  color: var(--accent);
  transform: rotate(180deg);
}

.nav-links .mega {
  position: absolute;
  top: 100%;
  left: 50%;
  min-width: 260px;
  padding: 0.75rem 0;
  background: #1e1e1e;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-top: 0;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(6px);
  transition: opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), visibility var(--t-fast) var(--ease);
  pointer-events: none;
  overflow: hidden;
}

.nav-links .mega::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, var(--accent), rgba(247, 207, 58, 0.3));
}

.nav-links li:hover > .mega {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.mega--sm {
  min-width: 260px;
  padding: 0.75rem 0;
}

.nav-links .mega-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.7rem 1.5rem;
  color: var(--text-secondary);
  font-size: 0.9rem;
  font-weight: 500;
  transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}

.nav-links .mega-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--accent);
  transform: scaleY(0);
  transition: transform var(--t-fast) var(--ease);
}

.nav-links .mega-link:hover {
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
}

.nav-links .mega-link.current-menu-item,
.nav-links .mega-link.current-menu-ancestor,
.nav-links .mega-link.current_page_item,
.nav-links .mega-link.current_page_ancestor,
.nav-links .mega-link.current_page_parent {
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
}

.nav-links .mega-link:hover::before {
  transform: scaleY(1);
}

.nav-links .mega-link.current-menu-item::before,
.nav-links .mega-link.current-menu-ancestor::before,
.nav-links .mega-link.current_page_item::before,
.nav-links .mega-link.current_page_ancestor::before,
.nav-links .mega-link.current_page_parent::before {
  transform: scaleY(1);
}

.mega-icon {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  padding: 12px;
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}

.mega-link:hover .mega-icon {
  color: var(--accent);
  background: var(--accent-dim);
}

.mega-link.current-menu-item .mega-icon,
.mega-link.current-menu-ancestor .mega-icon,
.mega-link.current_page_item .mega-icon,
.mega-link.current_page_ancestor .mega-icon,
.mega-link.current_page_parent .mega-icon {
  color: var(--accent);
  background: var(--accent-dim);
}

.mega-link-arrow {
  margin-left: auto;
  font-size: 12px;
  color: transparent;
  transition: color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}

.mega-link:hover .mega-link-arrow {
  color: var(--accent);
  transform: translateX(3px);
}

.mega-link.current-menu-item .mega-link-arrow,
.mega-link.current-menu-ancestor .mega-link-arrow,
.mega-link.current_page_item .mega-link-arrow,
.mega-link.current_page_ancestor .mega-link-arrow,
.mega-link.current_page_parent .mega-link-arrow {
  color: var(--accent);
  transform: translateX(3px);
}

.mega--lg {
  min-width: 700px;
  padding: 0;
}

.mega-top {
  padding: 1.75rem 2rem 0;
}

.mega-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.mega-header h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

.mega-header-sub {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.mega-body {
  padding: 0 2rem 1.75rem;
}

.mega-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0 3rem;
}

.mega--lg .mega-columns {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.mega--products {
  min-width: 760px;
}

.mega--products .mega-columns--products {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
}

@media (min-width: 1280px) {
  .mega--products .mega-columns--products {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }
}

.mega-group-title {
  margin: 0 0 0.6rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.mega--lg .mega-link {
  gap: 0;
  padding: 0.5rem 0.7rem;
  margin: 0 -0.7rem;
  border-radius: 5px;
}

.mega--lg .mega-link::before {
  content: "";
  position: static;
  width: 6px;
  height: 6px;
  min-width: 6px;
  margin-right: 0.7rem;
  border: 1.5px solid var(--grey);
  border-radius: 2px;
  background: transparent;
  transform: rotate(45deg);
  transition: all var(--t-fast) var(--ease);
}

.mega--lg .mega-link:hover::before {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 0 8px rgba(247, 207, 58, 0.4);
  transform: rotate(45deg);
}

.mega--lg .mega-link.current-menu-item::before,
.mega--lg .mega-link.current-menu-ancestor::before,
.mega--lg .mega-link.current_page_item::before,
.mega--lg .mega-link.current_page_ancestor::before,
.mega--lg .mega-link.current_page_parent::before {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 0 8px rgba(247, 207, 58, 0.4);
  transform: rotate(45deg);
}

.mega-featured {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem 2rem;
  background: rgba(0, 0, 0, 0.2);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  transition: background var(--t-fast) var(--ease);
}

.mega-featured:hover {
  background: rgba(0, 0, 0, 0.3);
}

.mega-featured-img {
  position: relative;
  width: 110px;
  height: 70px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 6px;
}

.mega-featured-img::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
}

.mega-featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--t-base) var(--ease);
}

.mega-featured:hover .mega-featured-img img {
  transform: scale(1.08);
}

.mega-featured-text {
  flex: 1;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--text-muted);
}

.mega-featured-text strong {
  display: block;
  margin-bottom: 0.15rem;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 600;
}

.mega-featured-arrow {
  width: 32px;
  height: 32px;
  min-width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: var(--text-muted);
  transition: all var(--t-fast) var(--ease);
}

.mega-featured:hover .mega-featured-arrow {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-dim);
}

.nav-cta,
.btn-primary,
.wp-element-button,
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0.95rem 1.8rem;
  background: var(--accent);
  color: var(--bg-primary);
  border: none;
  border-radius: var(--radius);
  box-shadow: none;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}

.nav-cta {
  padding: 0.65rem 1.4rem;
  margin-left: 0.5rem;
}

.nav-cta:hover,
.btn-primary:hover,
.wp-element-button:hover,
.wp-block-button__link:hover {
  background: var(--accent-bright);
  color: var(--bg-primary);
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(247, 207, 58, 0.3);
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0.95rem 1.8rem;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: var(--radius);
  color: #fff;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}

.btn-outline:hover {
  color: #fff;
  border-color: var(--accent);
  background: var(--accent-dim);
  transform: translateY(-2px);
}

.hamburger {
  display: none;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  background: none;
  border: 0;
  cursor: pointer;
}

.hamburger span {
  display: block;
  width: 28px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform var(--t-base) var(--ease), opacity var(--t-fast) var(--ease);
  transform-origin: center;
}

.hamburger.open span:nth-child(1) {
  transform: rotate(45deg) translate(5.5px, 5.5px);
}

.hamburger.open span:nth-child(2) {
  opacity: 0;
}

.hamburger.open span:nth-child(3) {
  transform: rotate(-45deg) translate(5.5px, -5.5px);
}

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  padding: calc(var(--header-offset) + 2rem) clamp(1.5rem, 4vw, 3rem) 3rem;
  background: rgba(16, 16, 16, 0.98);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  transition: opacity var(--t-base) var(--ease), visibility var(--t-base) var(--ease);
  overflow-y: auto;
}

.mobile-menu.open {
  opacity: 1;
  visibility: visible;
}

.mobile-menu__inner {
  max-width: 42rem;
}

.mobile-menu-list > li {
  border-bottom: 1px solid var(--border);
}

.mobile-menu-list > li > a {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 4rem;
  padding: 1rem 0;
  color: #fff;
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.01em;
}

.mobile-submenu-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin: -3.2rem 0 0 auto;
  background: none;
  border: 0;
  color: var(--text-muted);
  cursor: pointer;
}

.mobile-submenu-toggle::before,
.mobile-submenu-toggle::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 2px;
  background: currentColor;
  border-radius: 999px;
  transition: transform var(--t-fast) var(--ease);
}

.mobile-submenu-toggle::after {
  transform: rotate(90deg);
}

.mobile-menu-list .menu-item.open > .mobile-submenu-toggle {
  color: var(--accent);
}

.mobile-menu-list .menu-item.open > .mobile-submenu-toggle::after {
  transform: rotate(0deg);
}

.mobile-menu-list .sub-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--t-base) var(--ease);
}

.mobile-menu-list .menu-item.open > .sub-menu {
  max-height: 800px;
}

.mobile-menu-list .sub-menu a {
  display: block;
  padding: 0.5rem 0 0.5rem 1rem;
  color: var(--text-secondary);
  border-left: 2px solid var(--border);
  font-size: 0.95rem;
  transition: color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}

.mobile-menu-list .sub-menu a:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.mm-cta {
  display: inline-flex;
  margin-top: 2rem;
}

.hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 100vh;
  padding: 0;
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), 0 100%);
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.55) contrast(1.08) saturate(0.95);
}

img.hero-media {
  transition: transform 0.1s linear;
}

.hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(28, 28, 28, 0.4) 0%, rgba(28, 28, 28, 0) 25%, rgba(28, 28, 28, 0.5) 65%, rgba(28, 28, 28, 1) 100%),
    linear-gradient(90deg, rgba(28, 28, 28, 0.8) 0%, transparent 55%);
}

.hero-grid-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.04;
  background-image:
    linear-gradient(rgba(247, 207, 58, 0.3) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247, 207, 58, 0.3) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 60% 70% at 30% 70%, black 0%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 60% 70% at 30% 70%, black 0%, transparent 100%);
}

.hero-accent-line {
  position: absolute;
  left: clamp(1.5rem, 4vw, 3rem);
  top: 0;
  z-index: 1;
  width: 1px;
  height: 100%;
}

.hero-accent-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60%;
  opacity: 0.12;
  background: linear-gradient(180deg, transparent, var(--accent) 40%, var(--accent) 60%, transparent);
  animation: heroLineSlide 4s ease-in-out infinite;
}

.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: var(--header-offset);
  padding-bottom: clamp(6rem, 12vw, 10rem);
}

.hero--page {
  min-height: clamp(620px, 86vh, 980px);
}

.hero--page .hero-content {
  padding-bottom: clamp(4rem, 9vw, 7rem);
}

.hero--page .hero-media {
  object-position: center center;
}

.hero-label {
  margin-bottom: 1.5rem;
  opacity: 0;
  animation: fadeUp 0.8s var(--ease-out) 0.3s forwards;
}

.hero-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}

.hero-title .word {
  display: block;
  opacity: 0;
  animation: heroWord 0.9s var(--ease-out) forwards;
}

.hero-title .word:nth-child(1) {
  animation-delay: 0.5s;
}

.hero-title .word:nth-child(2) {
  animation-delay: 0.65s;
}

.hero-title .word:nth-child(3) {
  animation-delay: 0.8s;
}

.hero-title .word:nth-child(4) {
  animation-delay: 0.95s;
}

.hero-title .word:nth-child(5) {
  animation-delay: 1.1s;
}

.hero-title .word:nth-child(6) {
  animation-delay: 1.25s;
}

.hero-title .accent-word {
  color: var(--accent);
  text-shadow: 0 0 40px var(--accent-glow), 0 0 80px rgba(247, 207, 58, 0.1);
}

.hero-sub {
  max-width: 34rem;
  margin-bottom: 2.5rem;
  color: var(--grey-light);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  opacity: 0;
  animation: fadeUp 0.8s var(--ease-out) 1.1s forwards;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  opacity: 0;
  animation: fadeUp 0.8s var(--ease-out) 1.3s forwards;
}

.site-main {
  padding: 0;
}

.site-main--front {
  padding-top: clamp(4rem, 7vw, 6rem);
}

.site-main--with-hero {
  padding-top: clamp(4rem, 7vw, 6rem);
}

.site-main--no-hero {
  padding-top: calc(var(--header-offset) + 3rem);
  padding-bottom: clamp(4rem, 7vw, 7rem);
}

.entry-header--no-hero {
  margin-bottom: 2.5rem;
}

.entry-header--no-hero .entry-title {
  margin-bottom: 0;
}
.content-shell,
.page-entry .entry-header,
.page-entry .entry-content > :where(:not(.alignwide):not(.alignfull)) {
  width: min(100% - 3rem, 1200px);
  margin-left: auto;
  margin-right: auto;
}

.page-entry .entry-content > .alignwide {
  width: min(100% - 3rem, 1360px);
  margin-left: auto;
  margin-right: auto;
}

.page-entry .entry-content > .alignfull {
  width: 100%;
}

.page-entry .entry-content > * + * {
  margin-top: 1.5rem;
}

.page-entry .entry-header {
  margin-bottom: 2rem;
}

.entry-title,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: var(--font-heading);
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.entry-title,
.entry-content h1 {
  font-size: clamp(2.3rem, 5vw, 4.4rem);
}

.entry-content h2 {
  font-size: clamp(1.9rem, 4vw, 3rem);
}

.entry-content h3 {
  font-size: clamp(1.35rem, 3vw, 2rem);
}

.entry-content p,
.entry-content li,
.entry-content blockquote {
  color: var(--text-secondary);
  font-size: 1rem;
}

.entry-content ul,
.entry-content ol {
  padding-left: 1.2rem;
}

.entry-content li + li {
  margin-top: 0.45rem;
}

.entry-content strong {
  color: var(--text-primary);
}

.entry-content blockquote {
  margin: 0;
  padding: 1.5rem 1.75rem;
  border-left: 3px solid var(--accent);
  background: rgba(255, 255, 255, 0.03);
}

.entry-content figure {
  margin: 0;
}

.entry-content .wp-block-image img,
.entry-content .wp-block-cover,
.entry-content .wp-block-gallery {
  border-radius: 8px;
  overflow: hidden;
}

.entry-content .wp-block-group {
  position: relative;
}

.entry-content .wp-block-separator {
  max-width: 1200px;
  border-color: var(--border);
}

.entry-content .wp-block-button {
  margin-top: 0.5rem;
}

.entry-content .wp-block-button__link {
  border-radius: var(--radius);
}

.entry-content .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--accent);
  background: var(--accent-dim);
  color: #fff;
}

.content-shell--archive {
  display: grid;
  gap: 1.5rem;
}

.archive-entry {
  padding: 1.75rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.015));
}

.archive-entry .entry-title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.archive-entry .entry-title a:hover {
  color: var(--accent);
}

.cta {
  position: relative;
  overflow: hidden;
  background: var(--bg-dark);
}

.cta::before {
  content: "";
  position: absolute;
  top: -250px;
  left: 50%;
  width: 800px;
  height: 800px;
  transform: translateX(-50%);
  opacity: 0.5;
  background: radial-gradient(circle, var(--accent-glow) 0%, rgba(247, 207, 58, 0.08) 30%, transparent 65%);
  animation: ctaGlow 6s ease-in-out infinite;
}

.cta::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.5;
  background-image:
    linear-gradient(rgba(247, 207, 58, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247, 207, 58, 0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 0%, black 0%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 0%, black 0%, transparent 100%);
}

.cta-inner {
  position: relative;
  z-index: 1;
}

.cta-text .label {
  margin-bottom: 0.75rem;
}

.cta-text .heading-lg {
  margin-bottom: 0.75rem;
}

.cta-text p {
  color: var(--text-secondary);
}

.cta-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.cta-contact {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--grey-light);
  font-size: 0.95rem;
  transition: color var(--t-fast) var(--ease);
}

.cta-contact i {
  color: var(--accent);
}

.cta-contact:hover {
  color: var(--accent);
}

.footer {
  position: relative;
  padding: var(--space-lg) 0 var(--space-md);
  background: var(--bg-primary);
  border-top: 1px solid var(--border);
}

.footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent-glow), transparent);
}

.footer-brand p {
  max-width: 22rem;
  color: var(--text-muted);
  font-size: 0.9rem;
}

.footer-brand .custom-logo {
  padding-bottom: 25px;
}

.footer h4 {
  margin-bottom: 1.25rem;
  color: #fff;
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.footer-links a {
  color: var(--text-muted);
  font-size: 0.9rem;
  transition: color var(--t-fast) var(--ease);
}

.footer-links a:hover {
  color: var(--accent);
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin-bottom: 0.75rem;
  color: var(--text-muted);
  font-size: 0.9rem;
}

.footer-contact-item i {
  min-width: 16px;
  margin-top: 4px;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border);
}

.footer-copy {
  color: var(--text-muted);
  font-size: 0.8rem;
}

.footer-credit {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.footer-copy a {
  color: inherit;
  transition: color var(--t-fast) var(--ease);
}

.footer-copy a:hover {
  color: var(--accent);
}

/* Stats Bereich */
.stats{background:var(--bg-dark);padding:var(--space-lg) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:-60px;padding-top:calc(var(--space-lg) + 60px);position:relative}
.stat{text-align:center;position:relative;padding:1.5rem 0}
.stat-number{font-family:var(--font-heading);font-weight:800;font-size:clamp(2.2rem,4vw,3.5rem);color:var(--accent);letter-spacing:-.03em;line-height:1;text-shadow:0 0 30px var(--accent-glow)}
.stat-unit{font-family:var(--font-heading);font-weight:600;font-size:clamp(0.9rem,1.5vw,1.2rem);color:var(--accent)}
.stat-label{font-size:.85rem;color:var(--text-secondary);margin-top:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:500}
.stat-bar{width:30px;height:2px;background:var(--accent);margin:.75rem auto 0;opacity:0;transform:scaleX(0);transition:transform .6s var(--ease-out),opacity .6s var(--ease-out)}
.stat.visible .stat-bar{opacity:.5;transform:scaleX(1)}

/* Über uns */
.about{background:var(--bg-primary);position:relative;overflow:hidden}
.about::before{content:'';position:absolute;top:10%;right:-100px;width:400px;height:400px;border:1px solid var(--border-accent);border-radius:50%;opacity:.06;pointer-events:none}
.about-img{position:relative;border-radius:var(--radius);overflow:visible}
.about-img-inner{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;position:relative}
.about-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease),filter var(--t-slow) var(--ease)}
.about-img:hover img{transform:scale(1.04);filter:brightness(1.05)}
.about-img-accent{position:absolute;bottom:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--accent),transparent);z-index:2}
.about-img::before{content:'';position:absolute;top:-12px;left:-12px;width:50px;height:50px;border-top:2px solid var(--accent);border-left:2px solid var(--accent);opacity:.25;z-index:3}
.about-img::after{content:'';position:absolute;bottom:-12px;right:-12px;width:50px;height:50px;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent);opacity:.25;z-index:3}
.about-badge{position:absolute;bottom:-20px;right:-20px;width:110px;height:110px;background:var(--accent);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:4;box-shadow:0 8px 30px #f7cf3a4d 0 0 60px #f7cf3a1a}
.about-badge-number{font-family:var(--font-heading);font-weight:900;font-size:2.2rem;color:var(--bg-dark);line-height:1}
.about-badge-text{font-family:var(--font-heading);font-weight:700;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bg-dark);opacity:.7}
.about-text .label{margin-bottom:1rem}
.about-text .heading-lg{margin-bottom:1.5rem}
.about-text p{color:var(--text-secondary);font-size:1rem;margin-bottom:1.5rem}
.about-highlight{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;margin:-.75rem;border-radius:8px;transition:background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.about-highlight:hover{background:#f7cf3a0a;transform:translateY(-2px)}
.about-highlight-icon{width:40px;height:40px;min-width:40px;background:var(--accent-dim);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease);border:1px solid #f7cf3a14;font-size:16px;color:var(--accent)}
.about-highlight:hover .about-highlight-icon{background:#f7cf3a2e;box-shadow:0 0 20px #f7cf3a1f}
.about-highlight-text{font-weight:600;font-size:.9rem;color:var(--grey-light);padding-top:2px}
@media (max-width: 767.98px) {
.about-badge{width:85px;height:85px;bottom:-12px;right:-8px}
.about-badge-number{font-size:1.6rem}
.about-img::before,.about-img::after{display:none}
.hero{clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),0 100%)}
.image-band{clip-path:polygon(0 20px,100% 0,100% calc(100% - 20px),0 100%);margin:-20px 0}
}

/* Verfahren */
.verfahren{background:var(--bg-dark);position:relative;overflow:hidden}
.verfahren::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),transparent);opacity:.5}
.section-header{margin-bottom:clamp(2.5rem,5vw,4rem);position:relative}
.section-header .label{margin-bottom:.75rem}
.section-header .heading-lg{margin-bottom:1rem}
.section-header p{color:var(--text-secondary);font-size:1rem}
.v-card{display:block;color:inherit;position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;transform-style:preserve-3d;transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease);will-change:transform;border:1px solid transparent}
.v-card:hover{box-shadow:0 20px 50px #0006 0 0 40px #f7cf3a14;border-color:#f7cf3a26}
.v-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.v-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease),filter var(--t-base) var(--ease);filter:brightness(0.55) saturate(0.9)}
.v-card:hover img{transform:scale(1.08);filter:brightness(0.35) saturate(0.7)}
.v-card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#161616f2 0%,#16161626 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:background var(--t-base) var(--ease)}
.v-card:hover .v-card-overlay{background:linear-gradient(0deg,#161616f7 0%,#16161680 60%,#16161626 100%)}
.v-card-number{font-family:var(--font-heading);font-weight:900;font-size:4.5rem;color:#ffffff08;position:absolute;top:.75rem;right:1.25rem;line-height:1;transition:color var(--t-base) var(--ease),text-shadow var(--t-base) var(--ease)}
.v-card:hover .v-card-number{color:#f7cf3a1f;text-shadow:0 0 40px #f7cf3a26}
.v-card-accent{width:30px;height:3px;background:var(--accent);margin-bottom:.75rem;transition:width var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}
.v-card:hover .v-card-accent{width:60px;box-shadow:0 0 12px var(--accent-glow)}
.v-card h3{font-family:var(--font-heading);font-weight:700;font-size:1.2rem;letter-spacing:-.01em;color:#fff;margin-bottom:.4rem;transition:transform var(--t-base) var(--ease)}
.v-card:hover h3{transform:translateY(-2px)}
.v-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.5;max-height:0;overflow:hidden;opacity:0;transition:max-height var(--t-base) var(--ease),opacity var(--t-base) var(--ease)}
.v-card:hover p{max-height:80px;opacity:1}
.v-card::before{content:'';position:absolute;top:0;left:0;width:60px;height:60px;border-top:2px solid var(--accent);border-left:2px solid var(--accent);opacity:0;transition:opacity var(--t-base) var(--ease);z-index:3;border-radius:8px 0 0 0}
.v-card:hover::before{opacity:.4}

/* Erfahrung */
.image-band{position:relative;height:50vh;min-height:380px;overflow:hidden;clip-path:polygon(0 40px,100% 0,100% calc(100% - 40px),0 100%);margin:-40px 0}
.image-band img{width:100%;height:120%;object-fit:cover;filter:brightness(0.4) contrast(1.1);position:absolute;top:-10%;transition:transform .1s linear}
.image-band-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#1c1c1ceb 0%,#1c1c1c66 50%,#1c1c1ceb 100%),linear-gradient(180deg,#1c1c1c4d 0%,transparent 30%,transparent 70%,#1c1c1c4d 100%);display:flex;align-items:center;justify-content:center}
.image-band-content{text-align:center;max-width:700px;padding:0 2rem;position:relative}
.image-band-content .label{display:block;margin-bottom:1rem}
.image-band-content .heading-lg{margin-bottom:1rem}
.image-band-content p{color:var(--text-secondary);font-size:1.1rem}

/* Kompetenz */
.kompetenz{background:var(--bg-primary);position:relative;overflow:hidden}
.kompetenz::after{content:'';position:absolute;bottom:-200px;left:-200px;width:500px;height:500px;border:1px solid #f7cf3a0f;border-radius:50%;pointer-events:none}
.kompetenz-visual{display:grid;grid-template-columns:1fr 1fr;gap:1rem;position:relative}
.kompetenz-visual::before{content:'';position:absolute;top:-15px;right:-15px;width:60px;height:60px;border-top:2px solid var(--accent);border-right:2px solid var(--accent);opacity:.2;z-index:2;pointer-events:none}
.kompetenz-visual-item{border-radius:8px;overflow:hidden;aspect-ratio:1;border:1px solid var(--border);transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}
.kompetenz-visual-item:hover{border-color:#f7cf3a26;box-shadow:0 10px 30px #0000004d}
.kompetenz-visual-item:first-child{grid-row:1 / 3;aspect-ratio:auto}
.kompetenz-visual-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease),filter var(--t-slow) var(--ease)}
.kompetenz-visual-item:hover img{transform:scale(1.05);filter:brightness(1.05)}
.kompetenz-text .label{margin-bottom:1rem}
.kompetenz-text .heading-lg{margin-bottom:1.5rem}
.kompetenz-text p{color:var(--text-secondary);margin-bottom:2rem}
.kompetenz-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;padding:0}
.kompetenz-list li{display:flex;align-items:center;gap:.75rem;font-weight:500;font-size:.95rem;color:var(--grey-light);padding:.4rem 0;transition:color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.kompetenz-list li:hover{color:#fff;transform:translateX(6px)}
.kompetenz-list li::before{content:'';width:8px;height:8px;min-width:8px;background:var(--accent);border-radius:2px;transform:rotate(45deg);transition:box-shadow var(--t-fast) var(--ease)}
.kompetenz-list li:hover::before{box-shadow:0 0 8px var(--accent-glow)}

/* Produktseiten */
.product-page{display:block}
.product-page section{padding:var(--space-lg) 0}
.product-intro{background:radial-gradient(circle at top right,#f7cf3a1a,transparent 28%),linear-gradient(180deg,#232323f5,#161616f5);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.product-intro-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.product-copy .label,.product-materials-copy .label,.product-showcase-panel .label{margin-bottom:1rem}
.product-copy h2,.product-materials-copy h2{margin-bottom:1.25rem}
.product-lead{font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.6;color:var(--grey-light);margin-bottom:1.25rem}
.product-copy p,.product-materials-copy p,.product-showcase-panel p{color:var(--text-secondary)}
.product-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.product-fact{padding:1.25rem;border:1px solid var(--border);border-radius:10px;background:linear-gradient(180deg,#272727f2,#1c1c1cf2);box-shadow:inset 0 1px 0 #ffffff05}
.product-fact-value{display:block;margin-bottom:.45rem;font-family:var(--font-heading);font-size:clamp(1.3rem,2vw,1.8rem);font-weight:800;line-height:1;color:var(--accent)}
.product-fact-label{display:block;margin-bottom:.35rem;color:#fff;font-weight:600}
.product-fact p{margin:0;font-size:.92rem;color:var(--text-secondary)}
.product-showcase-grid,.product-materials-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.product-showcase-media,.product-gallery-main,.product-gallery-card{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}
.product-showcase-media::after,.product-gallery-main::after,.product-gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#16161640 100%);pointer-events:none}
.product-showcase-media img,.product-gallery-main img,.product-gallery-card img{width:100%;height:100%;object-fit:cover}
.product-showcase-media--contain,.product-materials-main--contain,.product-gallery-duo-card--contain{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#2f2f2f 0%,#202020 70%)}
.product-showcase-media--clean::after,.product-materials-main--clean::after,.product-gallery-duo-card--clean::after{display:none}
.product-showcase-media--contain img,.product-materials-main--contain img,.product-gallery-duo-card--contain img{width:100%;height:100%;object-fit:contain;padding:2rem}
.product-showcase-media{min-height:520px}
.product-showcase-panel{padding:clamp(1.5rem,3vw,2.5rem);border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,#232323fa,#1c1c1cfa)}
.product-showcase-panel h3{margin-bottom:1rem;font-family:var(--font-heading);font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.08}
.product-checklist{display:grid;gap:.9rem;margin:1.5rem 0 0;padding:0;list-style:none}
.product-checklist li{display:flex;align-items:flex-start;gap:.8rem;color:var(--grey-light);font-weight:500}
.product-checklist li::before{content:"";width:10px;height:10px;min-width:10px;margin-top:.45rem;border-radius:2px;background:var(--accent);box-shadow:0 0 14px var(--accent-glow)}
.product-materials{background:var(--bg-dark)}
.product-materials-copy{max-width:40rem}
.product-materials-note{margin-top:1.5rem;padding:1rem 1.2rem;border-left:3px solid var(--accent);background:#f7cf3a12;color:var(--grey-light)}
.product-materials-visual{display:grid;gap:1rem}
.product-materials-main,.product-gallery-duo-card{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}
.product-materials-main{min-height:420px}
.product-materials-main::after,.product-gallery-duo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#16161640 100%);pointer-events:none}
.product-materials-main img,.product-gallery-duo-card img{width:100%;height:100%;object-fit:cover}
.product-gallery-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.product-gallery-duo-card{min-height:280px}
.product-gallery-caption{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:1;font-size:.9rem;font-weight:600;color:#fff}
.product-cta-note{margin-top:1.5rem;color:var(--text-secondary);font-size:.95rem}
.product-figures{background:linear-gradient(180deg,#161616,#131313)}
.product-figure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}
.product-figure-card{padding:1rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#262626f5,#1b1b1bf5);box-shadow:inset 0 1px 0 #ffffff05}
.product-figure-card--wide{grid-column:span 2}
.product-figure-media{position:relative;display:flex;align-items:center;justify-content:center;min-height:180px;padding:1rem;border-radius:10px;background:linear-gradient(180deg,#e9e4d8,#f7f3eb);box-shadow:inset 0 1px 0 #ffffffb3,inset 0 -22px 36px #74684c14,0 14px 24px #00000024;isolation:isolate;overflow:hidden}
.product-figure-media::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#00000008 1px,transparent 1px),linear-gradient(90deg,#00000008 1px,transparent 1px);background-size:18px 18px;opacity:.5;pointer-events:none}
.product-figure-media img{position:relative;z-index:1;max-width:100%;max-height:140px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 8px 18px #0000001f)}
.product-figure-card--wide .product-figure-media{min-height:250px;padding:1.25rem}
.product-figure-card--wide .product-figure-media img{max-height:210px}
.product-figure-card h3{margin:1rem 0 .45rem;font-family:var(--font-heading);font-size:1.05rem;line-height:1.08;color:#fff}
.product-figure-card p{margin:0;color:var(--text-secondary);font-size:.92rem;line-height:1.55}

/* Kontakt */
.contact-page{display:block}
.contact-page section{padding:var(--space-lg) 0}
.team-section-header .label,.contact-location-card .label{margin-bottom:1rem}
.contact-form-panel p,.contact-department-card p,.contact-location-card p{color:var(--text-secondary)}
.contact-inline-links{display:flex;flex-wrap:wrap;gap:1rem 1.4rem}
.contact-inline-link{display:inline-flex;align-items:center;gap:.65rem;color:var(--grey-light);font-weight:600;transition:color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.contact-inline-link:hover{color:var(--accent);transform:translateX(3px)}
.contact-inline-link i{width:16px;min-width:16px;color:var(--accent)}
.contact-form-panel{position:relative;padding:clamp(1.35rem,2vw,2.2rem);border:1px solid var(--border-accent);border-radius:18px;background:radial-gradient(circle at top right,#f7cf3a12,transparent 26%),linear-gradient(180deg,#242424fc,#161616fc);box-shadow:0 28px 50px #00000038,inset 0 1px 0 #ffffff08}
.contact-form-panel::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#ffffff05,transparent 18%);pointer-events:none}
.contact-form-panel-head{position:relative;z-index:1;margin-bottom:1.5rem}
.contact-form-kicker{display:inline-flex;margin-bottom:.9rem;padding:.35rem .75rem;border-radius:999px;background:#f7cf3a12;border:1px solid #f7cf3a2e;color:var(--accent);font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.contact-form-panel h2,.contact-location-card h1,.contact-location-card h2,.contact-team-panel h2{margin-bottom:.75rem;font-family:var(--font-heading);font-size:clamp(1.55rem,2.4vw,2.15rem);line-height:1.05}
.contact-form-note{margin:0 0 1rem;font-size:.88rem;color:var(--text-muted)}
.contact-form-status{margin-bottom:1.2rem;padding:1rem 1.1rem;border-radius:12px;border:1px solid var(--border);background:#ffffff05}
.contact-form-status--success{border-color:#f7cf3a42;background:#f7cf3a12}
.contact-form-status--error{border-color:#d46a6a66;background:#6c20201f}
.contact-form-status p{margin:0;color:#fff;font-weight:600}
.contact-form-status ul{margin:.75rem 0 0;padding-left:1.1rem}
.contact-form-status li{color:var(--grey-light)}
.contact-form{position:relative;z-index:1}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.contact-form-field{display:grid;gap:.5rem}
.contact-form-field--full{grid-column:1 / -1}
.contact-form-field label{font-family:var(--font-heading);font-size:.88rem;font-weight:700;letter-spacing:.02em;color:#fff}
.contact-form-field input,.contact-form-field select,.contact-form-field textarea{width:100%;padding:.95rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#111;color:#fff;box-shadow:inset 0 1px 0 #ffffff05;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.contact-form-field input::placeholder,.contact-form-field textarea::placeholder{color:#888}
.contact-form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%);background-position:calc(100% - 18px) calc(1.1rem + 2px),calc(100% - 12px) calc(1.1rem + 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.5rem}
.contact-form-field textarea{min-height:170px;resize:vertical}
.contact-form-field input:focus,.contact-form-field select:focus,.contact-form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #f7cf3a1c;background:#141414}
.contact-form-field.is-invalid input,.contact-form-field.is-invalid select,.contact-form-field.is-invalid textarea,.contact-form-consent.is-invalid label{border-color:#d46a6a}
.contact-routing-box{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.1rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#222222c7,#171717d9)}
.contact-routing-box span{font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}
.contact-routing-box strong{font-family:var(--font-heading);font-size:1rem;line-height:1.35;color:#fff}
.contact-form-consent{margin-top:1rem}
.contact-form-consent label{display:grid;grid-template-columns:20px 1fr;gap:.85rem;align-items:flex-start;padding:1rem;border:1px solid var(--border);border-radius:12px;background:#ffffff03}
.contact-form-consent input{margin-top:.2rem;accent-color:var(--accent)}
.contact-form-consent span,.contact-form-consent a{color:var(--grey-light);font-size:.92rem;line-height:1.6}
.contact-form-consent a{color:var(--accent);font-weight:600}
.contact-form-actions{margin-top:1.2rem}
.contact-form-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.team-section-header{margin-bottom:1.5rem}
.contact-workbench{background:linear-gradient(180deg,#161616,#131313)}
.contact-workbench-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);gap:clamp(1.25rem,2.8vw,2rem);align-items:start}
.contact-team-panel{padding:clamp(1.35rem,2vw,2rem);border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#232323fa,#171717fa);box-shadow:inset 0 1px 0 #ffffff08}
.contact-team-panel .contact-department-grid{grid-template-columns:1fr}
.contact-department-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.contact-department-card{display:grid;align-content:start;gap:1rem;padding:1.35rem;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#262626f2,#1a1a1af5);box-shadow:inset 0 1px 0 #ffffff05;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}
.contact-department-card:hover{transform:translateY(-4px);border-color:var(--border-accent);box-shadow:0 16px 32px #00000030}
.contact-department-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;border:1px solid var(--border-accent);background:linear-gradient(180deg,#f7cf3a1f,#f7cf3a0d);color:var(--accent);font-size:1.1rem}
.contact-department-card h3{margin:0;font-family:var(--font-heading);font-size:1.2rem;line-height:1.08;color:#fff}
.contact-department-email{display:inline-flex;align-items:center;min-height:42px;padding:.7rem .8rem;border-radius:10px;background:#111;border:1px solid var(--border);font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--grey-light);word-break:break-word}
.contact-department-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.contact-department-actions a{display:inline-flex;align-items:center;justify-content:center;padding:.72rem .9rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff03;color:#fff;font-family:var(--font-heading);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.contact-department-actions a:hover{transform:translateY(-2px);border-color:var(--accent);background:#f7cf3a12;color:var(--accent)}
.contact-location{background:radial-gradient(circle at top left,#f7cf3a12,transparent 22%),linear-gradient(180deg,#1b1b1b,#161616)}
.contact-location-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:1rem;align-items:stretch}
.contact-location-media,.contact-location-card{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,#262626f0,#1a1a1af5)}
.contact-location-media{min-height:100%;isolation:isolate}
.contact-location-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1616160f 0%,#161616c2 100%)}
.contact-location-media img{width:100%;height:100%;min-height:640px;object-fit:cover}
.contact-location-card{padding:1.5rem}
.contact-location-list{display:grid;gap:1rem;margin-top:1.4rem}
.contact-location-item{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.contact-location-item i{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#f7cf3a12;border:1px solid #f7cf3a29;color:var(--accent)}
.contact-location-item strong{display:block;margin-bottom:.2rem;font-family:var(--font-heading);font-size:.95rem;color:#fff}
.contact-location-item span,.contact-location-item a{color:var(--grey-light);line-height:1.6}
.contact-location-item a:hover{color:var(--accent)}
.contact-location-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.6rem}

@media (max-width: 991.98px) {
  .contact-workbench-grid,
  .contact-location-grid {
    grid-template-columns: 1fr;
  }

  .contact-location-media img {
    min-height: 380px;
  }
}

@media (max-width: 767.98px) {
  .contact-form-grid {
    grid-template-columns: 1fr;
  }

  .contact-inline-links,
  .contact-routing-box {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-location-card,
  .contact-team-panel,
  .contact-form-panel {
    padding: 1.2rem;
  }
}

/* Ansprechpartner */
.contact-page .team-section{position:relative}
.contact-page .team-section + .team-section{border-top:1px solid var(--border)}
.contact-page .team-section:nth-child(odd){background:radial-gradient(circle at top left,#f7cf3a12,transparent 24%),linear-gradient(180deg,#1a1a1a,#151515)}
.contact-page .team-section:nth-child(even){background:radial-gradient(circle at top right,#ffffff08,transparent 22%),linear-gradient(180deg,#171717,#121212)}
.contact-page .team-section .container{position:relative}
.contact-page .team-section .team-section-header{max-width:min(720px,100%);margin-bottom:clamp(1.4rem,2.4vw,2rem)}
.contact-page .team-section .team-section-header h2{margin-bottom:.8rem}
.contact-page .team-section .team-section-header p{max-width:58ch;margin:0;color:var(--text-secondary)}
.contact-page .team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;align-items:stretch}
.contact-page .team-card{position:relative;display:grid;align-content:start;gap:1rem;padding:1.35rem;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#262626f5,#181818fc);box-shadow:0 24px 44px #00000026,inset 0 1px 0 #ffffff08;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}
.contact-page .team-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#ffffff06,transparent 24%);pointer-events:none}
.contact-page .team-card:hover{transform:translateY(-5px);border-color:var(--border-accent);box-shadow:0 28px 48px #00000034,inset 0 1px 0 #ffffff0a}
.contact-page .team-avatar{position:relative;display:flex;align-items:flex-end;justify-content:center;width:min(100%,238px);min-height:auto;aspect-ratio:4 / 5;margin:0 auto .45rem;padding:.5rem;overflow:visible;isolation:isolate;border:none;border-radius:28px 28px 72px 28px;background:radial-gradient(circle at 22% 14%,#f7cf3a26 0%,transparent 30%),linear-gradient(145deg,#3a3220 0%,#1a1713 42%,#0f0f0f 100%);box-shadow:0 26px 36px #00000024;font-family:var(--font-heading);font-size:clamp(2.7rem,6vw,3.9rem);font-weight:800;letter-spacing:.08em;color:#fff;text-shadow:0 18px 30px #00000045}
.contact-page .team-avatar::before{content:"";position:absolute;inset:.45rem;border-radius:22px 22px 58px 22px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#ffffff08 0%,transparent 30%);pointer-events:none;z-index:1}
.contact-page .team-avatar::after{content:"";position:absolute;right:-10px;bottom:-12px;width:88px;height:88px;border-radius:0 0 28px 0;background:radial-gradient(circle,#f7cf3a2d 0%,rgba(247,207,58,0) 70%);filter:blur(6px);opacity:.9;pointer-events:none;z-index:0}
.contact-page .team-avatar--photo{align-items:stretch;justify-content:stretch}
.contact-page .team-avatar-image{position:relative;width:100%;height:100%;border-radius:22px 22px 58px 22px;object-fit:cover;object-position:center 18%;box-shadow:0 14px 24px #00000026;filter:saturate(1.02) contrast(1.02);transform:translateY(0) scale(1.01);transition:transform var(--t-slow) var(--ease),filter var(--t-fast) var(--ease)}
.contact-page .team-card:hover .team-avatar-image{transform:translateY(-2px) scale(1.045);filter:saturate(1.08) contrast(1.03)}
.page-id-41 .contact-page .team-avatar,.page-id-176 .contact-page .team-avatar{display:none}
.contact-page .team-name{margin:0;font-family:var(--font-heading);font-size:clamp(1.18rem,2.2vw,1.45rem);line-height:1.06;color:#fff}
.contact-page .team-role{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.45rem .8rem;border-radius:999px;border:1px solid #f7cf3a26;background:#f7cf3a12;font-family:var(--font-heading);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.contact-page .team-card p{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.65}
.contact-page .team-links{display:grid;gap:.75rem;margin-top:.1rem}
.contact-page .team-link{display:flex;align-items:center;gap:.75rem;min-height:50px;padding:.82rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#111;color:#fff;font-weight:600;line-height:1.45;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.contact-page .team-link:hover{transform:translateX(3px);border-color:var(--border-accent);background:#171717;color:var(--accent)}
.contact-page .team-link i{display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;color:var(--accent)}
.contact-page .team-link span{min-width:0}
.contact-page .team-link[href^="mailto:"]{word-break:break-word}

@media (max-width: 991.98px) {
  .contact-page .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .contact-page .team-grid {
    grid-template-columns: 1fr;
  }

  .contact-page .team-card {
    padding: 1.1rem;
  }

  .contact-page .team-avatar {
    width: min(100%, 220px);
  }

  .contact-page .team-link {
    padding: .8rem .9rem;
  }
}

/* Wir über uns */
.hero--about-page::after{background:linear-gradient(180deg,#16161614 0%,#161616c7 82%,var(--bg-primary) 100%)}
.about-page{display:block}
.about-page section{padding:var(--space-lg) 0}
.about-page-intro{background:radial-gradient(circle at top right,#f7cf3a18,transparent 30%),linear-gradient(180deg,#232323f2,#161616)}
.about-page-intro-grid,.about-page-expertise-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.about-page-copy .label,.about-page-expertise-copy .label,.about-page-cta-box .label{margin-bottom:1rem}
.about-page-copy h2,.about-page-expertise-copy h2,.about-page-cta-box h2{margin-bottom:1.25rem}
.about-page-copy p,.about-page-highlight p,.about-page-expertise-copy p,.about-page-expertise-box p,.about-page-cta-box p{color:var(--text-secondary)}
.about-page-lead{font-size:clamp(1.08rem,1.8vw,1.32rem);line-height:1.6;color:var(--grey-light);margin-bottom:1.25rem}
.about-page-highlights{display:grid;gap:1rem;margin-top:2rem}
.about-page-highlight{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.2rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#272727e6,#1d1d1df2)}
.about-page-highlight-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--accent);font-size:1rem}
.about-page-highlight h3{margin:0 0 .4rem;font-family:var(--font-heading);font-size:1.1rem;line-height:1.1}
.about-page-highlight p{margin:0;font-size:.95rem}
.about-page-visual{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(180px,.75fr);gap:1rem;align-items:stretch}
.about-page-visual-main,.about-page-visual-card,.about-page-expertise-media,.about-page-logo-card{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}
.about-page-visual-main{min-height:520px}
.about-page-visual-main img,.about-page-visual-card img,.about-page-expertise-media img{width:100%;height:100%;object-fit:cover}
.about-page-visual-stack{display:grid;gap:1rem}
.about-page-visual-card{min-height:250px}
.about-page-visual-card--accent{background:radial-gradient(circle at center,#3a3320 0%,#201f1a 75%)}
.about-page-stats{background:var(--bg-dark);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.about-page-history{position:relative;background:linear-gradient(180deg,var(--bg-primary),#161616)}
.about-page-history::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),transparent);opacity:.6}
.history-slider{display:grid;grid-template-columns:1fr;gap:1rem;align-items:stretch}
.history-slider-stage,.history-slider-item{border:1px solid var(--border);background:linear-gradient(180deg,#262626f5,#181818f8)}
.history-slider-stage{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:0;padding:clamp(1.55rem,2.8vw,2.35rem);border-radius:18px;overflow:hidden;box-shadow:0 24px 60px #0000002e}
.history-slider-stage::before{content:"";position:absolute;inset:auto auto -80px -80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(247,207,58,.14) 0%,rgba(247,207,58,0) 72%);pointer-events:none}
.history-slider-stage::after{content:"";position:absolute;top:1.25rem;right:1.25rem;width:120px;height:120px;border-top:1px solid var(--border-accent);border-right:1px solid var(--border-accent);opacity:.28;pointer-events:none}
.history-slider-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.history-slider-stage-counter{display:inline-flex;align-items:baseline;gap:.25rem;font-family:var(--font-heading);font-weight:700;letter-spacing:.08em;color:var(--grey-light)}
.history-slider-stage-body{display:flex;flex-direction:column;justify-content:flex-start;min-height:var(--history-body-height, auto)}
.history-slider-stage-measure{position:absolute;top:0;left:clamp(1.55rem,2.8vw,2.35rem);right:clamp(1.55rem,2.8vw,2.35rem);visibility:hidden;pointer-events:none;opacity:0;z-index:-1}
.history-slider-stage-year{margin-bottom:1rem;font-family:var(--font-heading);font-size:clamp(4rem,10vw,7.5rem);font-weight:900;line-height:.9;letter-spacing:-.05em;color:#fff;text-shadow:0 0 35px rgba(247,207,58,.1)}
.history-slider-stage-title{max-width:none;margin-bottom:1rem;font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);line-height:.95;letter-spacing:-.03em;text-transform:uppercase}
.history-slider-stage-text{max-width:42rem;margin:0 0 1.5rem;color:var(--grey-light);font-size:1.04rem;line-height:1.75}
.history-slider-stage-text ul{margin:0;padding-left:1.2rem}
.history-slider-stage-text li + li{margin-top:.55rem}
.history-slider-stage-progress{position:relative;height:4px;margin-top:auto;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.history-slider-stage-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-bright));box-shadow:0 0 18px var(--accent-glow);transition:width var(--t-base) var(--ease)}
.history-slider-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem}
.history-slider-control{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-width:126px;height:54px;padding:0 1rem;border:1px solid var(--border);border-radius:999px;background:#232323;color:#fff;font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.history-slider-control:hover:not(:disabled){transform:translateY(-2px);border-color:var(--border-accent);background:var(--accent);color:var(--bg-dark)}
.history-slider-control:disabled{opacity:.38;cursor:not-allowed}
.history-slider-control:focus-visible,.history-slider-item:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.history-slider-control-text{white-space:nowrap}
.history-slider-rail{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;max-height:none;overflow:visible;padding:0}
.history-slider-rail::-webkit-scrollbar{height:8px}
.history-slider-rail::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px}
.history-slider-item{position:relative;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;max-width:100%;padding:.78rem .95rem;border-radius:999px;text-align:left;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.history-slider-item::before{content:"";position:static;width:8px;height:8px;min-width:8px;border-radius:50%;background:#7e776b;transition:background var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.history-slider-item:hover,.history-slider-item.is-active{transform:translateY(-2px);border-color:var(--border-accent);background:linear-gradient(180deg,#2b2b2bf8,#1b1b1bf8);box-shadow:0 12px 26px #00000024}
.history-slider-item.is-active::before{background:var(--accent);box-shadow:0 0 16px var(--accent-glow)}
.history-slider-item-year{font-family:var(--font-heading);font-size:.92rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.history-slider-item.is-active .history-slider-item-year{color:var(--accent)}
.history-slider-item-title{display:none}
.history-slider-item-text{color:var(--text-secondary);font-size:.92rem;line-height:1.55}
.about-page-expertise{background:var(--bg-dark)}
.about-page-industry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem;padding:0;margin:2rem 0 0;list-style:none}
.about-page-industry-list li{display:flex;align-items:flex-start;gap:.75rem;padding:0 0 .2rem;color:var(--grey-light);font-weight:500}
.about-page-industry-list li::before{content:"";width:10px;height:10px;min-width:10px;margin-top:.45rem;border-radius:2px;background:var(--accent);box-shadow:0 0 14px var(--accent-glow)}
.about-page-expertise-media{min-height:420px;margin-bottom:1rem}
.about-page-expertise-box{padding:1.4rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#272727f0,#1c1c1cf5)}
.about-page-expertise-box strong{display:block;margin-bottom:.7rem;font-family:var(--font-heading);font-size:1.15rem;line-height:1.1;color:#fff}
.about-page-expertise-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.3rem}
.about-page-expertise-links a{color:var(--accent);font-weight:600;transition:color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.about-page-expertise-links a:hover{color:var(--accent-bright);transform:translateX(2px)}
.quality-page .about-page-expertise-grid{align-items:start}
.quality-downloads-card{height:100%;padding:1.4rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#272727f0,#1c1c1cf5)}
.quality-downloads-card .label{margin-bottom:.9rem}
.quality-downloads-card h3{margin:0 0 .8rem;font-family:var(--font-heading);font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.08;color:#fff}
.quality-downloads-card p{margin:0 0 1.2rem;color:var(--text-secondary)}
.quality-downloads-table{width:100%;border-collapse:collapse}
.quality-downloads-table thead th{padding:0 0 .85rem;border-bottom:1px solid var(--border);font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-align:left}
.quality-downloads-table th:last-child,.quality-downloads-table td:last-child{text-align:right}
.quality-downloads-table tbody tr + tr td{border-top:1px solid var(--border)}
.quality-downloads-table td{padding:1rem 0;vertical-align:top}
.quality-downloads-doc strong{display:block;margin-bottom:.18rem;font-family:var(--font-heading);font-size:1rem;line-height:1.12;color:#fff}
.quality-downloads-doc span{display:block;color:var(--text-secondary);font-size:.9rem;line-height:1.55}
.quality-downloads-link{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:42px;padding:.68rem .95rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#111;color:#fff;font-family:var(--font-heading);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.quality-downloads-link:hover{transform:translateY(-2px);border-color:var(--border-accent);background:#f7cf3a12;color:var(--accent)}
.quality-downloads-link i{color:currentColor}
.about-page-customers{background:var(--bg-primary)}
.about-page-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.about-page-logo-card{display:flex;align-items:center;justify-content:center;min-height:150px;padding:1.5rem;border-color:#ffffff26;background:#fff;transition:border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}
.about-page-logo-card:hover{transform:translateY(-3px);border-color:var(--border-accent);box-shadow:0 14px 28px #00000030}
.about-page-logo-card img{width:100%;max-width:190px;max-height:74px;object-fit:contain;filter:none;opacity:1;transition:filter var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}
.about-page-logo-card:hover img{filter:none;opacity:1}
.about-page-cta{background:linear-gradient(180deg,#1a1a1a,#161616)}
.about-page-cta-box{display:grid;grid-template-columns:minmax(0,1.1fr) auto;gap:2rem;align-items:center;padding:clamp(1.75rem,3vw,3rem);border:1px solid var(--border);border-radius:16px;background:radial-gradient(circle at top right,#f7cf3a16,transparent 28%),linear-gradient(180deg,#262626f0,#1a1a1af5)}
.about-page-cta-actions{display:flex;flex-direction:column;gap:1rem;min-width:220px}

.technology-overview-cards .row{perspective:1200px}
.technology-overview .v-card-overlay{gap:.25rem}
.technology-overview .v-card p{max-height:120px;opacity:1;color:var(--grey-light)}
.technology-overview .v-card:hover p{max-height:120px}


@media (min-width: 992px) {
.stat-divider{position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:50px;background:linear-gradient(180deg,transparent,var(--accent-glow),transparent)}

.product-showcase-grid{align-items:stretch}
.product-showcase-media{height:100%;min-height:0}
}

@keyframes heroWord {
  from {
    opacity: 0;
    transform: translateY(50px) skewY(3deg);
    filter: blur(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0) skewY(0deg);
    filter: blur(0);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(25px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroLineSlide {
  0%,
  100% {
    transform: translateY(-20%);
    opacity: 0.08;
  }

  50% {
    transform: translateY(20%);
    opacity: 0.15;
  }
}

@keyframes ctaGlow {
  0%,
  100% {
    transform: translateX(-50%) scale(1);
    opacity: 0.4;
  }

  50% {
    transform: translateX(-50%) scale(1.15);
    opacity: 0.55;
  }
}

@media (max-width: 991.98px) {
  .nav-links-wrap,
  .nav-topbar .language-switcher--desktop,
  .nav-cta-desktop {
    display: none;
  }

  .hamburger {
    display: flex;
  }
}

@media (min-width: 992px) {
  .mobile-menu {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  :root {
    --nav-h: 82px;
    --logo-w: 130px;
  }

  .nav-topbar > .container {
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
  }

  .hero {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 0 100%);
  }

  .hero-content {
    padding-bottom: 5.5rem;
  }

  .hero-actions {
    width: 100%;
  }

  .hero-actions .btn-primary,
  .hero-actions .btn-outline {
    width: 100%;
  }

  .cta .row {
    text-align: center;
  }

  .cta-actions {
    align-items: center;
  }

  .product-intro-grid,
  .product-showcase-grid,
  .product-materials-grid,
  .contact-intro-grid,
  .about-page-intro-grid,
  .about-page-expertise-grid,
  .about-page-cta-box {
    grid-template-columns: 1fr;
  }

  .product-showcase-media,
  .product-materials-main,
  .about-page-visual-main,
  .about-page-expertise-media {
    min-height: 360px;
  }

  .product-gallery-duo {
    grid-template-columns: 1fr;
  }

  .product-gallery-duo-card {
    min-height: 240px;
  }

  .product-figure-grid {
    grid-template-columns: 1fr;
  }

  .product-figure-card--wide {
    grid-column: auto;
  }

  .product-figure-media,
  .product-figure-card--wide .product-figure-media {
    min-height: 180px;
  }

  .product-figure-card--wide .product-figure-media img {
    max-height: 140px;
  }

  .product-facts,
  .contact-highlights,
  .team-grid,
  .about-page-logo-grid,
  .about-page-industry-list {
    grid-template-columns: 1fr;
  }

  .about-page-visual {
    grid-template-columns: 1fr;
  }

  .history-slider-stage-year {
    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .history-slider-stage-title {
    max-width: none;
    font-size: clamp(1.6rem, 7vw, 2.4rem);
  }

  .history-slider-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .history-slider-rail {
    grid-column: 1 / -1;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: .4rem;
  }

  .history-slider-control {
    width: 100%;
    min-width: 0;
  }

  .history-slider-item {
    scroll-snap-align: start;
  }

  .history-slider-item:hover,
  .history-slider-item.is-active {
    transform: translateY(-2px);
  }

  .quality-downloads-table,
  .quality-downloads-table tbody,
  .quality-downloads-table tr,
  .quality-downloads-table td {
    display: block;
    width: 100%;
  }

  .quality-downloads-table thead {
    display: none;
  }

  .quality-downloads-table td {
    padding: .8rem 0;
    border-top: none !important;
  }

  .quality-downloads-table tbody tr {
    padding: .95rem 0;
    border-top: 1px solid var(--border);
  }

  .quality-downloads-table tbody tr:first-child {
    border-top: none;
    padding-top: 0;
  }

  .quality-downloads-table td:last-child {
    text-align: left;
    padding-top: .1rem;
  }

  .quality-downloads-link {
    width: 100%;
  }

  .about-page-cta-actions {
    min-width: 0;
  }

  .technology-overview .v-card p {
    max-height: 140px;
    font-size: .9rem;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}
