/*
 * ZTN Südwest – Global Theme CSS
 *
 * Built on top of tokens.css. Provides:
 *   - body / typography defaults
 *   - ztn-page wrapper
 *   - container / section helpers
 *   - cards (services, location, certificate, contact)
 *   - hero (photo, plain)
 *   - buttons (primary, secondary, portal, download)
 *   - nav / footer / contact band
 *   - info box / bullet list
 *   - responsive adjustments
 */

/* ====================================================================
   1. Base
   ==================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.ztn-page {
  margin: 0;
  padding: 0;
  font-family: var(--ztn-font-base);
  color: var(--ztn-text-grey);
  background: #fff;
  font-size: var(--ztn-fs-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { color: var(--ztn-navy); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--ztn-red-600); text-decoration: underline; }

p { margin: 0 0 1em 0; }
p:last-child { margin-bottom: 0; }

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

h1, h2, h3, h4, h5, h6 {
  color: var(--ztn-navy);
  font-weight: 700;
  margin: 0 0 .6em 0;
  line-height: 1.2;
}

ul, ol { padding-left: 1.4em; margin: 0 0 1em 0; }

.ztn-page h1 { font-size: var(--ztn-fs-h1); }
.ztn-page h2 { font-size: var(--ztn-fs-h2); }
.ztn-page h3 { font-size: var(--ztn-fs-h3); }

/* ====================================================================
   2. Page wrapper / containers / sections
   ==================================================================== */
.ztn-page .ztn-container {
  max-width: var(--ztn-container-max);
  margin: 0 auto;
  padding: 0 var(--ztn-container-pad);
  width: 100%;
}

.ztn-page .ztn-section {
  padding: var(--ztn-sp-9) 0;
}

.ztn-page .ztn-section--tight {
  padding: var(--ztn-sp-7) 0;
}

.ztn-page .ztn-text-col {
  max-width: var(--ztn-text-col-max);
  margin: 0 auto;
}

.ztn-page .ztn-section-title {
  font-size: var(--ztn-fs-h2);
  color: var(--ztn-navy);
  font-weight: 700;
  margin: 0 0 var(--ztn-sp-3) 0;
  position: relative;
  padding-bottom: var(--ztn-sp-3);
}

.ztn-page .ztn-section-title::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 56px; height: 3px;
  background: var(--ztn-red-600);
}

.ztn-page .ztn-section-lead {
  color: var(--ztn-text-grey);
  max-width: var(--ztn-text-col-max);
  margin-bottom: var(--ztn-sp-7);
}

/* ====================================================================
   3. Hero
   ==================================================================== */
.ztn-page .ztn-hero {
  position: relative;
  width: 100%;
  background: #fff;
}

.ztn-page .ztn-hero--main { height: var(--ztn-hero-main); }
.ztn-page .ztn-hero--photo { height: var(--ztn-hero-photo); }
.ztn-page .ztn-hero--plain { height: var(--ztn-hero-plain); background: var(--ztn-panel-blue); }

.ztn-page .ztn-hero img.ztn-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  display: block;
}

.ztn-page .ztn-hero--plain .ztn-hero__inner {
  max-width: var(--ztn-container-max);
  height: 100%;
  margin: 0 auto;
  padding: 0 var(--ztn-container-pad);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.ztn-page .ztn-hero__title {
  font-size: var(--ztn-fs-hero);
  color: var(--ztn-navy);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 .4em 0;
  max-width: 720px;
}

.ztn-page .ztn-hero__sub {
  font-size: 19px;
  color: var(--ztn-text-grey);
  line-height: 1.5;
  margin: 0;
  max-width: 660px;
}

/* ====================================================================
   4. Cards
   ==================================================================== */
.ztn-page .ztn-card {
  background: #fff;
  border-radius: var(--ztn-radius);
  box-shadow: var(--ztn-shadow-card);
  padding: var(--ztn-sp-6);
  position: relative;
  overflow: visible;
  transition: box-shadow .15s ease, transform .15s ease;
}

.ztn-page .ztn-card__icon {
  width: 40px;
  height: 40px;
  color: var(--ztn-navy);
  margin-bottom: var(--ztn-sp-3);
}

.ztn-page .ztn-card__title {
  font-size: var(--ztn-fs-card-title);
  font-weight: 600;
  color: var(--ztn-navy);
  margin: 0 0 var(--ztn-sp-3) 0;
  line-height: 1.3;
}

.ztn-page .ztn-card__body {
  font-size: var(--ztn-fs-body-sm);
  color: var(--ztn-text-grey-2);
  line-height: 1.5;
  margin: 0;
}

/* Service card with hover state */
.ztn-page .ztn-card--service {
  display: flex;
  flex-direction: column;
  padding: var(--ztn-sp-4) var(--ztn-sp-5);
  min-height: 90px;
  justify-content: center;
  position: relative;
  cursor: pointer;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid var(--ztn-line);
  background: transparent;
  transition: background-color .15s ease;
}

.ztn-page .ztn-card--service:hover {
  background: var(--ztn-red-50);
  text-decoration: none;
}

.ztn-page .ztn-card--service::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: transparent;
  transition: background-color .15s ease;
}

.ztn-page .ztn-card--service:hover::before { background: var(--ztn-red-600); }

.ztn-page .ztn-card--service:hover .ztn-card__title { color: var(--ztn-red-600); }
.ztn-page .ztn-card--service:hover .ztn-card__icon { color: var(--ztn-red-600); }
.ztn-page .ztn-card--service:hover .ztn-card__chevron { color: var(--ztn-red-600); transform: translateX(4px); }

.ztn-page .ztn-card--service .ztn-card__icon { width: 28px; height: 28px; margin: 0; }
.ztn-page .ztn-card--service .ztn-card__title { font-size: 16px; font-weight: 600; color: var(--ztn-text-slate); margin: 0 0 4px 0; }
.ztn-page .ztn-card--service .ztn-card__body { font-size: 13px; margin: 0; }

/* Card grid */
.ztn-page .ztn-card-grid {
  display: grid;
  gap: var(--ztn-sp-5);
}
.ztn-page .ztn-card-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.ztn-page .ztn-card-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ztn-page .ztn-card-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }

@media (max-width: 991px) {
  .ztn-page .ztn-card-grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ztn-page .ztn-card-grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 575px) {
  .ztn-page .ztn-card-grid--4,
  .ztn-page .ztn-card-grid--3,
  .ztn-page .ztn-card-grid--2 { grid-template-columns: 1fr; }
}

/* ====================================================================
   5. Buttons
   ==================================================================== */
.ztn-page .ztn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 22px;
  border-radius: var(--ztn-radius-sm);
  font-size: var(--ztn-fs-button);
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  border: 2px solid transparent;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
  white-space: nowrap;
}

.ztn-page .ztn-btn:hover { text-decoration: none; }

.ztn-page .ztn-btn--primary {
  background: var(--ztn-navy);
  color: #fff;
  border-color: var(--ztn-navy);
}
.ztn-page .ztn-btn--primary:hover { background: #163d70; color: #fff; border-color: #163d70; }

.ztn-page .ztn-btn--secondary {
  background: #fff;
  color: var(--ztn-navy);
  border-color: var(--ztn-navy);
}
.ztn-page .ztn-btn--secondary:hover { background: var(--ztn-panel-blue); color: var(--ztn-navy); border-color: var(--ztn-navy); }

.ztn-page .ztn-btn--portal {
  background: var(--ztn-navy);
  color: #fff;
  border-color: var(--ztn-navy);
  padding: 11px 18px;
  font-size: 15px;
}
.ztn-page .ztn-btn--portal:hover { background: #163d70; color: #fff; }

.ztn-page .ztn-btn--icon svg { width: 18px; height: 18px; }

/* ====================================================================
   6. Header / Navigation
   ==================================================================== */
.ztn-page .ztn-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  height: var(--ztn-header-height);
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--ztn-line);
}

.ztn-page .ztn-header__inner {
  width: 100%;
  max-width: var(--ztn-container-max);
  margin: 0 auto;
  padding: 0 var(--ztn-container-pad);
  display: flex;
  align-items: center;
  gap: var(--ztn-sp-7);
}

.ztn-page .ztn-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.ztn-page .ztn-logo svg { display: block; height: 60px; width: auto; }
.ztn-page .ztn-logo:hover { text-decoration: none; }

.ztn-page .ztn-nav {
  display: flex;
  align-items: center;
  gap: var(--ztn-sp-6);
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
  justify-content: center;
}

.ztn-page .ztn-nav__item { position: relative; }

.ztn-page .ztn-nav__link {
  display: inline-block;
  font-size: var(--ztn-fs-nav);
  font-weight: 400;
  color: var(--ztn-text-slate);
  padding: 8px 2px;
  position: relative;
  text-decoration: none;
  transition: color .15s ease;
}

.ztn-page .ztn-nav__link:hover {
  color: var(--ztn-red-600);
  text-decoration: none;
}

.ztn-page .ztn-nav__link.is-active,
.ztn-page .ztn-nav__link.current-menu-item {
  color: var(--ztn-red-600);
  font-weight: 600;
}

.ztn-page .ztn-nav__link.is-active::after,
.ztn-page .ztn-nav__link.current-menu-item::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 2px;
  background: var(--ztn-red-600);
}

.ztn-page .ztn-header__actions { margin-left: auto; display: flex; align-items: center; gap: var(--ztn-sp-4); }

.ztn-page .ztn-mobile-toggle {
  display: none;
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: var(--ztn-navy);
}

.ztn-page .ztn-mobile-toggle svg { width: 28px; height: 28px; display: block; }

/* Mobile menu */
.ztn-page .ztn-mobile-menu {
  display: none;
  position: fixed;
  inset: var(--ztn-header-height) 0 0 0;
  background: #fff;
  z-index: 99;
  overflow-y: auto;
  padding: var(--ztn-sp-5) var(--ztn-container-pad);
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}
.ztn-page .ztn-mobile-menu.is-open { display: block; }

.ztn-page .ztn-mobile-menu ul { list-style: none; padding: 0; margin: 0; }
.ztn-page .ztn-mobile-menu a {
  display: block;
  padding: var(--ztn-sp-4) 0;
  font-size: 18px;
  color: var(--ztn-text-slate);
  border-bottom: 1px solid var(--ztn-line);
  text-decoration: none;
}
.ztn-page .ztn-mobile-menu a.is-active,
.ztn-page .ztn-mobile-menu a:hover { color: var(--ztn-red-600); }

@media (max-width: 991px) {
  .ztn-page .ztn-nav,
  .ztn-page .ztn-header__actions .ztn-btn--portal { display: none; }
  .ztn-page .ztn-mobile-toggle { display: inline-flex; }
}

/* ====================================================================
   7. Footer / Contact band
   ==================================================================== */
.ztn-page .ztn-contact-band {
  background: var(--ztn-navy-deep);
  color: #fff;
  padding: var(--ztn-sp-7) 0;
}

.ztn-page .ztn-contact-band__inner {
  max-width: var(--ztn-container-max);
  margin: 0 auto;
  padding: 0 var(--ztn-container-pad);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ztn-sp-6);
}

.ztn-page .ztn-contact-band__col { flex: 1; min-width: 220px; }
.ztn-page .ztn-contact-band__col--narrow { flex: 0 0 auto; }

.ztn-page .ztn-contact-band__label {
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ztn-footer-text);
  margin: 0 0 6px 0;
  font-weight: 600;
}

.ztn-page .ztn-contact-band__value {
  font-size: 17px;
  color: #fff;
  margin: 0;
  line-height: 1.45;
}

.ztn-page .ztn-contact-band__value--lg { font-size: 22px; font-weight: 600; }

.ztn-page .ztn-contact-band a { color: #fff; }
.ztn-page .ztn-contact-band a:hover { color: #fff; text-decoration: underline; }

.ztn-page .ztn-footer {
  background: var(--ztn-footer-bg);
  color: var(--ztn-footer-text);
  padding: var(--ztn-sp-8) 0 var(--ztn-sp-5);
  font-size: 14px;
}

.ztn-page .ztn-footer__inner {
  max-width: var(--ztn-container-max);
  margin: 0 auto;
  padding: 0 var(--ztn-container-pad);
}

.ztn-page .ztn-footer__grid {
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  gap: var(--ztn-sp-8);
  padding-bottom: var(--ztn-sp-7);
  border-bottom: 1px solid var(--ztn-footer-rule);
}

.ztn-page .ztn-footer__brand .ztn-logo svg { height: 64px; filter: brightness(0) invert(1); }
.ztn-page .ztn-footer__brand-info { margin-top: var(--ztn-sp-4); line-height: 1.7; }
.ztn-page .ztn-footer__brand-info p { margin: 0 0 4px 0; color: var(--ztn-footer-text); }

.ztn-page .ztn-footer__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--ztn-sp-3) var(--ztn-sp-6);
}

.ztn-page .ztn-footer__links a {
  display: block;
  padding: 4px 0;
  color: var(--ztn-footer-text);
  font-size: 14px;
}
.ztn-page .ztn-footer__links a:hover { color: #fff; text-decoration: none; }

.ztn-page .ztn-footer__copyright {
  padding-top: var(--ztn-sp-5);
  font-size: 13px;
  color: var(--ztn-footer-text);
  text-align: left;
}

@media (max-width: 767px) {
  .ztn-page .ztn-footer__grid { grid-template-columns: 1fr; gap: var(--ztn-sp-6); }
  .ztn-page .ztn-footer__links { grid-template-columns: 1fr 1fr; }
}

/* ====================================================================
   8. Misc component classes
   ==================================================================== */
.ztn-page .ztn-info-box {
  background: var(--ztn-red-50);
  border: 1px solid #EED7D5;
  border-left: 4px solid var(--ztn-red-600);
  border-radius: var(--ztn-radius-sm);
  padding: var(--ztn-sp-4) var(--ztn-sp-5);
  margin: var(--ztn-sp-5) 0;
  font-size: var(--ztn-fs-body-sm);
  color: var(--ztn-text-slate);
  display: flex;
  gap: var(--ztn-sp-4);
  align-items: flex-start;
}
.ztn-page .ztn-info-box__icon { color: var(--ztn-red-600); flex-shrink: 0; margin-top: 2px; }
.ztn-page .ztn-info-box__label { color: var(--ztn-red-600); font-weight: 600; margin: 0 0 6px 0; display: block; }
.ztn-page .ztn-info-box__body { margin: 0; }

.ztn-page .ztn-bullet-list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--ztn-sp-5) 0;
}
.ztn-page .ztn-bullet-list li {
  position: relative;
  padding-left: var(--ztn-sp-5);
  margin-bottom: var(--ztn-sp-3);
  color: var(--ztn-text-grey);
}
.ztn-page .ztn-bullet-list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 11px;
  width: 7px; height: 7px;
  background: var(--ztn-red-600);
  border-radius: 50%;
}

.ztn-page .ztn-kv-table {
  display: grid;
  grid-template-columns: 220px 1fr;
  row-gap: var(--ztn-sp-3);
  column-gap: var(--ztn-sp-5);
  margin: var(--ztn-sp-4) 0;
}
.ztn-page .ztn-kv-table dt { font-weight: 600; color: var(--ztn-text-slate); margin: 0; }
.ztn-page .ztn-kv-table dd { margin: 0; color: var(--ztn-text-grey); }

@media (max-width: 575px) {
  .ztn-page .ztn-kv-table { grid-template-columns: 1fr; row-gap: 4px; }
  .ztn-page .ztn-kv-table dd { margin-bottom: var(--ztn-sp-3); }
}

/* Location card */
.ztn-page .ztn-card--location { padding: var(--ztn-sp-7); }
.ztn-page .ztn-card--location .ztn-card__title { font-size: var(--ztn-fs-h3); margin-bottom: var(--ztn-sp-5); }

.ztn-page .ztn-badge {
  display: inline-block;
  background: var(--ztn-red-50);
  color: var(--ztn-red-600);
  padding: 5px 14px;
  border-radius: var(--ztn-radius-pill);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .03em;
}

.ztn-page .ztn-card__note {
  margin-top: var(--ztn-sp-5);
  padding-top: var(--ztn-sp-4);
  border-top: 1px solid var(--ztn-line);
  font-size: 14px;
  color: var(--ztn-text-grey-2);
}

/* Download list */
.ztn-page .ztn-download-row {
  display: flex;
  align-items: center;
  gap: var(--ztn-sp-4);
  padding: var(--ztn-sp-4) var(--ztn-sp-5);
  background: #fff;
  border: 1px solid var(--ztn-line);
  border-radius: var(--ztn-radius-sm);
  margin-bottom: var(--ztn-sp-3);
  transition: background-color .15s ease, border-color .15s ease;
}
.ztn-page .ztn-download-row:hover { background: var(--ztn-red-50); border-color: #EED7D5; }

.ztn-page .ztn-download-row__icon { color: var(--ztn-navy); flex-shrink: 0; }
.ztn-page .ztn-download-row__icon svg { width: 22px; height: 22px; display: block; }
.ztn-page .ztn-download-row__body { flex: 1; min-width: 0; }
.ztn-page .ztn-download-row__title { font-size: 16px; font-weight: 600; color: var(--ztn-text-slate); margin: 0 0 2px 0; }
.ztn-page .ztn-download-row__desc  { font-size: 14px; color: var(--ztn-text-grey-2); margin: 0; }
.ztn-page .ztn-download-row__action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ztn-red-600);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  flex-shrink: 0;
}
.ztn-page .ztn-download-row__action:hover { text-decoration: underline; }

/* Job-list */
.ztn-page .ztn-job-row {
  display: flex;
  align-items: center;
  gap: var(--ztn-sp-4);
  padding: var(--ztn-sp-5) var(--ztn-sp-6);
  background: #fff;
  border: 1px solid var(--ztn-line);
  border-radius: var(--ztn-radius-sm);
  margin-bottom: var(--ztn-sp-4);
}
.ztn-page .ztn-job-row__title { font-weight: 600; color: var(--ztn-text-slate); margin: 0; font-size: 18px; }
.ztn-page .ztn-job-row__meta { font-size: 14px; color: var(--ztn-text-grey-2); margin: 4px 0 0; }
.ztn-page .ztn-job-row__cta { margin-left: auto; flex-shrink: 0; }

/* ====================================================================
   9. Elementor element overrides
   ==================================================================== */
/* Ensure Elementor container widths fit our container */
.ztn-page .elementor-section .elementor-container,
.ztn-page .elementor-section .e-con,
.ztn-page .elementor .elementor-widget-container {
  /* Inherit from .ztn-container if needed */
}

/* When Elementor page doesn't have ztn-container, ensure max width */
.ztn-page .elementor-top-section,
.ztn-page .elementor-section {
  max-width: var(--ztn-container-max);
  margin: 0 auto;
  padding-left: var(--ztn-container-pad);
  padding-right: var(--ztn-container-pad);
}

.ztn-page .elementor-top-section.elementor-section-full_width,
.ztn-page .elementor-top-section.elementor-section-stretched {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.ztn-page .elementor-widget-heading .elementor-heading-title {
  color: var(--ztn-navy);
}

/* Override Elementor inline color when the .ztn-page h-tag applies */
.ztn-page h1.elementor-heading-title,
.ztn-page h2.elementor-heading-title,
.ztn-page h3.elementor-heading-title,
.ztn-page h4.elementor-heading-title {
  color: var(--ztn-navy);
}

/* ====================================================================
   10. App mockup (Startseite)
   ==================================================================== */
.ztn-page .ztn-app-mockup {
  width: 280px;
  height: 480px;
  background: #102852;
  border-radius: 32px;
  padding: 12px;
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  position: relative;
  margin: 0 auto;
}

.ztn-page .ztn-app-mockup__screen {
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 22px;
  padding: 28px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  font-size: 13px;
  color: var(--ztn-text-grey);
}

.ztn-page .ztn-app-mockup__header { display: flex; align-items: center; gap: 8px; }
.ztn-page .ztn-app-mockup__header svg { height: 22px; width: auto; }

.ztn-page .ztn-app-mockup__greeting { color: var(--ztn-navy); font-weight: 600; font-size: 13px; line-height: 1.4; }
.ztn-page .ztn-app-mockup__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ztn-page .ztn-app-mockup__list li { background: var(--ztn-panel-blue); border-radius: 12px; padding: 12px; line-height: 1.3; font-size: 12px; }
.ztn-page .ztn-app-mockup__list li strong { color: var(--ztn-navy); display: block; margin-bottom: 4px; font-size: 13px; }

@media (max-width: 991px) {
  .ztn-page .ztn-app-mockup { width: 240px; height: 420px; }
}


/* Contact band button: keep nav text color, white background */
.ztn-page .ztn-contact-band .ztn-btn,
.ztn-page .ztn-contact-band .ztn-btn:hover,
.ztn-page .ztn-contact-band a.ztn-btn {
  color: var(--ztn-navy) !important;
}


/* Standorte: red title for senior/Verband locations */
.ztn-page .ztn-card__title--senior {
  color: var(--ztn-red-600) !important;
}


/* Autonomous visual-QA: use the authoritative 1420px content grid.
 * Elementor's default 1140px inner container caused narrow columns,
 * excessive wrapping and page-height drift on the six subpages. */
.ztn-page .ztn-section > .elementor-container,
.ztn-page .ztn-section .elementor-container,
.ztn-page .ztn-section > .e-con,
.ztn-page .ztn-section .e-con {
  width: 100%;
  max-width: var(--ztn-container-max) !important;
}

/* Hero CTAs are inline in the desktop master; Elementor widget wrappers
 * otherwise stretch to a full row and apply wrapper-level button padding. */
@media (min-width: 768px) {
  .ztn-page .ztn-hero .elementor-column-wrap { display: block; }
  .ztn-page .ztn-hero .elementor-widget-button.ztn-btn {
    display: inline-block;
    width: auto;
    align-self: auto;
    padding: 0 !important;
    margin-right: 12px;
    background: transparent !important;
    border: 0 !important;
  }
  .ztn-page .ztn-hero .elementor-widget-button.ztn-btn .elementor-button {
    display: inline-flex;
  }
}


/* Elementor sections carrying card-grid classes must keep Elementor's
 * full-width inner container; the theme grid utility is for card markup,
 * not for the section wrapper itself. */
.ztn-page .elementor-section.ztn-card-grid {
  display: block !important;
}
.ztn-page .elementor-section.ztn-card-grid > .elementor-container,
.ztn-page .elementor-section.ztn-card-grid > .e-con {
  width: 100%;
  max-width: 100% !important;
}


/* Final desktop alignment against the authoritative page captures. Elementor
 * stores generous per-section padding; these overrides preserve the editable
 * widgets while matching the reference rhythm. */
.ztn-page main > .elementor > section.ztn-section:not(.ztn-hero) {
  padding-top: 24px !important;
  padding-bottom: 0 !important;
}
.ztn-page main > .elementor > section.ztn-hero.ztn-hero--photo + section.ztn-section {
  padding-top: 72px !important;
}
.ztn-page main > .elementor > section.ztn-hero.ztn-hero--plain + section.ztn-section {
  padding-top: 24px !important;
}
.ztn-page main > .elementor > section.ztn-card-grid {
  padding: 0 !important;
}

/* Compact review footer/contact bands to the dimensions used by the master
 * captures without hiding any navigation or contact information. */
.ztn-page .ztn-contact-band { padding-top: 40px !important; padding-bottom: 40px !important; }
.ztn-page .ztn-footer { padding-top: 40px !important; padding-bottom: 16px !important; }
.ztn-page .ztn-footer__grid { padding-bottom: 20px !important; }
.ztn-page .ztn-footer__brand .ztn-logo svg { height: 56px !important; }
.ztn-page .ztn-footer__brand-info { margin-top: 12px !important; line-height: 1.3 !important; font-size: 12px !important; }
.ztn-page .ztn-footer__links a { padding: 0 !important; font-size: 12px !important; line-height: 1.35 !important; }
.ztn-page .ztn-footer__links { gap: 4px 24px !important; }
.ztn-page .ztn-footer__copyright { padding-top: 12px !important; font-size: 11px !important; }

/* Career reference rows are compact accordion-style entries; real job
 * actions remain available in the editable markup but stay out of this
 * review capture until customer URLs are supplied. */
.page-id-11 .ztn-job-row { padding: 6px 16px !important; margin-bottom: 12px !important; }
.page-id-11 .ztn-job-row__title { font-size: 16px !important; }
.page-id-11 .ztn-job-row__meta { font-size: 13px !important; }
.page-id-11 .ztn-job-row__cta { display: none !important; }
.page-id-11 .elementor-element-cmu1bcl { display: none !important; }

/* The Impressum master contains the five confirmed identity rows; pending
 * legal fields live in the adjacent editable notice, not in the card. */
.page-id-13 .ztn-card--location { padding: 24px 36px !important; }
.page-id-13 .ztn-card--location .ztn-card__title { margin-bottom: 12px !important; }
.page-id-13 .ztn-card--location .ztn-kv-table { row-gap: 0 !important; margin: 0 !important; }

/* Privacy outline is intentionally a short editable review outline. */
.page-id-12 .ztn-bullet-list { margin: 0 !important; padding: 0 0 0 1.4em !important; }
.page-id-12 .ztn-bullet-list li { margin-bottom: 8px !important; line-height: 1.45 !important; }

/* Keep the established homepage and locations baselines unchanged. */
.page-id-6 main > .elementor > section.ztn-section:not(.ztn-hero),
.page-id-8 main > .elementor > section.ztn-section:not(.ztn-hero) {
  padding-top: 72px !important;
  padding-bottom: 24px !important;
}
.page-id-6 .ztn-contact-band, .page-id-8 .ztn-contact-band { padding-top: 48px !important; padding-bottom: 48px !important; }
.page-id-6 .ztn-footer, .page-id-8 .ztn-footer { padding-top: 64px !important; padding-bottom: 24px !important; }
.page-id-6 .ztn-footer__grid, .page-id-8 .ztn-footer__grid { padding-bottom: 48px !important; }
.page-id-6 .ztn-footer__brand .ztn-logo svg, .page-id-8 .ztn-footer__brand .ztn-logo svg { height: 64px !important; }
.page-id-6 .ztn-footer__brand-info, .page-id-8 .ztn-footer__brand-info { margin-top: 24px !important; line-height: 1.7 !important; font-size: 14px !important; }
.page-id-6 .ztn-footer__links a, .page-id-8 .ztn-footer__links a { padding: 4px 0 !important; font-size: 14px !important; line-height: normal !important; }
.page-id-6 .ztn-footer__links, .page-id-8 .ztn-footer__links { gap: 24px !important; }
.page-id-6 .ztn-footer__copyright, .page-id-8 .ztn-footer__copyright { padding-top: 24px !important; font-size: 13px !important; }

/* Baseline section settings copied from the Elementor source exports. */
.page-id-6 section[data-id="1mknu4c"] { padding-top:72px !important; padding-bottom:32px !important; }
.page-id-6 section[data-id="h7wnqyx"] { padding-top:32px !important; padding-bottom:72px !important; }
.page-id-8 section[data-id="hlrtuce"] { padding-top:72px !important; padding-bottom:24px !important; }
.page-id-8 section[data-id="9ngydjt"],
.page-id-8 section[data-id="sarcs1c"],
.page-id-8 section[data-id="uh1jci7"],
.page-id-8 section[data-id="w6o0q7h"] { padding-top:0 !important; padding-bottom:24px !important; }
.page-id-8 section[data-id="qktx6hm"] { padding-top:0 !important; padding-bottom:72px !important; }
.page-id-6 .ztn-footer__links, .page-id-8 .ztn-footer__links { gap:12px 32px !important; }

body.ztn-page.page-id-6 main > .elementor > section[data-id="1mknu4c"] { padding-top:72px !important; padding-bottom:32px !important; }
body.ztn-page.page-id-6 main > .elementor > section[data-id="h7wnqyx"] { padding-top:32px !important; padding-bottom:72px !important; }
body.ztn-page.page-id-8 main > .elementor > section[data-id="hlrtuce"] { padding-top:72px !important; padding-bottom:24px !important; }
body.ztn-page.page-id-8 main > .elementor > section[data-id="9ngydjt"],
body.ztn-page.page-id-8 main > .elementor > section[data-id="sarcs1c"],
body.ztn-page.page-id-8 main > .elementor > section[data-id="uh1jci7"],
body.ztn-page.page-id-8 main > .elementor > section[data-id="w6o0q7h"] { padding-top:0 !important; padding-bottom:24px !important; }
body.ztn-page.page-id-8 main > .elementor > section[data-id="qktx6hm"] { padding-top:0 !important; padding-bottom:72px !important; }

/* Fine spacing pass: Elementor widget margins are reset where the source
 * layout uses a fixed 24px rhythm. Content remains widget-editable. */

/* Final reconciliation pass — preserve the master grid while keeping page
 * content in Elementor. Hero containers are intentionally wider than the
 * body content because the approved PNG places the copy near the left edge. */
.ztn-page .ztn-hero {
  padding: 0 !important;
}
.ztn-page .ztn-hero > .elementor-container,
.ztn-page .ztn-hero .elementor-container {
  width: 100% !important;
  max-width: 1592px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.ztn-page .ztn-hero--photo .elementor-widget-html > .elementor-widget-container > div,
.ztn-page .ztn-hero--plain .elementor-widget-html > .elementor-widget-container > div {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.ztn-page .ztn-hero--main .elementor-container { padding-left: 24px; padding-right: 24px; }
.ztn-page .ztn-hero--main .elementor-widget-heading .elementor-heading-title { max-width: 720px; }
.ztn-page .ztn-hero--plain .ztn-hero__sub,
.ztn-page .ztn-hero--photo .ztn-hero__sub { display: block; max-width: 760px; }

/* Nested Elementor card rows otherwise inherit a 72px section padding from
 * the editor export. The master has the cards directly on the rhythm grid. */
.page-id-7 .elementor-section.ztn-card-grid { padding-top: 0 !important; padding-bottom: 0 !important; }
.page-id-7 main > .elementor > section[data-id="xrwdt2u"] { padding-top: 48px !important; }
.page-id-7 main > .elementor > section[data-id="iv1izni"],
.page-id-7 main > .elementor > section[data-id="wqaq3hj"],
.page-id-7 main > .elementor > section[data-id="toncc77"],
.page-id-7 main > .elementor > section[data-id="nialcv0"] { padding-top: 0 !important; }

/* Home rhythm: cards and the two editable panels sit closer to the hero,
 * while the intentional missing phone/worker assets remain documented. */
.page-id-6 main > .elementor > section[data-id="1mknu4c"] { padding-top: 24px !important; padding-bottom: 0 !important; }
.page-id-6 main > .elementor > section[data-id="h7wnqyx"] { padding-top: 0 !important; padding-bottom: 0 !important; }
.page-id-6 .ztn-contact-band { padding-top: 24px !important; padding-bottom: 24px !important; }
.page-id-6 .ztn-footer { padding-top: 48px !important; padding-bottom: 20px !important; }
.page-id-6 .ztn-footer__grid { padding-bottom: 32px !important; }
.page-id-6 .ztn-footer__brand .ztn-logo svg { height: 56px !important; }
.page-id-6 .ztn-footer__brand-info { margin-top: 16px !important; line-height: 1.45 !important; }
.page-id-6 .ztn-footer__links a { padding: 2px 0 !important; }
.page-id-6 .ztn-footer__copyright { padding-top: 16px !important; }

/* Location cards: the field/value pattern is intentionally retained as an
 * HTML-widget technical-debt exception, but the card rhythm matches the PNG. */
.page-id-8 .ztn-card--location { padding: 24px 36px !important; }
.page-id-8 .ztn-card--location .ztn-card__title { margin-bottom: 12px !important; }
.page-id-8 .ztn-card--location .ztn-kv-table { margin: 8px 0 !important; row-gap: 8px !important; }
.page-id-8 .ztn-card--location .ztn-card__note { margin-top: 12px !important; padding-top: 8px !important; }
.page-id-8 main > .elementor > section[data-id="qktx6hm"] { padding-bottom: 24px !important; }
.page-id-8 .ztn-contact-band { padding-top: 24px !important; padding-bottom: 24px !important; }
.page-id-8 .ztn-footer { padding-top: 48px !important; padding-bottom: 20px !important; }
.page-id-8 .ztn-footer__grid { padding-bottom: 32px !important; }
.page-id-8 .ztn-footer__brand .ztn-logo svg { height: 56px !important; }
.page-id-8 .ztn-footer__brand-info { margin-top: 16px !important; line-height: 1.45 !important; }
.page-id-8 .ztn-footer__links a { padding: 2px 0 !important; }
.page-id-8 .ztn-footer__copyright { padding-top: 16px !important; }

/* Download rows are real links only when an exact, date-compatible source
 * exists; unresolved items intentionally keep their review marker. */
.ztn-page .ztn-download-row__action[href^="#TODO"] { cursor: not-allowed; opacity: .72; }

@media (max-width: 767px) {
  .ztn-page .ztn-hero > .elementor-container,
  .ztn-page .ztn-hero .elementor-container { max-width: 100% !important; }
  .ztn-page .ztn-hero--main .elementor-container { padding-left: 16px; padding-right: 16px; }
  .ztn-page .ztn-hero--photo .elementor-widget-html > .elementor-widget-container > div,
  .ztn-page .ztn-hero--plain .elementor-widget-html > .elementor-widget-container > div { padding-left: 16px !important; padding-right: 16px !important; }
  .page-id-8 .ztn-card--location { padding: 24px !important; }
}

.ztn-page main > .elementor > section.ztn-section .elementor-widget-divider,
.ztn-page main > .elementor > section.ztn-section .elementor-widget-spacer {
  margin-bottom: 0 !important;
}

/* Specificity guard: the earlier baseline rules intentionally keep the old
 * review baselines. These final page-scoped values win without touching the
 * global design tokens. */
body.ztn-page.page-id-6 main > .elementor > section[data-id="1mknu4c"] { padding-top: 24px !important; padding-bottom: 0 !important; }
body.ztn-page.page-id-6 main > .elementor > section[data-id="h7wnqyx"] { padding-top: 0 !important; padding-bottom: 0 !important; }
body.ztn-page.page-id-8 main > .elementor > section[data-id="qktx6hm"] { padding-bottom: 24px !important; }
body.ztn-page.page-id-7 main > .elementor > section[data-id="xrwdt2u"] { padding-top: 48px !important; }
body.ztn-page.page-id-7 main > .elementor > section[data-id="iv1izni"],
body.ztn-page.page-id-7 main > .elementor > section[data-id="wqaq3hj"],
body.ztn-page.page-id-7 main > .elementor > section[data-id="toncc77"],
body.ztn-page.page-id-7 main > .elementor > section[data-id="nialcv0"] { padding-top: 0 !important; }


/* ====================================================================
   11. Strict master reproduction pass (2026-08-12)
   The authoritative 1920px PNGs remain the source of truth.
   ==================================================================== */
.ztn-page .ztn-logo img.ztn-logo__master {
  display: block;
  width: auto;
  max-width: none;
  object-fit: contain;
}
.ztn-page .ztn-header .ztn-logo img.ztn-logo__master { width: 135px; height: 74px; }
.ztn-page .ztn-footer .ztn-logo img.ztn-logo__master { width: auto; height: 56px; filter: brightness(0) invert(1); }

/* Homepage master assets: native Elementor Image widgets, positioned to the
 * same composition as the approved desktop panel. */
.page-id-6 .ztn-home-services-panel,
.page-id-6 .ztn-home-app-panel { position: relative; overflow: hidden; min-height: 377px; }
.page-id-6 .ztn-home-services-panel > .elementor-column-wrap,
.page-id-6 .ztn-home-app-panel > .elementor-column-wrap { position: relative; min-height: 377px; }
.page-id-6 .ztn-home-services-panel .ztn-services-list { max-width: 310px; position: relative; z-index: 2; }
.page-id-6 .ztn-home-app-panel .elementor-widget-icon-list { max-width: 395px; position: relative; z-index: 2; }
.page-id-6 .ztn-master-worker-image,
.page-id-6 .ztn-master-phone-image { position: absolute; z-index: 1; margin: 0 !important; }
.page-id-6 .ztn-master-worker-image { width: 298px; height: 301px; right: 24px; top: 50px; }
.page-id-6 .ztn-master-phone-image { width: 181px; height: 339px; right: 70px; top: 41px; }
.page-id-6 .ztn-master-worker-image img { width: 298px; height: 301px; object-fit: cover; border-radius: 8px; }
.page-id-6 .ztn-master-phone-image img { width: 181px; height: 339px; object-fit: contain; }
.page-id-6 .ztn-card--vorteil .elementor-icon-box-wrapper { align-items: flex-start; }
.page-id-6 .ztn-card--vorteil .elementor-icon-box-icon { flex: 0 0 54px; margin: 0 12px 0 0 !important; }
.page-id-6 .ztn-card--vorteil .elementor-icon { color: var(--ztn-navy) !important; fill: var(--ztn-navy) !important; }
.page-id-6 .ztn-card--vorteil .elementor-icon-box-title { margin: 0 0 8px !important; }
.page-id-6 main > .elementor > section[data-id="1mknu4c"] {
  margin-top: -59px !important;
  padding: 0 !important;
  position: relative;
  z-index: 3;
}
.page-id-6 main > .elementor > section[data-id="1mknu4c"] > .elementor-container { padding: 0 !important; }
.page-id-6 main > .elementor > section[data-id="h7wnqyx"] { padding: 0 !important; }
.page-id-6 main > .elementor > section[data-id="h7wnqyx"] > .elementor-container { padding: 0 13px !important; }

/* The approved contact component is a contained 1420x90 card on white,
 * followed by the intentional white separation before the footer. */
.ztn-page .ztn-contact-band { background: #fff !important; padding: 28px 0 76px !important; }
.ztn-page .ztn-contact-band__inner {
  min-height: 90px;
  padding: 18px 36px;
  border-radius: 10px;
  background: #104382;
  gap: 28px;
}
.ztn-page .ztn-contact-band__label { display: none; }
.ztn-page .ztn-contact-band__value { font-size: 14px; line-height: 1.35; }
.ztn-page .ztn-contact-band__value--lg { font-size: 24px; }
.ztn-page .ztn-footer { padding: 42px 0 18px !important; }
.ztn-page .ztn-footer__grid { padding-bottom: 22px !important; }
.ztn-page .ztn-footer__brand-info { margin-top: 14px !important; line-height: 1.35 !important; font-size: 13px !important; }
.ztn-page .ztn-footer__links { gap: 5px 32px !important; }
.ztn-page .ztn-footer__links a { padding: 0 !important; font-size: 13px !important; line-height: 1.4 !important; }
.ztn-page .ztn-footer__copyright { padding-top: 12px !important; font-size: 11px !important; }

@media (max-width: 767px) {
  .ztn-page .ztn-header .ztn-logo img.ztn-logo__master { width: 91px; height: 50px; }
  .page-id-6 main > .elementor > section[data-id="1mknu4c"] { margin-top: 0 !important; }
  .page-id-6 .ztn-home-services-panel,
  .page-id-6 .ztn-home-app-panel,
  .page-id-6 .ztn-home-services-panel > .elementor-column-wrap,
  .page-id-6 .ztn-home-app-panel > .elementor-column-wrap { min-height: auto; }
  .page-id-6 .ztn-home-services-panel .ztn-services-list,
  .page-id-6 .ztn-home-app-panel .elementor-widget-icon-list { max-width: none; }
  .page-id-6 .ztn-master-worker-image,
  .page-id-6 .ztn-master-phone-image { position: relative; top: auto; right: auto; margin: 22px auto 0 !important; }
  .page-id-6 .ztn-master-worker-image { width: 100%; height: auto; }
  .page-id-6 .ztn-master-worker-image img { width: 100%; height: auto; aspect-ratio: 1 / 1; }
  .page-id-6 .ztn-master-phone-image { width: 160px; height: auto; }
  .page-id-6 .ztn-master-phone-image img { width: 160px; height: auto; }
  .ztn-page .ztn-contact-band { padding: 24px 16px 40px !important; }
  .ztn-page .ztn-contact-band__inner { padding: 24px; border-radius: 10px; }
}

/* Measured coordinate reconciliation: card row y=544, panels y=764,
 * contact card y=1170, footer y=1338 at the 1920px reference viewport. */
body.ztn-page.page-id-6 main > .elementor > section[data-id="1mknu4c"] { padding: 0 !important; }
body.ztn-page.page-id-6 main > .elementor > section[data-id="h7wnqyx"] { margin-top: -19px !important; }
.ztn-page .ztn-contact-band { padding-top: 39px !important; padding-bottom: 76px !important; }
.ztn-page .ztn-footer { padding-top: 30px !important; padding-bottom: 12px !important; }
.ztn-page .ztn-footer__grid { padding-bottom: 15px !important; }

/* Strict homepage component geometry after native content restoration. */
@media (min-width: 768px) {
  .ztn-page .ztn-header__inner { padding-left: 64px !important; padding-right: 31px !important; }
  .page-id-6 .ztn-hero--main .elementor-widget-html > .elementor-widget-container > div {
    padding-left: 0 !important;
    padding-top: 29px !important;
    margin-left: -15px !important;
  }
  .page-id-6 section[data-id="4e29yhh"] { width: 1420px !important; max-width: none !important; margin-left: -2px !important; }
  .page-id-6 section[data-id="4e29yhh"] > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 18px;
  }
  .page-id-6 section[data-id="4e29yhh"] > .elementor-container > .elementor-column { width: auto !important; }
  .page-id-6 section[data-id="4e29yhh"] .elementor-element-populated { padding: 0 !important; }
  .page-id-6 .ztn-card--vorteil { min-height: 189px; }
  body.ztn-page.page-id-6 main > .elementor > section[data-id="h7wnqyx"] { margin-top: 16px !important; }
  .page-id-6 .ztn-home-services-panel,
  .page-id-6 .ztn-home-app-panel,
  .page-id-6 .ztn-home-services-panel > .elementor-column-wrap,
  .page-id-6 .ztn-home-app-panel > .elementor-column-wrap { height: 377px !important; min-height: 377px !important; }
  .page-id-6 .ztn-services-list .elementor-icon-list-item { min-height: 62px; margin: 0 !important; padding: 7px 0 !important; }
  .page-id-6 .ztn-services-list .elementor-icon-list-text,
  .page-id-6 .ztn-services-list .elementor-icon-list-text span { line-height: 1.22 !important; }
  .page-id-6 .ztn-home-app-panel .elementor-icon-list-item { min-height: 51px; margin: 0 !important; padding: 4px 0 !important; }
  .page-id-6 .ztn-home-app-panel .elementor-icon-list-text,
  .page-id-6 .ztn-home-app-panel .elementor-icon-list-text span { line-height: 1.2 !important; }
}
.ztn-page .ztn-contact-band { padding-top: 29px !important; padding-bottom: 78px !important; }

@media (min-width:768px) {
 .page-id-6 section[data-id="4e29yhh"] { min-width:1420px !important; }
 .page-id-6 section[data-id="4e29yhh"] > .elementor-container { width:1420px !important; max-width:none !important; padding:0 !important; }
}
.ztn-page .ztn-contact-band__inner { transform: translateX(13px); }

/* Products & Verfahren: sections restored from the authoritative generator. */
.page-id-9 .ztn-strict-content-section { padding: 24px 0 0 !important; }
.page-id-9 .ztn-strict-content-section > .elementor-container { width:100%; max-width:1420px !important; }
.page-id-9 .ztn-master-detail-card { height: 100%; }
.page-id-9 .ztn-master-detail-card .elementor-icon-box-wrapper { text-align:left; }
.page-id-9 section[data-id="sx1mbmo"] img,
.page-id-9 section[data-id="zazzmeb"] img { width:100%; height:380px; object-fit:cover; border-radius:12px; }
.page-id-9 section[data-id="lzataq0"] img { width:100%; height:240px; object-fit:cover; border-radius:10px; }
@media (max-width:767px) {
 .page-id-9 section[data-id="sx1mbmo"] img,
 .page-id-9 section[data-id="zazzmeb"] img { height:240px; }
 .page-id-9 section[data-id="lzataq0"] img { height:210px; }
}

/* Authoritative subpage CTA separation is 76px; homepage remains the compact
 * approved exception because its two panels end immediately above the band. */
.ztn-page .ztn-contact-band { padding-top:76px !important; padding-bottom:76px !important; }
body.ztn-page.page-id-6 .ztn-contact-band { padding-top:29px !important; padding-bottom:78px !important; }

/* Product page vertical coordinates, measured against 4_produkte_verfahren.png. */
.page-id-9 section[data-id="9xsden5"] { height:116px !important; min-height:116px !important; overflow:visible; padding-top:24px !important; }
.page-id-9 .elementor-element-xj2akt2 { display:none !important; }
.page-id-9 section[data-id="sx1mbmo"],
.page-id-9 section[data-id="zazzmeb"] { height:428px !important; min-height:428px !important; overflow:hidden; }
/* Keep editorial sections in normal flow. Negative offsets caused the
 * Produktsicherheit/Produktionsverfahren and Produktionsverfahren/Umweltschutz
 * copy to overlap as soon as browser font metrics or line wraps changed. */
.page-id-9 section[data-id="prodmet"],
.page-id-9 section[data-id="q3u7tf2"] { margin-top:0 !important; }
.page-id-9 section[data-id="galhead"] { margin-top:-20px !important; }
.page-id-9 section[data-id="lzataq0"] { height:240px !important; min-height:240px !important; overflow:hidden; padding:0 !important; }
.page-id-9 section[data-id="lzataq0"] .elementor-element-populated { padding-top:0 !important; padding-bottom:0 !important; }
.page-id-9 section[data-id="lzataq0"] .elementor-widget-image { margin:0 !important; }

@media (min-width:768px) {
 .page-id-9 section[data-id="13ymil9"] { height:551px !important; overflow:visible; }
 .page-id-9 section[data-id="q3u7tf2"] { height:593px !important; overflow:visible; }
}
.page-id-9 .ztn-master-cert-card,
.page-id-9 .ztn-master-detail-card {
 background:#fff;
 border-radius:10px;
 box-shadow:var(--ztn-shadow-card);
 padding:28px 32px !important;
 text-align:left !important;
}
.page-id-9 .ztn-master-cert-card { min-height:121px; }
.page-id-9 .ztn-master-detail-card { min-height:230px; }
.page-id-9 .ztn-master-cert-card .elementor-icon-box-icon,
.page-id-9 .ztn-master-detail-card .elementor-icon-box-icon { display:none !important; }
.page-id-9 .ztn-master-cert-card .elementor-icon-box-title,
.page-id-9 .ztn-master-detail-card .elementor-icon-box-title { margin:0 0 12px !important; }

/* Tablet and mobile must follow their content height. This override comes
 * after the desktop coordinate rules so narrow layouts cannot inherit the
 * fixed heights that clipped copy and gallery media. */
@media (max-width:1024px) {
 .page-id-9 section[data-id="sx1mbmo"],
 .page-id-9 section[data-id="zazzmeb"],
 .page-id-9 section[data-id="13ymil9"],
 .page-id-9 section[data-id="prodmet"],
 .page-id-9 section[data-id="q3u7tf2"],
 .page-id-9 section[data-id="galhead"],
 .page-id-9 section[data-id="lzataq0"] {
   height:auto !important;
   min-height:0 !important;
   overflow:visible !important;
   margin-top:0 !important;
   padding-bottom:24px !important;
 }
}

@media (min-width:768px) {
 body.page-id-8 section[data-id="hlrtuce"] { height:84px !important; min-height:84px !important; padding:0 !important; overflow:hidden; }
 body.page-id-8 section[data-id="9ngydjt"],body.page-id-8 section[data-id="sarcs1c"],body.page-id-8 section[data-id="uh1jci7"],body.page-id-8 section[data-id="w6o0q7h"],body.page-id-8 section[data-id="qktx6hm"] { padding-bottom:8px !important; }
 body.page-id-8 .ztn-card--location { padding:20px 36px !important; }
 body.page-id-8 .ztn-card--location .ztn-card__title { margin-bottom:8px !important; }
 body.page-id-8 .ztn-card--location .ztn-kv-table { row-gap:5px !important; line-height:1.35 !important; }
 body.page-id-8 .ztn-card--location .ztn-card__note { margin-top:8px !important; padding-top:6px !important; line-height:1.35 !important; }
}

@media (min-width:768px) {
 body.page-id-7 section[data-id="ojybh9x"] > .elementor-container { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
 body.page-id-7 section[data-id="ojybh9x"] .elementor-column { width:auto !important; background:#fff; border-radius:10px; box-shadow:var(--ztn-shadow-card); min-height:145px; }
 body.page-id-7 section[data-id="ojybh9x"] .elementor-element-populated { padding:28px 32px !important; }
 body.page-id-7 section[data-id="ojybh9x"] .elementor-icon-box-icon { display:none !important; }
 body.page-id-7 section[data-id="ojybh9x"] .elementor-icon-box-wrapper { text-align:left !important; }
}
body.page-id-8 .ztn-contact-band { margin-top:-32px !important; }

body.page-id-7 .ztn-contact-band { margin-top:0 !important; }
body.page-id-11 .elementor-element-v31sywo,
body.page-id-11 .elementor-element-22bov39,
body.page-id-11 .elementor-element-9oo9biu { display:none !important; }
body.page-id-11 section[data-id="smkk0lm"] { padding-top:24px !important; }


/* ====================================================================
   12. Final strict geometry — Aktuelles & Downloads
   Structural desktop values are measured from 5_aktuelles_downloads.png.
   ==================================================================== */
@media (min-width: 768px) {
  body.ztn-page.page-id-10 main > .elementor > section:not(.ztn-hero) {
    width: 1420px !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: translateX(13px);
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.ztn-page.page-id-10 main > .elementor > section:not(.ztn-hero) > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.ztn-page.page-id-10 main > .elementor > section:not(.ztn-hero) .elementor-element-populated {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-10 section[data-id="njnaf7x"],
  body.page-id-10 section[data-id="9okzch8"] {
    height: 116px !important;
    min-height: 116px !important;
    padding-top: 43px !important;
    padding-bottom: 0 !important;
    overflow: visible;
  }
  body.page-id-10 section[data-id="9okzch8"] {
    height: 166px !important;
    min-height: 166px !important;
  }
  body.page-id-10 section[data-id="njnaf7x"] .elementor-widget-heading,
  body.page-id-10 section[data-id="9okzch8"] .elementor-widget-heading {
    margin-bottom: 0 !important;
  }
  body.page-id-10 section[data-id="njnaf7x"] .elementor-heading-title,
  body.page-id-10 section[data-id="9okzch8"] .elementor-heading-title {
    color: #103E80 !important;
  }
  body.page-id-10 section[data-id="njnaf7x"] .elementor-widget-divider,
  body.page-id-10 section[data-id="9okzch8"] .elementor-widget-divider {
    transform: translateY(-8px);
  }
  body.page-id-10 section[data-id="njnaf7x"] .elementor-divider-separator,
  body.page-id-10 section[data-id="9okzch8"] .elementor-divider-separator {
    width: 56px !important;
  }
  body.page-id-10 section[data-id="njnaf7x"] .elementor-widget-spacer,
  body.page-id-10 section[data-id="9okzch8"] .elementor-widget-spacer {
    display: none !important;
  }
  body.page-id-10 .elementor-element-dlsubl01 {
    transform: translateY(8px);
    font-size: 17px;
    line-height: 28px;
    color: #5A6270;
  }
  body.page-id-10 .elementor-element-dlsubl01 p { margin: 0 !important; }

  body.page-id-10 section[data-id="gb6rqpq"] {
    height: 388px !important;
    min-height: 388px !important;
    padding-top: 48px !important;
    padding-bottom: 0 !important;
    overflow: visible;
  }
  body.page-id-10 section[data-id="gb6rqpq"] > .elementor-container {
    display: grid !important;
    grid-template-columns: 710px 640px;
    column-gap: 70px;
    height: 340px;
  }
  body.page-id-10 section[data-id="gb6rqpq"] > .elementor-container > .elementor-column {
    width: auto !important;
  }
  body.page-id-10 section[data-id="gb6rqpq"] > .elementor-container > .elementor-column:first-child .elementor-element-populated {
    padding-top: 13px !important;
  }
  body.page-id-10 section[data-id="gb6rqpq"] > .elementor-container > .elementor-column:last-child .elementor-element-populated {
    padding-top: 0 !important;
  }
  body.page-id-10 section[data-id="gb6rqpq"] .elementor-element-3e82879 {
    margin-bottom: 32px !important;
  }
  body.page-id-10 section[data-id="gb6rqpq"] .elementor-element-s4emcod,
  body.page-id-10 section[data-id="gb6rqpq"] .elementor-element-s4emcod > .elementor-widget-container,
  body.page-id-10 section[data-id="gb6rqpq"] .elementor-element-s4emcod > .elementor-widget-container > div {
    width: 640px !important;
    height: 340px !important;
  }
  body.page-id-10 section[data-id="gb6rqpq"] img {
    width: 640px !important;
    height: 340px !important;
    object-fit: cover !important;
  }

  body.page-id-10 section[data-id="nwntc01"] {
    height: 102px !important;
    min-height: 102px !important;
    padding: 0 !important;
  }
  body.page-id-10 section[data-id="nwntc01"] .elementor-element-populated,
  body.page-id-10 section[data-id="4mhzc3q"] .elementor-element-populated {
    padding: 0 !important;
  }
  body.page-id-10 .ztn-info-box {
    width: 100%;
    height: 68px;
    box-sizing: border-box;
    margin: 34px 0 0 !important;
    padding: 9px 24px !important;
    gap: 16px;
    font-size: 15px;
    line-height: 18px;
  }
  body.page-id-10 .ztn-info-box__icon { margin-top: 6px; }
  body.page-id-10 .ztn-info-box__label {
    margin: 0 0 4px !important;
    line-height: 18px;
  }
  body.page-id-10 .ztn-info-box__body { line-height: 18px; }

  body.page-id-10 section[data-id="4mhzc3q"] {
    padding-top: 30px !important;
    padding-bottom: 0 !important;
  }
  body.page-id-10 .ztn-download-row {
    min-height: 56px;
    height: 56px;
    box-sizing: border-box;
    padding: 7px 22px !important;
    margin-bottom: 10px !important;
    gap: 16px;
  }
  body.page-id-10 .ztn-download-row:last-child { margin-bottom: 0 !important; }
  body.page-id-10 .ztn-download-row__title {
    font-size: 17px;
    line-height: 20px;
    margin: 0 0 2px !important;
  }
  body.page-id-10 .ztn-download-row__desc {
    font-size: 14px;
    line-height: 18px;
  }
}

@media (max-width: 767px) {
  body.page-id-10 section[data-id="gb6rqpq"] img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
  }
  body.page-id-10 .ztn-download-row {
    min-height: 64px;
    padding: 10px 12px !important;
    gap: 10px;
  }
  body.page-id-10 .ztn-download-row__action { min-height: 44px; }
}


/* Specificity guard for the page-10 measurements above. */
@media (min-width: 768px) {
  body.ztn-page.page-id-10 main > .elementor > section[data-id="njnaf7x"],
  body.ztn-page.page-id-10 main > .elementor > section[data-id="9okzch8"] {
    padding-top: 33px !important;
    padding-bottom: 0 !important;
  }
  body.ztn-page.page-id-10 main > .elementor > section[data-id="gb6rqpq"] {
    padding-top: 48px !important;
    padding-bottom: 0 !important;
  }
  body.ztn-page.page-id-10 main > .elementor > section[data-id="4mhzc3q"] {
    padding-top: 30px !important;
    padding-bottom: 0 !important;
  }
  body.page-id-10 section[data-id="gb6rqpq"] .elementor-element-3e82879 {
    margin-bottom: 29px !important;
  }
  body.page-id-10 section[data-id="gb6rqpq"] .elementor-element-0y2ggwn {
    transform: translateY(5px);
    font-size: 16px;
    line-height: 27px;
    color: #5A6270;
  }
  body.page-id-10 section[data-id="gb6rqpq"] .elementor-element-0y2ggwn p {
    line-height: 27px !important;
  }
  body.page-id-10 .elementor-element-dlsubl01 { transform: translateY(2px); }
}


@media (min-width: 768px) {
  html body.ztn-page.page-id-10 main .elementor-section.elementor-element-njnaf7x.elementor-element-njnaf7x {
    padding-top: 33px !important;
  }
  body.page-id-10 section[data-id="gb6rqpq"] > .elementor-container > .elementor-column:first-child .elementor-element-populated {
    padding-top: 14px !important;
  }
  body.page-id-10 section[data-id="gb6rqpq"] .elementor-element-0y2ggwn p + p {
    transform: translateY(10px);
  }
  body.page-id-10 .ztn-download-row {
    height: 57px;
    min-height: 57px;
    margin-bottom: 9px !important;
  }
  body.page-id-10 .ztn-download-row__body { transform: translateY(2px); }
  body.page-id-10 section[data-id="4mhzc3q"] .ztn-info-box { margin-top: 33px !important; }
}


/* ====================================================================
   13. Final strict geometry — Karriere
   ==================================================================== */
@media (min-width: 768px) {
  body.ztn-page.page-id-11 main > .elementor > section:not(.ztn-hero) {
    width: 1420px !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: translateX(13px);
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.ztn-page.page-id-11 main > .elementor > section:not(.ztn-hero) > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }
  body.ztn-page.page-id-11 main > .elementor > section:not(.ztn-hero) .elementor-element-populated {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body.ztn-page.page-id-11 main .elementor-section.elementor-element-smkk0lm {
    height: 92px !important;
    min-height: 92px !important;
    padding: 18px 0 0 !important;
    overflow: hidden;
  }
  body.page-id-11 .elementor-element-ul7h4bi {
    width: 1180px;
    font-size: 17px;
    line-height: 28px;
    color: #5A6270;
  }
  body.page-id-11 .elementor-element-ul7h4bi p { margin: 0 !important; line-height: 28px !important; }

  html body.ztn-page.page-id-11 main .elementor-section.elementor-element-qyocjm9 {
    height: 406px !important;
    min-height: 406px !important;
    padding: 43px 0 0 !important;
    overflow: visible;
  }
  body.page-id-11 section[data-id="qyocjm9"] > .elementor-container,
  body.page-id-11 section[data-id="qyocjm9"] .elementor-column,
  body.page-id-11 section[data-id="qyocjm9"] .elementor-element-populated {
    height: 100%;
    position: relative;
  }
  body.page-id-11 .elementor-element-4owegcj { margin-bottom: 0 !important; }
  body.page-id-11 .elementor-element-4owegcj .elementor-heading-title { color: #103E80 !important; }
  body.page-id-11 .elementor-element-jobdiv01 {
    margin: 0 !important;
    transform: translateY(-8px);
  }
  body.page-id-11 .elementor-element-jobdiv01 .elementor-divider-separator { width: 56px !important; }
  body.page-id-11 .elementor-element-jobsub01 {
    transform: translateY(7px);
    width: 1180px;
    font-size: 17px;
    line-height: 28px;
    color: #5A6270;
  }
  body.page-id-11 .elementor-element-jobsub01 p { margin: 0 !important; }
  body.page-id-11 .elementor-element-3tw52lv { display: none !important; }
  body.page-id-11 .elementor-element-ogkeeev {
    position: absolute !important;
    top: 196px;
    left: 0;
    width: 1420px;
    height: 210px;
    margin: 0 !important;
  }
  body.page-id-11 .ztn-job-row {
    display: flex;
    align-items: center;
    width: 1420px;
    height: 62px;
    min-height: 62px;
    box-sizing: border-box;
    padding: 0 22px !important;
    margin: 0 0 12px !important;
    gap: 32px;
    color: #103E80;
    text-decoration: none;
  }
  body.page-id-11 .ztn-job-row:last-child { margin-bottom: 0 !important; }
  body.page-id-11 .ztn-job-row__icon,
  body.page-id-11 .ztn-job-row__chevron { display: inline-flex; flex: 0 0 auto; }
  body.page-id-11 .ztn-job-row__body { display: flex; flex: 1; flex-direction: column; gap: 2px; }
  body.page-id-11 .ztn-job-row__title {
    display: block;
    margin: 0 !important;
    font-size: 16px;
    line-height: 20px;
    color: #2A3245;
  }
  body.page-id-11 .ztn-job-row__meta {
    display: block;
    margin: 0 !important;
    font-size: 14px;
    line-height: 18px;
    color: #7E838F;
  }
  body.page-id-11 .ztn-job-row__chevron { margin-left: auto; }

  html body.ztn-page.page-id-11 main .elementor-section.elementor-element-04b6mrd {
    height: 126px !important;
    min-height: 126px !important;
    padding: 0 !important;
    overflow: hidden;
  }
  body.page-id-11 section[data-id="04b6mrd"] .elementor-element-populated { padding: 0 !important; }
  body.page-id-11 section[data-id="04b6mrd"] .ztn-info-box {
    width: 1420px;
    height: 92px;
    box-sizing: border-box;
    margin: 34px 0 0 !important;
    padding: 12px 24px !important;
    gap: 16px;
    font-size: 15px;
    line-height: 18px;
  }
  body.page-id-11 section[data-id="04b6mrd"] .ztn-info-box__label { margin: 0 0 4px !important; line-height: 18px; }
  body.page-id-11 section[data-id="04b6mrd"] .ztn-info-box__body { line-height: 18px; }
}

@media (max-width: 767px) {
  body.page-id-11 .ztn-job-row { min-height: 70px; padding: 12px !important; gap: 12px; }
  body.page-id-11 .ztn-job-row__chevron { min-width: 44px; min-height: 44px; align-items: center; justify-content: flex-end; }
}


@media (min-width: 768px) {
  html body.ztn-page.page-id-11 main .elementor-section.elementor-element-smkk0lm.elementor-element-smkk0lm {
    padding-top: 0 !important;
  }
  body.page-id-11 .elementor-element-ul7h4bi { transform: translateY(-2px); }
  body.page-id-11 section[data-id="qyocjm9"] .elementor-element-populated { padding-top: 0 !important; }
  body.page-id-11 .elementor-element-ogkeeev { top: 153px; }
  body.page-id-11 section[data-id="04b6mrd"] .ztn-info-box > div { transform: translateY(5px); }
  body.page-id-11 section[data-id="04b6mrd"] .ztn-info-box__icon { margin-top: 5px; }
}


/* ====================================================================
   14. Final strict geometry — Datenschutz
   ==================================================================== */
@media (min-width: 768px) {
  body.ztn-page.page-id-12 main > .elementor > section:not(.ztn-hero) {
    width: 1420px !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: translateX(13px);
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.ztn-page.page-id-12 main > .elementor > section:not(.ztn-hero) > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }
  body.ztn-page.page-id-12 main > .elementor > section:not(.ztn-hero) .elementor-element-populated {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body.ztn-page.page-id-12 main .elementor-section.elementor-element-se5kw4s {
    height: 150px !important;
    min-height: 150px !important;
    padding: 0 !important;
    overflow: hidden;
  }
  body.page-id-12 section[data-id="se5kw4s"] .elementor-element-populated { padding: 0 !important; }
  body.page-id-12 section[data-id="se5kw4s"] .ztn-info-box {
    width: 1420px;
    height: 116px;
    box-sizing: border-box;
    margin: 34px 0 0 !important;
    padding: 12px 24px !important;
    gap: 16px;
    font-size: 15px;
    line-height: 24px;
  }
  body.page-id-12 section[data-id="se5kw4s"] .ztn-info-box__label {
    margin: 0 0 4px !important;
    line-height: 18px;
  }
  body.page-id-12 section[data-id="se5kw4s"] .ztn-info-box__body { line-height: 24px; }

  html body.ztn-page.page-id-12 main .elementor-section.elementor-element-1p80ebt {
    height: 390px !important;
    min-height: 390px !important;
    padding: 43px 0 0 !important;
    overflow: visible;
  }
  body.page-id-12 section[data-id="1p80ebt"] > .elementor-container,
  body.page-id-12 section[data-id="1p80ebt"] .elementor-column,
  body.page-id-12 section[data-id="1p80ebt"] .elementor-element-populated {
    height: 100%;
    position: relative;
  }
  body.page-id-12 section[data-id="1p80ebt"] .elementor-element-populated { padding-top: 0 !important; }
  body.page-id-12 .elementor-element-aykdymo { margin-bottom: 0 !important; }
  body.page-id-12 .elementor-element-aykdymo .elementor-heading-title { color: #103E80 !important; }
  body.page-id-12 .elementor-element-ewt9s1q { margin: 0 !important; transform: translateY(-8px); }
  body.page-id-12 .elementor-element-ewt9s1q .elementor-divider-separator { width: 56px !important; }
  body.page-id-12 .elementor-element-ia52f50 { display: none !important; }
  body.page-id-12 .elementor-element-gxqceos {
    position: absolute !important;
    top: 122px;
    left: 0;
    width: 940px;
    margin: 0 !important;
  }
  body.page-id-12 .ztn-bullet-list { margin: 0 !important; }
  body.page-id-12 .ztn-bullet-list li {
    min-height: 30px;
    margin: 0 !important;
    padding-left: 26px;
    font-size: 17px;
    line-height: 30px;
    color: #5A6270;
  }
  body.page-id-12 .ztn-bullet-list li::before {
    left: 4px;
    top: 11px;
    width: 7px;
    height: 7px;
  }
}


@media (min-width: 768px) {
  html body.ztn-page.page-id-12 main .elementor-section.elementor-element-se5kw4s.elementor-element-se5kw4s {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.page-id-12 section[data-id="se5kw4s"] .ztn-info-box > div { transform: translateY(2px); }
  body.page-id-12 .elementor-element-gxqceos { top: 85px; }
}


/* ====================================================================
   15. Final strict geometry — Impressum
   ==================================================================== */
@media (min-width: 768px) {
  body.ztn-page.page-id-13 main > .elementor > section:not(.ztn-hero) {
    width: 1420px !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: translateX(13px);
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.ztn-page.page-id-13 main > .elementor > section:not(.ztn-hero) > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.ztn-page.page-id-13 main > .elementor > section:not(.ztn-hero) .elementor-element-populated {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body.ztn-page.page-id-13 main .elementor-section.elementor-element-zjbrs3k {
    height: 251px !important;
    min-height: 251px !important;
    padding-top: 24px !important;
    padding-bottom: 0 !important;
    overflow: visible;
  }
  body.page-id-13 section[data-id="zjbrs3k"] .elementor-element-populated { padding-top: 0 !important; }
  body.page-id-13 .elementor-element-esyhq2g,
  body.page-id-13 .elementor-element-esyhq2g .ztn-card {
    width: 1420px;
    height: 227px;
  }
  body.page-id-13 .elementor-element-esyhq2g .ztn-card {
    box-sizing: border-box;
    padding: 28px 36px !important;
  }
  body.page-id-13 .ztn-card__title { margin-bottom: 27px !important; }
  body.page-id-13 .ztn-kv-table {
    grid-template-columns: 380px 1fr;
    column-gap: 24px;
    row-gap: 0;
    margin: 0 !important;
    font-size: 16px;
    line-height: 27px;
  }
  body.page-id-13 .ztn-kv-table dt,
  body.page-id-13 .ztn-kv-table dd { line-height: 27px; }

  html body.ztn-page.page-id-13 main .elementor-section.elementor-element-6pvrxxr {
    height: 126px !important;
    min-height: 126px !important;
    padding: 0 !important;
    overflow: hidden;
  }
  body.page-id-13 section[data-id="6pvrxxr"] .elementor-element-populated { padding: 0 !important; }
  body.page-id-13 section[data-id="6pvrxxr"] .ztn-info-box {
    width: 1420px;
    height: 92px;
    box-sizing: border-box;
    margin: 34px 0 0 !important;
    padding: 16px 24px !important;
    gap: 16px;
    font-size: 15px;
    line-height: 24px;
  }
  body.page-id-13 section[data-id="6pvrxxr"] .ztn-info-box__label {
    margin: 0 0 2px !important;
    line-height: 18px;
  }
  body.page-id-13 section[data-id="6pvrxxr"] .ztn-info-box__body { line-height: 24px; }
}


/* ====================================================================
   16. Shared strict contact band and footer
   ==================================================================== */
@media (min-width: 768px) {
  .ztn-page .ztn-contact-band__inner { position: relative; padding: 0 !important; }
  .ztn-page .ztn-contact-band__primary {
    position: absolute;
    left: 33px;
    top: 0;
    height: 90px;
    display: flex;
    align-items: center;
    color: #fff;
  }
  .ztn-page .ztn-contact-band__phone-icon { width: 40px; height: 40px; flex: 0 0 auto; }
  .ztn-page .ztn-contact-band__primary-copy {
    margin-left: 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .ztn-page .ztn-contact-band__primary-copy strong {
    font-size: 18px;
    line-height: 22px;
    font-weight: 600;
  }
  .ztn-page .ztn-contact-band__primary-copy span {
    margin-top: 2px;
    font-size: 13px;
    line-height: 18px;
    color: #B0C6E2;
  }
  .ztn-page .ztn-contact-band__phone {
    position: absolute;
    left: 707px;
    top: 0;
    width: 200px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .ztn-page .ztn-contact-band__phone > a:first-child {
    color: #fff;
    font-size: 24px;
    line-height: 30px;
    font-weight: 600;
    text-decoration: none;
  }
  .ztn-page .ztn-contact-band__email { display: none; }
  .ztn-page .ztn-contact-band__button {
    position: absolute;
    left: 928px;
    top: 23px;
    width: 209px;
    height: 44px;
    min-height: 44px;
    padding: 0 22px !important;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    line-height: 18px;
  }

  .ztn-page .ztn-footer {
    height: 250px !important;
    min-height: 250px;
    padding: 0 !important;
    overflow: hidden;
  }
  .ztn-page .ztn-footer__inner {
    position: relative;
    width: 1420px;
    max-width: none;
    height: 250px;
    margin: 0 auto;
    padding: 0 !important;
    transform: translateX(13px);
  }
  .ztn-page .ztn-footer__grid {
    position: static;
    display: block;
    width: 100%;
    height: 204px;
    padding: 0 !important;
  }
  .ztn-page .ztn-footer__brand {
    position: absolute;
    left: 0;
    top: 42px;
    width: 560px;
    height: 130px;
  }
  .ztn-page .ztn-footer__brand .ztn-logo { display: inline-flex; height: 56px; }
  .ztn-page .ztn-footer__brand-info {
    margin: 32px 0 0 !important;
    font-size: 15px !important;
    line-height: 26px !important;
  }
  .ztn-page .ztn-footer__brand-info p { margin: 0 !important; line-height: 26px !important; }
  .ztn-page .ztn-footer__nav {
    position: absolute;
    left: 637px;
    top: 55px;
    width: 720px;
  }
  .ztn-page .ztn-footer__heading {
    margin: 0 0 15px !important;
    color: #fff;
    font-size: 15px;
    line-height: 22px;
    font-weight: 600;
  }
  .ztn-page .ztn-footer__links {
    display: grid !important;
    grid-auto-flow: column;
    grid-template-columns: 300px 300px;
    grid-template-rows: repeat(4, 23px);
    gap: 5px 0 !important;
    width: 600px;
    height: 107px;
  }
  .ztn-page .ztn-footer__links a {
    font-size: 15px !important;
    line-height: 23px !important;
  }
  .ztn-page .ztn-footer__copyright {
    position: absolute;
    left: 0;
    top: 204px;
    width: 1420px;
    height: 46px;
    box-sizing: border-box;
    padding: 18px 0 0 !important;
    border-top: 1px solid #264470;
    font-size: 13px !important;
    line-height: 18px;
  }

  body.page-id-11 .elementor-element-jobsub01 { transform: translateY(2px); }
  body.page-id-13 .ztn-card__title { margin-bottom: 41px !important; }
}

@media (max-width: 767px) {
  .ztn-page .ztn-contact-band__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .ztn-page .ztn-contact-band__primary { display: flex; gap: 12px; color: #fff; }
  .ztn-page .ztn-contact-band__phone-icon { flex: 0 0 32px; width: 32px; height: 32px; }
  .ztn-page .ztn-contact-band__primary-copy { display: flex; flex-direction: column; }
  .ztn-page .ztn-contact-band__primary-copy strong { font-size: 17px; line-height: 22px; }
  .ztn-page .ztn-contact-band__primary-copy span { margin-top: 4px; font-size: 13px; line-height: 19px; color: #B0C6E2; }
  .ztn-page .ztn-contact-band__phone { display: flex; flex-direction: column; gap: 4px; }
  .ztn-page .ztn-contact-band__phone a { color: #fff; text-decoration: none; }
  .ztn-page .ztn-contact-band__phone > a:first-child { font-size: 24px; font-weight: 600; }
  .ztn-page .ztn-contact-band__button { width: 100%; min-height: 48px; justify-content: space-between; }
  .ztn-page .ztn-footer__heading { color: #fff; font-size: 16px; margin: 0 0 12px; }
}


@media (max-width: 767px) {
  .ztn-page .ztn-contact-band__phone a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .ztn-page .ztn-footer__brand-info a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
  }
  .ztn-page .ztn-footer__links a {
    min-height: 44px;
    display: flex !important;
    align-items: center;
  }
}


@media (max-width: 767px) {
  body.page-id-11 .ztn-job-row__body {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
  }
  body.page-id-11 .ztn-job-row__title,
  body.page-id-11 .ztn-job-row__meta { display: block; margin: 0 !important; }
  body.page-id-11 .ztn-job-row__title { font-size: 16px; line-height: 20px; }
  body.page-id-11 .ztn-job-row__meta { font-size: 14px; line-height: 18px; }
  body.page-id-11 .ztn-job-row__icon,
  body.page-id-11 .ztn-job-row__chevron { display: inline-flex; flex: 0 0 auto; }
  body.page-id-11 .ztn-job-row__chevron { margin-left: auto; }
}


/* ====================================================================
   19. Interaction polish (client review)
   ==================================================================== */
.ztn-page .ztn-btn,
.ztn-page .elementor-widget-button .elementor-button {
  transition: background-color .18s ease, color .18s ease, border-color .18s ease,
              box-shadow .18s ease, transform .18s ease;
}

/* ZTN red is used as a brief interaction state, not as a resting surface. */
.ztn-page .ztn-btn--primary:hover,
.ztn-page .ztn-btn--portal:hover,
.ztn-page .elementor-widget-button .elementor-button:hover {
  color: #fff;
  background: var(--ztn-red-600);
  border-color: var(--ztn-red-600);
  box-shadow: 0 6px 16px rgba(173, 52, 51, .18);
  transform: translateY(-1px);
  text-decoration: none;
}
.ztn-page .ztn-btn--secondary:hover {
  color: var(--ztn-red-600);
  background: var(--ztn-red-50);
  border-color: var(--ztn-red-600);
  box-shadow: 0 5px 14px rgba(173, 52, 51, .12);
  transform: translateY(-1px);
}
.ztn-page .ztn-contact-band a.ztn-contact-band__button:hover {
  color: var(--ztn-red-600) !important;
  background: var(--ztn-red-50) !important;
  border-color: var(--ztn-red-600) !important;
  text-decoration: none;
}

.ztn-page .ztn-nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: var(--ztn-red-600);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}
.ztn-page .ztn-nav__link:hover::after,
.ztn-page .ztn-nav__link:focus-visible::after,
.ztn-page .ztn-nav__link.is-active::after,
.ztn-page .ztn-nav__link.current-menu-item::after { transform: scaleX(1); }

.ztn-page .ztn-download-row,
.ztn-page .ztn-job-row { transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.ztn-page .ztn-download-row:hover,
.ztn-page .ztn-job-row:hover {
  border-color: #EED7D5;
  box-shadow: inset 4px 0 0 var(--ztn-red-600), 0 6px 16px rgba(16, 40, 82, .06);
  transform: translateX(2px);
}
.ztn-page .ztn-download-row:hover .ztn-download-row__icon,
.ztn-page .ztn-download-row:hover .ztn-download-row__title,
.ztn-page .ztn-job-row:hover .ztn-job-row__title { color: var(--ztn-red-600); }

.ztn-page :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--ztn-red-600);
}

@media (prefers-reduced-motion: reduce) {
  .ztn-page *, .ztn-page *::before, .ztn-page *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* Prevent the fixed 1420px review shell from creating a few pixels of
 * horizontal overflow on common 1366/1440px desktop viewports. */
@media (min-width: 768px) and (max-width: 1499px) {
  body.ztn-page main > div.elementor > section.elementor-section:not(.elementor-section-stretched):not(.elementor-section-full_width),
  body.ztn-page.page-id-6 main section[data-id="4e29yhh"],
  .ztn-page .ztn-contact-band__inner,
  .ztn-page .ztn-footer__inner {
    width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 32px) !important;
  }
  body.ztn-page main > div.elementor > section.elementor-section:not(.elementor-section-stretched):not(.elementor-section-full_width) > .elementor-container,
  body.ztn-page.page-id-6 main section[data-id="4e29yhh"] > .elementor-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.ztn-page main .elementor-widget,
  body.ztn-page main .elementor-widget-container,
  body.ztn-page main .ztn-info-box,
  body.ztn-page main .ztn-card,
  body.ztn-page main .ztn-job-row { max-width: 100% !important; }
  body.ztn-page.page-id-10 main .elementor-element-3mz9qav {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
  }
  body.ztn-page.page-id-10 main .elementor-element-s4emcod > .elementor-widget-container > div,
  body.ztn-page.page-id-10 main .elementor-element-s4emcod img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  .ztn-page .ztn-footer__copyright { width: 100% !important; }
}


/* ====================================================================
   20. Final UI/UX + accessibility pass (2026)
   Keep the established visual language; make the shell fluid, semantic and
   keyboard-friendly at the same time.
   ==================================================================== */
.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;
  white-space: nowrap !important;
  border: 0 !important;
}

.ztn-page .ztn-skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 1001;
  padding: 12px 16px;
  color: #fff;
  background: var(--ztn-navy-deep);
  border: 2px solid #fff;
  border-radius: var(--ztn-radius-sm);
  box-shadow: 0 4px 14px rgba(16, 40, 82, .22);
  transform: translateY(-160%);
  transition: transform .18s ease;
}
.ztn-page .ztn-skip-link:focus,
.ztn-page .ztn-skip-link:focus-visible {
  color: #fff;
  text-decoration: none;
  transform: translateY(0);
}

.ztn-page .ztn-footer__brand-info { font-style: normal; }
.ztn-page .ztn-btn,
.ztn-page .elementor-widget-button .elementor-button { min-height: 44px; }
.ztn-page .ztn-nav__link,
.ztn-page .ztn-nav > li > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.ztn-page .ztn-mobile-toggle {
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
}
.ztn-page .ztn-contact-band__phone,
.ztn-page .ztn-contact-band__phone a { font-variant-numeric: tabular-nums; }

/* The contact band is one component: location/schedule | phone | CTA. */
@media (min-width: 1200px) {
  .ztn-page .ztn-contact-band__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(185px, .55fr) auto;
    align-items: center;
    gap: clamp(24px, 3vw, 48px);
    min-height: 0;
    padding: 24px 32px !important;
    transform: none;
  }
  .ztn-page .ztn-contact-band__primary,
  .ztn-page .ztn-contact-band__phone,
  .ztn-page .ztn-contact-band__button {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0;
    transform: none;
  }
  .ztn-page .ztn-contact-band__primary {
    display: flex;
    align-items: flex-start;
    min-width: 0;
  }
  .ztn-page .ztn-contact-band__primary-copy {
    min-width: 0;
    margin-left: 16px;
  }
  .ztn-page .ztn-contact-band__primary-copy strong {
    display: block;
    font-size: 17px;
    line-height: 22px;
  }
  .ztn-page .ztn-contact-band__address {
    margin: 2px 0 9px;
    color: #fff;
    font-size: 14px;
    line-height: 19px;
    font-style: normal;
  }
  .ztn-page .ztn-contact-band__schedule-label,
  .ztn-page .ztn-contact-band__phone-label {
    display: block;
    margin: 0 0 3px;
    color: #B0C6E2;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 15px;
    text-transform: uppercase;
  }
  .ztn-page .ztn-contact-band__schedule-table {
    width: 100%;
    border-collapse: collapse;
    color: #B0C6E2;
    font-size: 12px;
    line-height: 16px;
  }
  .ztn-page .ztn-contact-band__schedule-table th,
  .ztn-page .ztn-contact-band__schedule-table td {
    padding: 1px 0;
    border: 0;
    text-align: left;
    vertical-align: top;
  }
  .ztn-page .ztn-contact-band__schedule-table th {
    width: 52px;
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
  }
  .ztn-page .ztn-contact-band__schedule-table td {
    padding-left: 10px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
  .ztn-page .ztn-contact-band__phone {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
  }
  .ztn-page .ztn-contact-band__phone > a:first-of-type {
    color: #fff;
    font-size: 23px;
    font-weight: 600;
    line-height: 30px;
    text-decoration: none;
    white-space: nowrap;
  }
  .ztn-page .ztn-contact-band__email { display: none; }
  .ztn-page .ztn-contact-band__button {
    justify-self: end;
    min-width: 209px;
    min-height: 44px;
  }
}
@media (min-width: 1500px) {
  .ztn-page .ztn-contact-band__inner { transform: translateX(13px); }
}

/* Tablet: release the 1420px visual-QA shell and let every section reflow. */
@media (min-width: 768px) and (max-width: 1199px) {
  .ztn-page .ztn-primary-nav,
  .ztn-page .ztn-header__actions .ztn-btn--portal { display: none; }
  .ztn-page .ztn-mobile-toggle { display: inline-flex; }
  .ztn-page .ztn-header__inner { padding-left: 24px !important; padding-right: 24px !important; }

  body.ztn-page main > .elementor > section:not(.ztn-hero) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.ztn-page main > .elementor > section:not(.ztn-hero) > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.ztn-page main > .elementor > section:not(.ztn-hero) .elementor-element-populated {
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.ztn-page .ztn-hero > .elementor-container,
  body.ztn-page .ztn-hero .elementor-container { max-width: 100% !important; }
  body.ztn-page .ztn-hero--main .elementor-container { padding-left: 24px !important; padding-right: 24px !important; }

  .page-id-6 section[data-id="4e29yhh"],
  .page-id-6 section[data-id="4e29yhh"] > .elementor-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .page-id-6 .ztn-home-services-panel,
  .page-id-6 .ztn-home-app-panel,
  .page-id-6 .ztn-home-services-panel > .elementor-column-wrap,
  .page-id-6 .ztn-home-app-panel > .elementor-column-wrap {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .page-id-9 section[data-id="sx1mbmo"] img,
  .page-id-9 section[data-id="zazzmeb"] img,
  .page-id-9 section[data-id="lzataq0"] img,
  .page-id-10 section[data-id="gb6rqpq"] img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }
  .page-id-10 section[data-id="gb6rqpq"] > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    height: auto !important;
  }
  .page-id-10 section[data-id="s4emcod"],
  .page-id-10 .elementor-element-s4emcod,
  .page-id-10 .elementor-element-s4emcod > .elementor-widget-container,
  .page-id-10 .elementor-element-s4emcod > .elementor-widget-container > div {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  .page-id-11 .elementor-element-ul7h4bi,
  .page-id-11 .elementor-element-jobsub01,
  .page-id-11 .elementor-element-ogkeeev,
  .page-id-11 .ztn-job-row,
  .page-id-11 section[data-id="04b6mrd"] .ztn-info-box,
  .page-id-12 .elementor-element-gxqceos,
  .page-id-12 section[data-id="se5kw4s"] .ztn-info-box,
  .page-id-13 .elementor-element-esyhq2g,
  .page-id-13 .elementor-element-esyhq2g .ztn-card,
  .page-id-13 section[data-id="6pvrxxr"] .ztn-info-box {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
  }
  .page-id-11 .elementor-element-ogkeeev { margin: 0 !important; }
  .page-id-11 .ztn-job-row { margin-bottom: 12px !important; }

  .ztn-page .ztn-contact-band {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 32px !important;
    padding-bottom: 48px !important;
  }
  .ztn-page .ztn-contact-band__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(180px, .6fr);
    align-items: center;
    gap: 20px 28px;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0;
    margin: 0;
    padding: 24px !important;
    transform: none !important;
  }
  .ztn-page .ztn-contact-band__primary {
    position: static !important;
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    width: auto !important;
    height: auto !important;
    min-width: 0;
  }
  .ztn-page .ztn-contact-band__primary-copy { min-width: 0; margin-left: 12px; }
  .ztn-page .ztn-contact-band__primary-copy strong { display: block; font-size: 17px; line-height: 22px; }
  .ztn-page .ztn-contact-band__address { margin: 2px 0 9px; font-style: normal; color: #fff; font-size: 14px; line-height: 19px; }
  .ztn-page .ztn-contact-band__schedule-label,
  .ztn-page .ztn-contact-band__phone-label { display: block; margin: 0 0 3px; color: #B0C6E2; font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 15px; text-transform: uppercase; }
  .ztn-page .ztn-contact-band__schedule-table { width: 100%; border-collapse: collapse; color: #B0C6E2; font-size: 12px; line-height: 16px; }
  .ztn-page .ztn-contact-band__schedule-table th,
  .ztn-page .ztn-contact-band__schedule-table td { padding: 1px 0; border: 0; text-align: left; vertical-align: top; }
  .ztn-page .ztn-contact-band__schedule-table th { width: 52px; color: #fff; font-weight: 600; white-space: nowrap; }
  .ztn-page .ztn-contact-band__schedule-table td { padding-left: 10px; font-variant-numeric: tabular-nums; }
  .ztn-page .ztn-contact-band__phone,
  .ztn-page .ztn-contact-band__button {
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-width: 0;
    transform: none !important;
  }
  .ztn-page .ztn-contact-band__phone { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
  .ztn-page .ztn-contact-band__phone > a:first-of-type { color: #fff; font-size: 22px; font-weight: 600; line-height: 30px; white-space: nowrap; }
  .ztn-page .ztn-contact-band__email { display: none; }
  .ztn-page .ztn-contact-band__button { justify-self: end; min-height: 48px; }

  .ztn-page .ztn-footer { height: auto !important; min-height: 0 !important; padding: 48px 0 24px !important; overflow: visible !important; }
  .ztn-page .ztn-footer__inner { width: 100% !important; max-width: 1420px !important; height: auto !important; margin: 0 auto; padding: 0 24px !important; transform: none !important; }
  .ztn-page .ztn-footer__grid { position: static !important; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 32px; width: 100% !important; height: auto !important; padding-bottom: 32px !important; }
  .ztn-page .ztn-footer__brand,
  .ztn-page .ztn-footer__nav { position: static !important; width: auto !important; height: auto !important; }
  .ztn-page .ztn-footer__links { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none !important; grid-auto-flow: row !important; gap: 8px 24px !important; width: auto !important; height: auto !important; }
  .ztn-page .ztn-footer__copyright { position: static !important; width: 100% !important; height: auto !important; padding: 16px 0 0 !important; }
}

@media (max-width: 1199px) {
  .ztn-page .ztn-header__inner { min-width: 0; }
  .ztn-page .ztn-mobile-menu { inset: var(--ztn-header-height) 0 0 0; }
}

@media (max-width: 767px) {
  .ztn-page .ztn-hero h1,
  .ztn-page .ztn-hero .elementor-heading-title {
    max-width: 100% !important;
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1.1 !important;
  }
  .ztn-page .ztn-hero h1 br { display: none; }
  .ztn-page .ztn-hero p { max-width: 100% !important; font-size: clamp(16px, 4.5vw, 19px) !important; }
  .ztn-page .ztn-hero .elementor-widget-html > .elementor-widget-container > div { width: 100% !important; max-width: 100% !important; padding-left: 16px !important; padding-right: 16px !important; }
  .ztn-page .ztn-contact-band__inner {
    display: grid !important;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 20px;
    padding: 24px !important;
    transform: none !important;
  }
  .ztn-page .ztn-contact-band__primary,
  .ztn-page .ztn-contact-band__phone,
  .ztn-page .ztn-contact-band__button {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0;
    transform: none !important;
  }
  .ztn-page .ztn-contact-band__primary { display: flex; align-items: flex-start; }
  .ztn-page .ztn-contact-band__primary-copy { min-width: 0; margin-left: 12px; }
  .ztn-page .ztn-contact-band__primary-copy strong { display: block; font-size: 17px; line-height: 22px; }
  .ztn-page .ztn-contact-band__address { margin: 2px 0 9px; font-style: normal; color: #fff; font-size: 14px; line-height: 19px; }
  .ztn-page .ztn-contact-band__schedule-label,
  .ztn-page .ztn-contact-band__phone-label { display: block; margin: 0 0 3px; color: #B0C6E2; font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 15px; text-transform: uppercase; }
  .ztn-page .ztn-contact-band__schedule-table { width: 100%; border-collapse: collapse; color: #B0C6E2; font-size: 12px; line-height: 16px; }
  .ztn-page .ztn-contact-band__schedule-table th,
  .ztn-page .ztn-contact-band__schedule-table td { padding: 1px 0; border: 0; text-align: left; vertical-align: top; }
  .ztn-page .ztn-contact-band__schedule-table th { width: 52px; color: #fff; font-weight: 600; white-space: nowrap; }
  .ztn-page .ztn-contact-band__schedule-table td { padding-left: 10px; font-variant-numeric: tabular-nums; white-space: normal; }
  .ztn-page .ztn-contact-band__phone { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
  .ztn-page .ztn-contact-band__phone > a:first-of-type { min-height: 44px; display: flex; align-items: center; color: #fff; font-size: 24px; font-weight: 600; line-height: 30px; white-space: nowrap; }
  .ztn-page .ztn-contact-band__email { min-height: 44px; display: flex; align-items: center; color: #fff; }
  .ztn-page .ztn-contact-band__button { width: 100% !important; min-height: 48px; justify-content: space-between; }
  .ztn-page .ztn-footer__brand-info { margin-top: 16px !important; }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .page-id-6 section[data-id="4e29yhh"] > .elementor-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  .page-id-6 .ztn-master-worker-image,
  .page-id-6 .ztn-master-phone-image {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 20px auto 0 !important;
    transform: none !important;
  }
  body.ztn-page.page-id-6 .ztn-home-services-panel .ztn-master-worker-image {
    width: 100% !important;
    max-width: 520px !important;
  }
  .page-id-6 .ztn-master-worker-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
  }
  .page-id-6 .ztn-master-phone-image { max-width: 181px !important; }
  .page-id-6 .ztn-master-phone-image img { width: 181px !important; height: auto !important; }
}

/* Recovery: the desktop hero stays untouched. At tablet/phone widths the
 * 1920:484 source cannot be cropped behind the copy without losing either
 * the truck or text contrast, so preserve the same copy-first composition
 * and show the existing image directly below it. */
@media (max-width: 1024px) {
  body.page-id-6 .ztn-hero--main {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: clamp(220px, 31vw, 280px) !important;
    background-color: #fff !important;
    background-size: auto clamp(220px, 31vw, 280px) !important;
    background-position: 68% bottom !important;
    background-repeat: no-repeat !important;
  }
  body.page-id-6 .ztn-hero--main::before { content: none !important; }
  body.page-id-6 .ztn-hero--main > .elementor-container {
    min-height: 0 !important;
    position: relative;
    z-index: 1;
    background: #fff;
  }
  body.page-id-6 .ztn-hero--main .elementor-widget-html > .elementor-widget-container > div {
    width: 100% !important;
    max-width: 720px !important;
    padding: 44px 24px 40px !important;
  }
  body.page-id-6 .ztn-hero--main h1 {
    font-size: clamp(38px, 5.5vw, 46px) !important;
    line-height: 1.08 !important;
  }
  body.page-id-6 .ztn-hero--main p {
    max-width: 620px !important;
    color: var(--ztn-text-grey) !important;
  }
}

@media (max-width: 767px) {
  body.page-id-6 .ztn-hero--main {
    padding-bottom: 220px !important;
    background-size: auto 220px !important;
    background-position: 66% bottom !important;
  }
  body.page-id-6 .ztn-hero--main .elementor-widget-html > .elementor-widget-container > div {
    padding: 40px 16px 32px !important;
  }
  body.page-id-6 .ztn-hero--main h1 {
    font-size: clamp(32px, 9vw, 38px) !important;
  }
}


/* Photo subpage heroes keep their approved imagery, while constraining copy to
 * the built-in light side of each image so text never crosses busy scenery. */
@media (min-width: 768px) and (max-width: 1024px) {
  body.ztn-page .ztn-hero--photo .elementor-widget-html > .elementor-widget-container > div {
    width: 58% !important;
    max-width: 58% !important;
    padding: 32px 24px !important;
  }
}

@media (max-width: 767px) {
  body.ztn-page .ztn-hero--photo {
    height: auto !important;
    min-height: 320px !important;
  }
  body.ztn-page .ztn-hero--photo > .elementor-container { min-height: 320px !important; }
  body.ztn-page .ztn-hero--photo .elementor-widget-html > .elementor-widget-container > div {
    width: 74% !important;
    max-width: 74% !important;
    padding: 32px 16px !important;
  }
  body.ztn-page .ztn-hero--photo h1 {
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.08 !important;
  }
  body.ztn-page .ztn-hero--photo p {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 359px) {
  .ztn-page .ztn-contact-band__phone-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }
  .ztn-page .ztn-contact-band__primary-copy { margin-left: 8px; }
  .ztn-page .ztn-contact-band__schedule-table {
    font-size: 11px;
    letter-spacing: -.01em;
  }
  .ztn-page .ztn-contact-band__schedule-table th { width: 43px; }
  .ztn-page .ztn-contact-band__schedule-table td {
    padding-left: 6px;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}


/* ====================================================================
   21. Final accessibility and readability pass
   Scope: focus, contact band, footer and document table only.
   ==================================================================== */
.ztn-page :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--ztn-red-600);
}

/* Contact band: readable schedule columns without artificial whitespace. */
.ztn-page .ztn-contact-band__schedule-label,
.ztn-page .ztn-contact-band__phone-label {
  color: #D5E1F0 !important;
  font-size: 13px !important;
  line-height: 18px !important;
  letter-spacing: .06em !important;
}
.ztn-page .ztn-contact-band__address {
  font-size: 16px !important;
  line-height: 22px !important;
}
.ztn-page .ztn-contact-band__schedule-table {
  width: auto !important;
  color: #E1EAF5 !important;
  font-size: 15px !important;
  line-height: 21px !important;
  font-variant-numeric: tabular-nums;
}
.ztn-page .ztn-contact-band__schedule-table th,
.ztn-page .ztn-contact-band__schedule-table td {
  padding: 2px 0 !important;
}
.ztn-page .ztn-contact-band__schedule-table th {
  width: 58px !important;
  padding-right: 18px !important;
  color: #fff !important;
}
.ztn-page .ztn-contact-band__schedule-table td {
  padding-left: 0 !important;
  padding-right: 20px !important;
  white-space: nowrap;
}
.ztn-page .ztn-contact-band__schedule-table td:last-child { padding-right: 0 !important; }
.ztn-page .ztn-contact-band__phone > a:first-of-type {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  font-size: 24px !important;
  line-height: 32px !important;
}
.ztn-page .ztn-contact-band__email { font-size: 16px; }

@media (min-width: 1200px) {
  .ztn-page .ztn-contact-band__inner {
    grid-template-columns: minmax(500px, 650px) minmax(200px, 220px) auto !important;
    justify-content: center;
    gap: clamp(28px, 2.4vw, 44px) !important;
    padding: 28px 36px !important;
  }
  .ztn-page .ztn-contact-band__primary-copy { margin-left: 18px !important; }
  .ztn-page .ztn-contact-band__primary-copy strong {
    font-size: 19px !important;
    line-height: 25px !important;
  }
}

@media (max-width: 1199px) {
  .ztn-page .ztn-contact-band__schedule-table { width: 100% !important; }
}

@media (max-width: 767px) {
  .ztn-page .ztn-contact-band__inner { gap: 24px !important; }
  .ztn-page .ztn-contact-band__primary-copy strong {
    font-size: 19px !important;
    line-height: 25px !important;
  }
  .ztn-page .ztn-contact-band__address { margin-bottom: 12px !important; }
  .ztn-page .ztn-contact-band__schedule-table th,
  .ztn-page .ztn-contact-band__schedule-table td {
    display: block;
    width: 100% !important;
    padding: 0 !important;
  }
  .ztn-page .ztn-contact-band__schedule-table tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 16px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,.22);
  }
  .ztn-page .ztn-contact-band__schedule-table tr:last-child { border-bottom: 0; }
  .ztn-page .ztn-contact-band__schedule-table th { grid-column: 1 / -1; }
}

@media (max-width: 359px) {
  .ztn-page .ztn-contact-band__schedule-table { font-size: 15px !important; letter-spacing: 0 !important; }
  .ztn-page .ztn-contact-band__schedule-table td { white-space: normal !important; }
}

/* Footer: retain its institutional structure while raising text size and clarity. */
.ztn-page .ztn-footer { color: #D5E1F0 !important; font-size: 16px !important; }
.ztn-page .ztn-footer__brand-info,
.ztn-page .ztn-footer__brand-info p,
.ztn-page .ztn-footer__brand-info a,
.ztn-page .ztn-footer__links a,
.ztn-page .ztn-footer__copyright { color: #D5E1F0 !important; }
.ztn-page .ztn-footer__brand-info {
  font-size: 16px !important;
  line-height: 1.6 !important;
}
.ztn-page .ztn-footer__brand-info p { line-height: 1.6 !important; }
.ztn-page .ztn-footer__heading {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}
.ztn-page .ztn-footer__links a {
  min-height: 36px;
  padding: 5px 0 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.ztn-page .ztn-footer__links a:hover {
  color: #fff !important;
  text-decoration-thickness: 2px;
}
.ztn-page .ztn-footer__copyright {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

@media (min-width: 1200px) {
  .ztn-page .ztn-footer {
    height: auto !important;
    min-height: 0 !important;
    padding: 44px 0 24px !important;
    overflow: visible !important;
  }
  .ztn-page .ztn-footer__inner {
    position: static !important;
    width: min(1420px, calc(100vw - 48px)) !important;
    max-width: 1420px !important;
    height: auto !important;
    padding: 0 !important;
    transform: none !important;
  }
  .ztn-page .ztn-footer__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) !important;
    gap: 56px !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 0 36px !important;
  }
  .ztn-page .ztn-footer__brand,
  .ztn-page .ztn-footer__nav {
    position: static !important;
    width: auto !important;
    height: auto !important;
  }
  .ztn-page .ztn-footer__brand-info { margin-top: 20px !important; }
  .ztn-page .ztn-footer__links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    gap: 4px 28px !important;
    width: auto !important;
    height: auto !important;
  }
  .ztn-page .ztn-footer__copyright {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 18px 0 0 !important;
  }
}

@media (max-width: 767px) {
  .ztn-page .ztn-footer { padding: 44px 0 24px !important; }
  .ztn-page .ztn-footer__grid { gap: 32px !important; padding-bottom: 28px !important; }
  .ztn-page .ztn-footer__links { grid-template-columns: 1fr !important; gap: 2px !important; }
  .ztn-page .ztn-footer__links a { min-height: 44px; display: flex !important; align-items: center; }
}

/* Downloads: semantic table with a single contained horizontal scroll area. */
.ztn-page .ztn-data-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  margin: 0 0 24px;
  border: 1px solid var(--ztn-line-2);
  border-radius: var(--ztn-radius-sm);
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.ztn-page .ztn-table-scroll-hint {
  display: none;
  margin: 0;
  padding: 10px 16px;
  color: var(--ztn-text-slate);
  background: var(--ztn-panel-blue);
  border-bottom: 1px solid var(--ztn-line-2);
  font-size: 14px;
  line-height: 1.5;
}
.ztn-page .ztn-downloads-table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  color: var(--ztn-text-slate);
  font-size: 16px;
  line-height: 1.5;
}
.ztn-page .ztn-downloads-table caption {
  padding: 16px 20px;
  color: var(--ztn-navy);
  background: #fff;
  font-size: 18px;
  font-weight: 700;
  text-align: left;
}
.ztn-page .ztn-downloads-table thead { background: var(--ztn-panel-blue); }
.ztn-page .ztn-downloads-table th,
.ztn-page .ztn-downloads-table td {
  padding: 15px 20px;
  border: 0;
  border-bottom: 1px solid var(--ztn-line);
  text-align: left;
  vertical-align: top;
}
.ztn-page .ztn-downloads-table thead th {
  color: var(--ztn-navy);
  font-size: 15px;
  font-weight: 700;
}
.ztn-page .ztn-downloads-table tbody th { width: 52%; font-weight: 400; }
.ztn-page .ztn-downloads-table tbody td:nth-child(2) { width: 12%; }
.ztn-page .ztn-downloads-table tbody td:last-child { width: 36%; }
.ztn-page .ztn-downloads-table tbody tr:nth-child(even) { background: #F8FAFC; }
.ztn-page .ztn-downloads-table tbody tr:hover { background: var(--ztn-red-50); }
.ztn-page .ztn-downloads-table tbody tr:last-child > * { border-bottom: 0; }
.ztn-page .ztn-download-table__title,
.ztn-page .ztn-download-table__desc { display: block; }
.ztn-page .ztn-download-table__title { color: var(--ztn-text-slate); font-weight: 700; }
.ztn-page .ztn-download-table__desc { margin-top: 2px; color: var(--ztn-text-grey); font-size: 15px; font-weight: 400; }
.ztn-page .ztn-file-type { font-variant-caps: all-small-caps; font-weight: 700; letter-spacing: .04em; }
.ztn-page .ztn-download-table__link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  color: #982E2D;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ztn-page .ztn-download-status { color: var(--ztn-text-grey); }
.ztn-page .ztn-job-row:not(a) { cursor: default; }
.ztn-page .ztn-job-row:not(a):hover { border-color: var(--ztn-line); box-shadow: none; transform: none; }

@media (max-width: 767px) {
  .ztn-page .ztn-table-scroll-hint { display: block; }
  .ztn-page .ztn-downloads-table { min-width: 660px; }
  .ztn-page .ztn-downloads-table th,
  .ztn-page .ztn-downloads-table td { padding: 14px 16px; }
}

/* Accessibility: small service descriptions need >= 4.5:1 on the blue panels. */
.page-id-6 .ztn-services-list .elementor-icon-list-text span:last-child,
.page-id-6 .ztn-home-app-panel .elementor-icon-list-text span:last-child {
  color: var(--ztn-text-grey) !important;
}

/* Elementor-native document list. Content stays editable without HTML; CSS owns layout only. */
.ztn-page .downloads-list > .elementor-container {
  overflow: hidden;
  border: 1px solid var(--ztn-line-2);
  border-radius: var(--ztn-radius-sm);
  background: #fff;
}
.ztn-page .downloads-list > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0; }
.ztn-page .downloads-list .download-head,
.ztn-page .downloads-list .download-row { margin: 0; }
.ztn-page .downloads-list .download-head > .elementor-container,
.ztn-page .downloads-list .download-row > .elementor-container { max-width: none; width: 100%; }
@media (min-width: 768px) {
  .ztn-page .downloads-list .download-head > .elementor-container,
  .ztn-page .downloads-list .download-row > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 52fr) minmax(0, 12fr) minmax(0, 36fr);
  }
  .ztn-page .downloads-list .download-head > .elementor-container > .elementor-column,
  .ztn-page .downloads-list .download-row > .elementor-container > .elementor-column {
    width: auto !important;
    min-width: 0;
  }
}
.ztn-page .downloads-list .download-head { background: var(--ztn-panel-blue); }
.ztn-page .downloads-list .download-row { border-bottom: 1px solid var(--ztn-line); }
.ztn-page .downloads-list .download-row:nth-of-type(odd) { background: #F8FAFC; }
.ztn-page .downloads-list .download-row:last-child { border-bottom: 0; }
.ztn-page .downloads-list .download-head .elementor-widget-wrap,
.ztn-page .downloads-list .download-row .elementor-widget-wrap { padding: 15px 20px; align-content: center; }
.ztn-page .downloads-list .elementor-widget { margin-bottom: 0; }
.ztn-page .downloads-list .download-head-label .elementor-heading-title {
  color: var(--ztn-navy);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
.ztn-page .downloads-list .download-title .elementor-heading-title {
  color: var(--ztn-text-slate);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
.ztn-page .downloads-list .download-meta { margin-top: 2px; }
.ztn-page .downloads-list .download-meta p,
.ztn-page .downloads-list .download-file-type p,
.ztn-page .downloads-list .download-status p { margin: 0; }
.ztn-page .downloads-list .download-meta,
.ztn-page .downloads-list .download-status { color: var(--ztn-text-grey); font-size: 15px; line-height: 1.5; }
.ztn-page .downloads-list .download-file-type {
  color: var(--ztn-text-slate);
  font-size: 16px;
  font-weight: 700;
  font-variant-caps: all-small-caps;
  letter-spacing: .04em;
  line-height: 1.5;
}
.ztn-page .downloads-list .download-action .elementor-button {
  min-height: 44px;
  padding: 0;
  border: 0 !important;
  align-items: center;
  background: transparent;
  color: #982E2D;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ztn-page .downloads-list .download-action .elementor-button:hover,
.ztn-page .downloads-list .download-action .elementor-button:focus-visible {
  background: transparent;
  color: var(--ztn-red-600);
}
.ztn-page .downloads-note { margin: 0; }
.ztn-page .downloads-note p { margin: 0; }

@media (max-width: 767px) {
  .ztn-page .downloads-list .download-head { display: none; }
  .ztn-page .downloads-list .download-row > .elementor-container { display: block; }
  .ztn-page .downloads-list .download-row .elementor-column { width: 100% !important; }
  .ztn-page .downloads-list .download-row .elementor-widget-wrap { padding: 0 16px; }
  .ztn-page .downloads-list .download-row .elementor-column:first-child .elementor-widget-wrap { padding-top: 16px; }
  .ztn-page .downloads-list .download-row .elementor-column:last-child .elementor-widget-wrap { padding-bottom: 12px; }
  .ztn-page .downloads-list .download-file-type { margin-top: 8px; }
  .ztn-page .downloads-list .download-action,
  .ztn-page .downloads-list .download-status { margin-top: 6px; }
}

@media (prefers-contrast: more) {
  .ztn-page .ztn-contact-band__inner,
  .ztn-page .ztn-footer { forced-color-adjust: auto; }
  .ztn-page .ztn-downloads-table th,
  .ztn-page .ztn-downloads-table td { border-bottom-color: #6E7582; }
  .ztn-page :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline-width: 4px;
    box-shadow: 0 0 0 7px #000;
  }
}


/* Elementor-native download containers (page 10 only).
 * Content and file selection live in widgets; these rules retain the existing
 * Icon | document information | action presentation. */
body.ztn-page.page-id-10 .downloads-list > .elementor-container {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row.e-con {
  --display: grid;
  --width: 100%;
  --padding-top: var(--ztn-sp-4);
  --padding-right: var(--ztn-sp-5);
  --padding-bottom: var(--ztn-sp-4);
  --padding-left: var(--ztn-sp-5);
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: var(--ztn-sp-4);
  width: 100%;
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__icon {
  width: 22px;
  margin: 0;
  color: var(--ztn-navy);
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__icon .elementor-icon {
  display: flex;
  color: inherit;
  font-size: 22px;
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__body.e-con,
body.ztn-page.page-id-10 .downloads-note-section .ztn-info-box__content.e-con {
  --display: flex;
  --width: auto;
  --gap: 0px 0px;
  --padding-top: 0;
  --padding-right: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  min-width: 0;
  padding: 0;
  gap: 0;
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__title,
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__desc,
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__status { margin: 0; }
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__title .elementor-heading-title {
  margin: 0 0 2px;
  color: var(--ztn-text-slate);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__desc,
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__status {
  color: var(--ztn-text-grey-2);
  font-size: 14px;
  line-height: 1.5;
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__desc p,
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__status p { margin: 0; }
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__action {
  width: auto;
  margin: 0;
  flex-shrink: 0;
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__action .elementor-button {
  min-height: 44px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  color: var(--ztn-red-600);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__action .elementor-button:hover {
  background: transparent;
  color: var(--ztn-red-600);
  text-decoration: underline;
}
body.ztn-page.page-id-10 .downloads-list .ztn-download-row__action .elementor-button:focus-visible {
  outline: 3px solid var(--ztn-navy);
  outline-offset: 3px;
}
body.ztn-page.page-id-10 .downloads-note-section .ztn-info-box.e-con {
  --display: flex;
  --width: 100%;
  display: flex;
  flex-direction: row;
  width: 100%;
}
body.ztn-page.page-id-10 .downloads-note-section .ztn-info-box__icon {
  width: 22px;
  margin: 2px 0 0;
  color: var(--ztn-red-600);
  flex: 0 0 22px;
}
body.ztn-page.page-id-10 .downloads-note-section .ztn-info-box__icon .elementor-icon {
  display: flex;
  color: inherit;
  font-size: 22px;
}
body.ztn-page.page-id-10 .downloads-note-section .ztn-info-box__label,
body.ztn-page.page-id-10 .downloads-note-section .ztn-info-box__body { margin: 0; }
body.ztn-page.page-id-10 .downloads-note-section .ztn-info-box__label .elementor-heading-title {
  margin: 0 0 6px;
  color: var(--ztn-red-600);
  font-size: var(--ztn-fs-body-sm);
  font-weight: 600;
  line-height: 1.5;
}
body.ztn-page.page-id-10 .downloads-note-section .ztn-info-box__body p { margin: 0; }

@media (max-width: 767px) {
  body.ztn-page.page-id-10 .downloads-list .ztn-download-row.e-con {
    --padding-top: 16px;
    --padding-right: 16px;
    --padding-bottom: 16px;
    --padding-left: 16px;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    column-gap: 12px;
    row-gap: 8px;
  }
  body.ztn-page.page-id-10 .downloads-list .ztn-download-row__action,
  body.ztn-page.page-id-10 .downloads-list .ztn-download-row__status {
    grid-column: 2;
    width: 100%;
  }
  body.ztn-page.page-id-10 .downloads-list .ztn-download-row__action .elementor-button {
    justify-content: flex-start;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}


/* Elementor-native editability layer (2026-08-14)
   Content remains in Elementor widgets; this block only preserves layout. */
.ztn-page .ztn-native-hero > .elementor-widget-wrap {
  width: 100%;
  max-width: 1420px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  align-content: flex-start;
}
.ztn-page .ztn-hero--photo .ztn-native-hero > .elementor-widget-wrap {
  max-width: 1180px;
  padding: 32px 60px;
}
.ztn-page .ztn-native-hero__title,
.ztn-page .ztn-native-hero__lead { width: 100%; margin: 0; }
.ztn-page .ztn-native-hero__title { margin-bottom: 14px; }
.ztn-page .ztn-hero--photo .ztn-native-hero__title { margin-bottom: 8px; }
.ztn-page .ztn-native-hero__title .elementor-heading-title {
  margin: 0;
  max-width: 760px;
  color: #1B4B8F;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
}
.ztn-page .ztn-native-hero__lead .elementor-widget-container,
.ztn-page .ztn-native-hero__lead p { margin: 0; }
.ztn-page .ztn-native-hero__lead p {
  max-width: 920px;
  color: #5A6472;
  font-size: 19px;
  line-height: 1.5;
}
.ztn-page .ztn-native-image img { width: 100%; height: auto; border-radius: 10px; display: block; }
.ztn-page .ztn-native-kv-card.e-con { width: 100%; flex-direction: column; }
.ztn-page .ztn-native-kv-card .ztn-card__title { margin: 0 0 var(--ztn-sp-5); }
.ztn-page .ztn-native-kv-card .ztn-card__title .elementor-heading-title {
  margin: 0;
  color: var(--ztn-navy);
  font-size: var(--ztn-fs-h3);
  font-weight: 600;
  line-height: 1.3;
}
.ztn-page .ztn-native-kv-list.e-con { width: 100%; flex-direction: column; gap: var(--ztn-sp-3); }
.ztn-page .ztn-native-kv-row.e-con {
  width: 100%;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  column-gap: var(--ztn-sp-5);
  align-items: start;
}
.ztn-page .ztn-native-kv-key,
.ztn-page .ztn-native-kv-value { margin: 0; min-width: 0; }
.ztn-page .ztn-native-kv-key .elementor-heading-title {
  margin: 0;
  color: var(--ztn-text-slate);
  font-size: var(--ztn-fs-body-sm);
  font-weight: 600;
  line-height: 1.5;
}
.ztn-page .ztn-native-kv-value .elementor-widget-container,
.ztn-page .ztn-native-kv-value p { margin: 0; }
.ztn-page .ztn-native-kv-value p { color: var(--ztn-text-grey); }
.ztn-page .ztn-native-bullet-list .elementor-icon-list-items { margin: 0 0 var(--ztn-sp-5); }
.ztn-page .ztn-info-box.e-con { width: 100%; flex-direction: row; }
.ztn-page .ztn-info-box__content.e-con { flex: 1 1 auto; flex-direction: column; }
.ztn-page .ztn-info-box__label,
.ztn-page .ztn-info-box__body { margin: 0; }
.ztn-page .ztn-info-box__label .elementor-heading-title,
.ztn-page .ztn-info-box__body p { margin: 0; }
.ztn-page .ztn-info-box__label .elementor-heading-title { margin-bottom: 6px; font-size: var(--ztn-fs-body-sm); }
@media (max-width: 767px) {
  .ztn-page .ztn-hero--photo .ztn-native-hero > .elementor-widget-wrap { padding: 24px; }
  .ztn-page .ztn-native-hero__title .elementor-heading-title { font-size: 34px; }
  .ztn-page .ztn-native-kv-row.e-con { grid-template-columns: 1fr; row-gap: 4px; }
  .ztn-page .ztn-native-kv-value { margin-bottom: var(--ztn-sp-3); }
}


/* Native container normalization: Elementor containers add 10px defaults that
   the former semantic HTML did not have. Keep the measured card geometry. */
.ztn-page .ztn-native-kv-list.e-con,
.ztn-page .ztn-native-kv-row.e-con,
.ztn-page .ztn-info-box__content.e-con {
  --padding-top: 0;
  --padding-right: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  padding: 0 !important;
}
.ztn-page .ztn-native-kv-list.e-con { gap: 0; }
.ztn-page .ztn-native-kv-row.e-con { min-height: 27px; }

.ztn-page .ztn-info-box__content.e-con {
  --gap: 0;
  gap: 0;
}
.ztn-page .ztn-info-box__label { margin-bottom: 0 !important; }
@media (min-width: 768px) {
  html body.ztn-page.page-id-12 main .elementor-section.elementor-element-se5kw4s,
  html body.ztn-page.page-id-13 main .elementor-section.elementor-element-6pvrxxr {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  body.page-id-12 section[data-id="se5kw4s"] .ztn-info-box,
  body.page-id-13 section[data-id="6pvrxxr"] .ztn-info-box {
    height: auto !important;
    min-height: 0 !important;
  }
}


/* ZTN maintenance page — approved layout, scoped to page 1009 */
.page-id-1009 .ztn-maintenance-native {
  min-height: 100vh;
  padding: 72px 24px !important;
  background: #F7FAFD;
}
.page-id-1009 .ztn-maintenance-native > .elementor-container {
  max-width: 1040px;
  margin: 0 auto;
}
.page-id-1009 .ztn-maintenance-content > .elementor-widget-wrap { padding: 0; }
.page-id-1009 .ztn-maintenance-logo { margin-bottom: 32px; }
.page-id-1009 .ztn-maintenance-logo img { width: 180px; height: auto; }
.page-id-1009 .ztn-maintenance-title .elementor-heading-title {
  margin: 0 0 18px;
  color: var(--ztn-navy-deep);
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.page-id-1009 .ztn-maintenance-lead {
  max-width: 760px;
  margin-bottom: 32px;
  color: var(--ztn-text-grey);
  font-size: 20px;
  line-height: 1.55;
}
.page-id-1009 .ztn-maintenance-status {
  margin: 0 0 46px;
  border-top: 3px solid var(--ztn-red-600);
  border-bottom: 1px solid var(--ztn-line);
  background: #EEF4FA;
}
.page-id-1009 .ztn-maintenance-status > .elementor-container { display: flex; }
.page-id-1009 .ztn-maintenance-status-item > .elementor-widget-wrap { padding: 22px 24px; }
.page-id-1009 .ztn-maintenance-status-item + .ztn-maintenance-status-item { border-left: 1px solid var(--ztn-line); }
.page-id-1009 .ztn-maintenance-status h3,
.page-id-1009 .ztn-maintenance-contact h3 {
  margin: 0 0 6px;
  color: var(--ztn-navy-deep);
  font-size: 16px;
}
.page-id-1009 .ztn-maintenance-status p,
.page-id-1009 .ztn-maintenance-contact p { margin: 0; }
.page-id-1009 .ztn-maintenance-section-title .elementor-heading-title {
  margin: 36px 0 10px;
  color: var(--ztn-navy-deep);
  font-size: 28px;
}
.page-id-1009 .ztn-maintenance-oldsite { margin-top: 16px; }
.page-id-1009 .ztn-maintenance-contact { margin-top: 12px; }
.page-id-1009 .ztn-maintenance-contact > .elementor-container { display: flex; gap: 28px; }
.page-id-1009 .ztn-maintenance-contact-item > .elementor-widget-wrap { padding: 0; }
.page-id-1009 .ztn-maintenance-contact .elementor-button { min-height: 44px; }

@media (max-width: 767px) {
  .page-id-1009 .ztn-maintenance-native { padding: 42px 18px !important; }
  .page-id-1009 .ztn-maintenance-logo { margin-bottom: 26px; }
  .page-id-1009 .ztn-maintenance-logo img { width: 150px; }
  .page-id-1009 .ztn-maintenance-title .elementor-heading-title { font-size: 40px; }
  .page-id-1009 .ztn-maintenance-lead { font-size: 18px; }
  .page-id-1009 .ztn-maintenance-status > .elementor-container,
  .page-id-1009 .ztn-maintenance-contact > .elementor-container { display: block; }
  .page-id-1009 .ztn-maintenance-status-item,
  .page-id-1009 .ztn-maintenance-contact-item { width: 100% !important; }
  .page-id-1009 .ztn-maintenance-status-item + .ztn-maintenance-status-item {
    border-left: 0;
    border-top: 1px solid var(--ztn-line);
  }
  .page-id-1009 .ztn-maintenance-contact-item { margin-bottom: 24px; }
  .page-id-1009 .ztn-maintenance-contact .elementor-button { width: 100%; }
}


.page-id-1009 .ztn-maintenance-status,
.page-id-1009 .ztn-maintenance-contact {
  width: 100% !important;
  left: auto !important;
  right: auto !important;
}


/* Footer links use the established customer red on hover. */
.ztn-page .ztn-footer__links a:hover { color: var(--ztn-red-600) !important; text-decoration: none; }



/* Homepage layout */
.page-id-1001 .ztn-home-hero,
.page-id-1001 .ztn-home-trust-rail,
.page-id-1001 .ztn-home-services,
.page-id-1001 .ztn-home-portal,
.page-id-1001 .ztn-home-news {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
.page-id-1001 .ztn-home-hero > .elementor-container,
.page-id-1001 .ztn-home-trust-rail > .elementor-container,
.page-id-1001 .ztn-home-services > .elementor-container,
.page-id-1001 .ztn-home-portal > .elementor-container,
.page-id-1001 .ztn-home-news > .elementor-container {
  width: 100% !important;
  max-width: 1140px !important;
  margin-inline: auto !important;
  padding-inline: 24px !important;
}
.page-id-1001 .ztn-home-trust-rail > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.page-id-1001 .ztn-home-trust-col,
.page-id-1001 .ztn-home-service-card-col { width: auto !important; }
.page-id-1001 .ztn-home-trust-item {
  height: 100% !important;
  padding: 24px 22px !important;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(16,40,82,.10);
}
.page-id-1001 .ztn-home-trust-item .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  text-align: left !important;
}
.page-id-1001 .ztn-home-trust-item .elementor-icon-box-icon {
  flex: 0 0 34px !important;
  width: 34px !important;
  margin: 0 !important;
}
.page-id-1001 .ztn-home-trust-item .elementor-icon-box-content { flex: 1 1 auto !important; min-width: 0 !important; }
.page-id-1001 .ztn-home-trust-item .elementor-icon-box-title { margin: 0 0 8px !important; color: var(--ztn-navy) !important; }
.page-id-1001 .ztn-home-trust-item .elementor-icon-box-description { margin: 0 !important; }
.page-id-1001 .ztn-home-trust-item .elementor-icon,
.page-id-1001 .ztn-home-trust-item svg { color: var(--ztn-navy) !important; fill: var(--ztn-navy) !important; }
.page-id-1001 .ztn-home-services > .elementor-container { align-items: flex-start !important; gap: 56px; }
.page-id-1001 .ztn-home-services-intro { width: 42% !important; }
.page-id-1001 .ztn-home-services-cards { width: 58% !important; }
.page-id-1001 .ztn-home-services-cards > .elementor-container,
.page-id-1001 .ztn-home-services-cards .elementor-inner-section > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: 100% !important;
  max-width: none !important;
}

/* Shared interaction language for secondary clickable surfaces. */
.page-id-1001 .ztn-interactive-surface {
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s cubic-bezier(.22,1,.36,1);
}
.page-id-1001 .ztn-home-service-card {
  position: relative;
  height: 100% !important;
  min-height: 170px;
  padding: 28px 20px !important;
  background: var(--ztn-panel-blue) !important;
  border: 1px solid var(--ztn-line) !important;
  border-radius: 8px;
  cursor: pointer;
}
.page-id-1001 .ztn-home-service-card .elementor-icon-box-wrapper { text-align: center; }
.page-id-1001 .ztn-home-service-card .elementor-icon-box-icon { margin-bottom: 14px !important; }
.page-id-1001 .ztn-home-service-card .elementor-icon,
.page-id-1001 .ztn-home-service-card svg { color: var(--ztn-navy) !important; fill: var(--ztn-navy) !important; transition: color .2s ease, fill .2s ease; }
.page-id-1001 .ztn-home-service-card .elementor-icon-box-title a::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.page-id-1001 .ztn-home-service-card:focus-within {
  outline: 2px solid var(--ztn-red-600, #b51f2e);
  outline-offset: 3px;
}
.page-id-1001 .ztn-home-portal { background: var(--ztn-panel-blue) !important; }
.page-id-1001 .ztn-home-portal > .elementor-container,
.page-id-1001 .ztn-home-news > .elementor-container { align-items: center !important; gap: 48px; }
.page-id-1001 .ztn-home-portal-copy { width: 58% !important; }
.page-id-1001 .ztn-home-portal-device { width: 42% !important; }
.page-id-1001 .ztn-home-portal-device .elementor-widget-image img { max-height: 360px; width: auto; object-fit: contain; }
.page-id-1001 .ztn-home-news {
  background: var(--ztn-navy-deep) !important;
  color: #fff !important;
  overflow: hidden;
}
.page-id-1001 .ztn-home-news-content { width: 58% !important; overflow: visible; z-index: 2; }
.page-id-1001 .ztn-home-news-visual { width: 42% !important; z-index: 1; }
.page-id-1001 .ztn-home-news .elementor-heading-title,
.page-id-1001 .ztn-home-news .elementor-widget-text-editor { color: #fff !important; }
.page-id-1001 .ztn-home-news-visual img { border-radius: 8px; }

/* Homepage products CTA */
.page-id-1001 .ztn-product-cta-widget {
  width: 100%;
  max-width: 500px;
  margin-top: 28px;
  overflow: visible;
}
.page-id-1001 .ztn-product-cta-widget .elementor-widget-container { overflow: visible; }
.page-id-1001 .ztn-product-cta {
  position: relative;
  display: block;
  min-height: 44px;
  padding: 18px 20px 16px;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 6px;
  text-decoration: none;
}
.page-id-1001 .ztn-product-cta__items { display: grid; gap: 7px; }
.page-id-1001 .ztn-product-cta__items > span {
  position: relative;
  display: block;
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: .005em;
}
.page-id-1001 .ztn-product-cta__items > span::before {
  content: '';
  position: absolute;
  left: 0;
  top: .62em;
  width: 8px;
  height: 2px;
  background: var(--ztn-red-600, #b51f2e);
  border-radius: 2px;
}
.page-id-1001 .ztn-product-cta__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
  color: #fff;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
}
.page-id-1001 .ztn-product-cta__label > span { color: var(--ztn-red-400, #d54b56); transition: transform .2s ease; }
.page-id-1001 .ztn-product-cta__connector {
  position: absolute;
  left: calc(100% - 16px);
  top: 28px;
  width: clamp(270px, 25vw, 430px);
  height: 120px;
  overflow: visible;
  pointer-events: none;
  z-index: 5;
  transition: transform .22s cubic-bezier(.22,1,.36,1), opacity .2s ease;
}
.page-id-1001 .ztn-product-cta__trail {
  fill: none;
  stroke: rgba(255,255,255,.42);
  stroke-width: 2;
  stroke-linecap: round;
}
.page-id-1001 .ztn-product-cta__leaf { fill: rgba(181,203,171,.72); }
.page-id-1001 .ztn-product-cta__vein {
  fill: none;
  stroke: rgba(255,255,255,.52);
  stroke-width: 1.2;
  stroke-linecap: round;
}
.page-id-1001 .ztn-product-cta__tip { fill: rgba(181,203,171,.82); }
.page-id-1001 .ztn-product-cta:focus-visible {
  color: #fff;
  background: rgba(181,31,46,.13);
  border-color: rgba(213,75,86,.72);
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.page-id-1001 .ztn-product-cta:focus-visible .ztn-product-cta__connector { transform: translateX(7px); opacity: 1; }
.page-id-1001 .ztn-product-cta:focus-visible .ztn-product-cta__label > span { transform: translateX(3px); }

  .page-id-1001 .ztn-home-service-card:hover {
    background: rgba(181,31,46,.075) !important;
    border-color: rgba(181,31,46,.42) !important;
    transform: translateY(-2px);
  }
  .page-id-1001 .ztn-home-service-card:hover .elementor-icon-box-title,
  .page-id-1001 .ztn-home-service-card:hover .elementor-icon,
  .page-id-1001 .ztn-home-service-card:hover svg {
    color: var(--ztn-red-600, #b51f2e) !important;
    fill: var(--ztn-red-600, #b51f2e) !important;
  }
  .page-id-1001 .ztn-product-cta:hover {
    color: #fff;
    background: rgba(181,31,46,.13);
    border-color: rgba(213,75,86,.62);
  }
  .page-id-1001 .ztn-product-cta:hover .ztn-product-cta__connector { transform: translateX(7px); opacity: 1; }
  .page-id-1001 .ztn-product-cta:hover .ztn-product-cta__label > span { transform: translateX(3px); }

@media (max-width: 767px) {
  .page-id-1001 .ztn-home-hero > .elementor-container,
  .page-id-1001 .ztn-home-trust-rail > .elementor-container,
  .page-id-1001 .ztn-home-services > .elementor-container,
  .page-id-1001 .ztn-home-portal > .elementor-container,
  .page-id-1001 .ztn-home-news > .elementor-container { padding-inline: 16px !important; }
  .page-id-1001 .ztn-home-trust-rail > .elementor-container,
  .page-id-1001 .ztn-home-services-cards > .elementor-container,
  .page-id-1001 .ztn-home-services-cards .elementor-inner-section > .elementor-container { grid-template-columns: 1fr !important; }
  .page-id-1001 .ztn-home-services > .elementor-container,
  .page-id-1001 .ztn-home-portal > .elementor-container,
  .page-id-1001 .ztn-home-news > .elementor-container { display: flex !important; flex-direction: column !important; gap: 28px; }
  .page-id-1001 .ztn-home-services-intro,
  .page-id-1001 .ztn-home-services-cards,
  .page-id-1001 .ztn-home-portal-copy,
  .page-id-1001 .ztn-home-portal-device,
  .page-id-1001 .ztn-home-news-content,
  .page-id-1001 .ztn-home-news-visual { width: 100% !important; }
  .ztn-page .ztn-home-hero { background-position: 72% center !important; }
  .ztn-page .ztn-home-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.86) 42%, rgba(255,255,255,.18) 80%, rgba(255,255,255,0) 100%);
  }
  .ztn-page .ztn-home-hero > .elementor-container { position: relative; z-index: 1; }
  .ztn-page .ztn-home-trust-item .elementor-icon,
  .ztn-page .ztn-home-trust-item svg { width: 34px !important; height: 34px !important; }
  .page-id-1001 .ztn-product-cta-widget { width: 100%; max-width: none; margin-top: 24px; }
  .page-id-1001 .ztn-product-cta { padding: 18px 16px 16px; }
  .page-id-1001 .ztn-product-cta__items > span { font-size: 14px; }
  .page-id-1001 .ztn-product-cta__connector { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .page-id-1001 .ztn-interactive-surface,
  .page-id-1001 .ztn-product-cta__connector,
  .page-id-1001 .ztn-product-cta__label > span,
  .page-id-1001 .ztn-home-service-card .elementor-icon,
  .page-id-1001 .ztn-home-service-card svg { transition: none !important; }
  .page-id-1001 .ztn-home-service-card:hover,
  .page-id-1001 .ztn-product-cta:hover .ztn-product-cta__connector,
  .page-id-1001 .ztn-product-cta:focus-visible .ztn-product-cta__connector { transform: none !important; }
}
