
/* PAXTON unified site chrome and legacy-page bridge — 2026-07-15 */
.brand-lockup,
.footer-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  white-space: nowrap;
}
.brand-lockup .brand-mark { width: 40px; height: 40px; object-fit: contain; flex: 0 0 auto; }
.brand-lockup .brand-wordmark { width: 145px; height: auto; }
.footer-brand-lockup .brand-mark { width: 38px; height: 38px; object-fit: contain; }
.footer-brand-lockup .brand-wordmark { width: 136px; height: auto; filter: brightness(0) invert(1); }

.main-nav .shell { grid-template-columns: 230px 1fr auto; }
.site-footer { border-top: 1px solid rgba(255,255,255,.08); }
.footer-main { grid-template-columns: minmax(260px,1.35fr) minmax(150px,.7fr) minmax(260px,1fr); }
.footer-brand-block p { max-width: 39ch; }
.footer-contact .company-name { color: #fff; font-weight: 800; letter-spacing: .04em; }
.footer-contact .address { max-width: 34ch; line-height: 1.55; }

.unified-legacy-page {
  background: var(--paper);
  color: var(--text);
  font-family: var(--sans);
}
.unified-legacy-page .wrap {
  width: min(var(--max), calc(100% - 64px));
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.unified-legacy-page .hero-page {
  max-width: none;
  margin: 0;
  padding: 70px 0 66px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.unified-legacy-page .hero-page::before,
.unified-legacy-page .hero-page::after { display: none; }
.unified-legacy-page .hero-page .wrap { position: relative; z-index: auto; }
.unified-legacy-page .hero-page h1 {
  max-width: 14ch;
  margin: 17px 0 18px;
  color: var(--ink);
  font-family: var(--condensed);
  font-size: clamp(46px, 5vw, 66px);
  line-height: .98;
  letter-spacing: .015em;
  text-transform: uppercase;
}
.unified-legacy-page .hero-page .lede {
  max-width: 66ch;
  margin-top: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
}
.unified-legacy-page .breadcrumb {
  margin-bottom: 24px;
  color: #78828b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.unified-legacy-page .breadcrumb a { color: var(--ink); text-decoration: none; }
.unified-legacy-page .eyebrow { color: var(--gold); }
.unified-legacy-page section:not(.hero-page) { padding-top: 72px; padding-bottom: 72px; }
.unified-legacy-page section.section-tight { padding-top: 56px; padding-bottom: 56px; }
.unified-legacy-page .section-alt { background: #fff; }
.unified-legacy-page .section-dark { background: var(--ink); }
.unified-legacy-page .section-head { margin-bottom: 34px; }
.unified-legacy-page .section-head h2,
.unified-legacy-page section h2,
.unified-legacy-page section h3 {
  color: var(--ink);
  font-family: var(--condensed);
  letter-spacing: .015em;
  text-transform: uppercase;
}
.unified-legacy-page .section-head h2 { font-size: clamp(34px, 3.7vw, 50px); line-height: 1; }
.unified-legacy-page section h3 { font-size: clamp(24px, 2.4vw, 32px); }
.unified-legacy-page .section-dark h2,
.unified-legacy-page .section-dark h3 { color: #fff; }
.unified-legacy-page .photo-block,
.unified-legacy-page .card,
.unified-legacy-page .plate {
  border-radius: 0;
  box-shadow: none;
}
.unified-legacy-page .photo-block { border: 1px solid var(--line); background: #fff; }
.unified-legacy-page .plate { border: 1px solid var(--line); }
.unified-legacy-page .plate-title { background: var(--ink); color: #fff; }
.unified-legacy-page .btn {
  min-height: 46px;
  border-radius: 0;
  padding: 0 22px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.unified-legacy-page .btn-primary,
.unified-legacy-page .btn-accent { background: var(--gold); border-color: var(--gold); color: #fff; }
.unified-legacy-page .btn-primary:hover,
.unified-legacy-page .btn-accent:hover { background: #ad8437; border-color: #ad8437; }
.unified-legacy-page .btn-ghost,
.unified-legacy-page .btn-outline { border-color: var(--ink); color: var(--ink); background: transparent; }
.unified-legacy-page .section-dark .btn-outline,
.unified-legacy-page .section-dark .btn-ghost { border-color: rgba(255,255,255,.55); color: #fff; }

.service-scope-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.service-scope-item { padding: 30px 28px 32px 0; border-right: 1px solid var(--line); }
.service-scope-item + .service-scope-item { padding-left: 28px; }
.service-scope-item:last-child { border-right: 0; }
.service-scope-item h3 { margin: 0 0 10px; font-size: 25px; }
.service-scope-item p { margin: 0; font-size: 14px; line-height: 1.7; }
.diagnostic-card-section { background: #e8ebee; }
.diagnostic-card-layout {
  display: grid;
  grid-template-columns: minmax(300px,.43fr) minmax(0,.57fr);
  gap: 58px;
  align-items: center;
  max-width: 1080px;
}
.diagnostic-card-copy h2 {
  max-width: 12ch;
  margin: 18px 0 20px;
  color: var(--ink);
  font-size: clamp(38px, 4.1vw, 56px);
  line-height: 1;
}
.diagnostic-card-copy > p { max-width: 47ch; line-height: 1.76; }
.diagnostic-card-media {
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 1px solid #c9d0d7;
  background: #d7dde2;
}
.diagnostic-card-media img { width: 100%; height: 100%; object-fit: cover; }
.diagnostic-card-facts { margin-top: 28px; border-top: 1px solid #bdc6ce; }
.diagnostic-card-fact { padding: 14px 0; border-bottom: 1px solid #bdc6ce; }
.diagnostic-card-fact strong { display: block; color: var(--ink); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.diagnostic-card-fact span { display: block; margin-top: 4px; color: #596775; font-size: 13px; line-height: 1.55; }
.service-boundary-note {
  margin-top: 30px;
  padding: 22px 24px;
  border-left: 3px solid var(--gold);
  background: #fff;
  color: #4f5d69;
  font-size: 13px;
  line-height: 1.7;
}

@media (max-width: 980px) {
  .main-nav .shell { grid-template-columns: 210px 1fr auto; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: 1 / -1; }
  .diagnostic-card-layout { grid-template-columns: 1fr; gap: 36px; }
  .service-scope-strip { grid-template-columns: 1fr; }
  .service-scope-item,
  .service-scope-item + .service-scope-item { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .service-scope-item:last-child { border-bottom: 0; }
}
@media (max-width: 760px) {
  .brand-lockup .brand-mark { width: 34px; height: 34px; }
  .brand-lockup .brand-wordmark { width: 124px; }
  .main-nav .shell { grid-template-columns: 1fr auto; }
  .unified-legacy-page .wrap { width: min(100% - 36px, var(--max)); }
  .unified-legacy-page .hero-page { padding: 52px 0 48px; }
  .unified-legacy-page .hero-page h1 { font-size: clamp(40px, 12vw, 56px); }
  .unified-legacy-page section:not(.hero-page) { padding-top: 58px; padding-bottom: 58px; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-contact { grid-column: auto; }
  .diagnostic-card-media { aspect-ratio: 4 / 3; }
}

/* ================================================================
   Unified compact inner-page banner system — 2026-07-16
   One background, one title scale and one vertical rhythm across all
   non-home pages. The homepage hero is intentionally excluded.
   ================================================================ */
:root {
  --page-banner-bg: #f4f2ed;
  --page-banner-border: #d7dcdf;
  --page-banner-media: #e7eaec;
}

/* Shared background and edge treatment */
.about-intro-hero,
.contact-hero,
.page-header,
.news-page-header,
.news-article-header,
.technical-v4 .ts-hero,
.product-page-v2 .product-hero,
.unified-legacy-page .hero-page {
  max-width: none !important;
  margin: 0 !important;
  background: var(--page-banner-bg) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--page-banner-border) !important;
  box-shadow: none !important;
}

/* Keep every inner-page banner on the same narrower editorial measure */
.about-intro-hero .about-intro-shell,
.contact-hero > .shell,
.page-header .page-header-grid,
.news-page-header .news-header-grid,
.news-article-header > .shell,
.technical-v4 .ts-hero-grid,
.product-page-v2 .product-hero-grid,
.unified-legacy-page .hero-page > .wrap {
  width: min(1120px, calc(100% - 64px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Compact vertical proportions */
.about-intro-hero,
.contact-hero,
.news-article-header,
.unified-legacy-page .hero-page {
  padding: 44px 0 42px !important;
}
.page-header,
.news-page-header,
.technical-v4 .ts-hero,
.product-page-v2 .product-hero {
  padding: 0 !important;
}
.page-header .page-header-grid,
.news-page-header .news-header-grid,
.technical-v4 .ts-hero-grid,
.product-page-v2 .product-hero-grid {
  min-height: 0 !important;
  padding-top: 42px !important;
  padding-bottom: 42px !important;
  gap: 48px !important;
  align-items: center !important;
}

/* One title scale across page types */
.about-intro-hero h1,
.contact-hero h1,
.page-header h1,
.news-page-header h1,
.news-article-header h1,
.technical-v4 .ts-hero h1,
.product-page-v2 .product-hero h1,
.unified-legacy-page .hero-page h1 {
  max-width: 15ch !important;
  margin-top: 14px !important;
  margin-bottom: 16px !important;
  color: var(--ink) !important;
  font-family: var(--condensed) !important;
  font-size: clamp(44px, 4.2vw, 58px) !important;
  line-height: 1.01 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
}

.about-intro-hero p,
.contact-hero p,
.page-header p,
.news-page-header p,
.news-article-header p,
.technical-v4 .ts-hero p,
.product-page-v2 .product-hero p,
.unified-legacy-page .hero-page .lede {
  max-width: 58ch !important;
  margin-top: 0 !important;
  color: var(--muted) !important;
  font-size: 15px !important;
  line-height: 1.68 !important;
}

/* Shared visual frame for image-bearing banners */
.page-header-media,
.news-header-media,
.technical-v4 .ts-hero-media,
.product-page-v2 .product-hero-media {
  min-height: 0 !important;
  height: 290px !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--page-banner-media) !important;
  border: 1px solid var(--page-banner-border) !important;
  box-shadow: none !important;
}
.page-header-media img,
.news-header-media img,
.technical-v4 .ts-hero-media img,
.product-page-v2 .product-hero-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.page-header-media.contain img,
.technical-v4 .ts-hero-media img[src*="hero-production-line"],
.product-page-v2 .product-hero-media.contain img {
  object-fit: contain !important;
  padding: 18px !important;
  background: #fff !important;
}

/* Remove former dark-banner text assumptions */
.contact-hero .breadcrumb-editorial,
.contact-hero .breadcrumb-editorial a,
.product-page-v2 .product-hero .breadcrumb-editorial,
.product-page-v2 .product-hero .breadcrumb-editorial a {
  color: var(--ink) !important;
}
.contact-hero .kicker,
.product-page-v2 .product-hero .kicker,
.technical-v4 .ts-hero .kicker {
  color: var(--gold) !important;
}

/* About and article headers follow the same compact measure */
.about-intro-hero .about-intro-shell {
  min-height: 0 !important;
}
.about-intro-hero .about-intro-mark {
  opacity: .12 !important;
  transform: scale(.82);
  transform-origin: right center;
}
.news-article-header > .shell {
  max-width: 1120px !important;
}
.news-article-header h1 {
  max-width: 19ch !important;
}

@media (max-width: 900px) {
  .page-header .page-header-grid,
  .news-page-header .news-header-grid,
  .technical-v4 .ts-hero-grid,
  .product-page-v2 .product-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  .page-header-media,
  .news-header-media,
  .technical-v4 .ts-hero-media,
  .product-page-v2 .product-hero-media {
    height: 250px !important;
  }
}

@media (max-width: 760px) {
  .about-intro-hero .about-intro-shell,
  .contact-hero > .shell,
  .page-header .page-header-grid,
  .news-page-header .news-header-grid,
  .news-article-header > .shell,
  .technical-v4 .ts-hero-grid,
  .product-page-v2 .product-hero-grid,
  .unified-legacy-page .hero-page > .wrap {
    width: min(100% - 36px, 1120px) !important;
  }
  .about-intro-hero,
  .contact-hero,
  .news-article-header,
  .unified-legacy-page .hero-page {
    padding: 34px 0 32px !important;
  }
  .about-intro-hero h1,
  .contact-hero h1,
  .page-header h1,
  .news-page-header h1,
  .news-article-header h1,
  .technical-v4 .ts-hero h1,
  .product-page-v2 .product-hero h1,
  .unified-legacy-page .hero-page h1 {
    font-size: clamp(38px, 11vw, 48px) !important;
  }
  .page-header-media,
  .news-header-media,
  .technical-v4 .ts-hero-media,
  .product-page-v2 .product-hero-media {
    height: 220px !important;
  }
  .about-intro-hero .about-intro-mark { display: none !important; }
}

/* Stage 2: stable site chrome across tablet and mobile widths */
.nav-links .mobile-contact-link { display: none; }

@media (max-width: 900px) {
  .main-nav { height: 68px; }
  .main-nav .shell { grid-template-columns: minmax(0, 1fr) auto; gap: 18px; }
  .brand-lockup { min-width: 0; }
  .brand-lockup .brand-mark { width: 36px; height: 36px; }
  .brand-lockup .brand-wordmark { width: 132px; }
  .contact-nav { display: none; }
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 0;
    background: var(--ink);
    color: #fff;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
  }
  .nav-links {
    position: absolute;
    z-index: 60;
    top: 68px;
    left: 0;
    right: 0;
    display: none;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 10px 32px 18px;
    background: #fff;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 16px 26px rgba(7,26,49,.12);
  }
  .nav-links.open { display: grid; }
  .nav-links a {
    width: 100%;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-size: 11px;
    line-height: 1.25;
    white-space: normal;
  }
  .nav-links a::after { display: none; }
  .nav-links .mobile-contact-link {
    display: block;
    margin-top: 8px;
    padding: 13px 16px;
    border: 0;
    background: var(--ink);
    color: #fff;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .nav-links { padding-left: 18px; padding-right: 18px; }
  .brand-lockup .brand-mark { width: 34px; height: 34px; }
  .brand-lockup .brand-wordmark { width: 124px; }
}


/* Stage 2: prevent legacy equipment grids and specification tables from
   forcing horizontal overflow on tablet and mobile viewports. */
.unified-legacy-page .grid-2,
.unified-legacy-page .grid-3,
.unified-legacy-page .grid-2 > *,
.unified-legacy-page .grid-3 > * {
  min-width: 0;
}
.unified-legacy-page .grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.unified-legacy-page .grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.unified-legacy-page .plate,
.unified-legacy-page .photo-block,
.unified-legacy-page table.spec {
  max-width: 100%;
}

@media (max-width: 900px) {
  .unified-legacy-page .grid-2,
  .unified-legacy-page .grid-3 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .unified-legacy-page table.spec {
    width: 100%;
    table-layout: auto;
    font-size: 12px;
  }
  .unified-legacy-page table.spec th,
  .unified-legacy-page table.spec td {
    min-width: 0;
    padding: 10px 9px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.45;
  }
  .unified-legacy-page table.spec td:first-child {
    font-size: 11px;
  }
}
