﻿/**
 * YaoLaser Premium - CATL-Inspired Style System
 * Bright corporate aesthetic with photography-first layout.
 * Overrides dark/neon tokens. Activated when YAOLASER_THEME_MODE === 'catl'.
 *
 * @package YaoLaser_Premium
 */

/* ==========================================================================
   1. Design Tokens - CATL Palette
   ========================================================================== */
:root {
  /* Corporate palette - clean, photographic */
  --catl-blue: #0066B3;
  --catl-blue-light: #00A0E9;
  --catl-blue-dark: #004F8C;
  --catl-blue-soft: rgba(0, 102, 179, 0.08);

  /* Neutrals - bright base */
  --bg-base: #FFFFFF;
  --bg-subtle: #F5F7FA;
  --bg-muted: #ECEFF3;
  --bg-dark-accent: #0A0E14;

  /* Text */
  --text-primary: #1A1A1A;
  --text-secondary: #5F6368;
  --text-muted: #8A8F98;
  --text-inverse: #FFFFFF;
  --text-link: var(--catl-blue);

  /* Borders & dividers */
  --line-hairline: rgba(0, 0, 0, 0.08);
  --line-soft: rgba(0, 0, 0, 0.04);
  --line-strong: rgba(0, 0, 0, 0.16);

  /* Reserved brand signature (used sparingly, max 5% surface) */
  --signature-green: #00A86B;

  /* Refined typography */
  --font-display: 'Plus Jakarta Sans', 'Inter', -apple-system, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Calm motion */
  --ease-catl: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-gentle: cubic-bezier(0.25, 0.1, 0.25, 1);
  --dur-fast: 200ms;
  --dur-base: 400ms;
  --dur-slow: 800ms;
  --dur-kenburns: 12s;

  /* Spacing rhythm - generous breathing */
  --section-py-sm: 4rem;
  --section-py: 6rem;
  --section-py-lg: 9rem;
  --section-py-xl: 12rem;
}

/* ==========================================================================
   2. Reset overrides for CATL mode
   ========================================================================== */
.theme-catl,
.theme-catl body {
  background-color: var(--bg-base);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.75;
  background-image: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.theme-catl ::selection {
  background-color: var(--catl-blue);
  color: #fff;
}

/* Hide previous dark-mode body gradients */
.theme-catl body::before,
.theme-catl body::after {
  display: none;
}

/* ==========================================================================
   3. Typography - Calm corporate
   ========================================================================== */
.theme-catl h1,
.theme-catl h2,
.theme-catl h3,
.theme-catl h4,
.theme-catl h5,
.theme-catl h6 {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--text-primary);
  line-height: 1.2;
}

.theme-catl h1 { font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 300; letter-spacing: -0.02em; }
.theme-catl h2 { font-size: clamp(1.75rem, 3.5vw, 2.75rem); font-weight: 400; }
.theme-catl h3 { font-size: clamp(1.25rem, 2vw, 1.625rem); font-weight: 600; }
.theme-catl h4 { font-size: clamp(1.125rem, 1.5vw, 1.25rem); font-weight: 600; }

.theme-catl p {
  color: var(--text-secondary);
  font-weight: 400;
  line-height: 1.8;
}

.theme-catl .eyebrow {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--catl-blue);
  margin-bottom: 1rem;
  display: inline-block;
}

/* ==========================================================================
   4. Layout primitives
   ========================================================================== */
.theme-catl .container-catl {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

@media (min-width: 768px) {
  .theme-catl .container-catl { padding: 0 2.5rem; }
}

@media (min-width: 1280px) {
  .theme-catl .container-catl { padding: 0 4rem; }
}

.theme-catl .section-catl {
  padding-top: var(--section-py);
  padding-bottom: var(--section-py);
}

@media (min-width: 1024px) {
  .theme-catl .section-catl {
    padding-top: var(--section-py-lg);
    padding-bottom: var(--section-py-lg);
  }
}

.theme-catl .section-catl--tight {
  padding-top: var(--section-py-sm);
  padding-bottom: var(--section-py-sm);
}

.theme-catl .section-catl--alt {
  background-color: var(--bg-subtle);
}

/* ==========================================================================
   5a. Utility Bar - Top thin dark strip (lang / search / quick links)
   ========================================================================== */
.theme-catl .utility-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 51;
  height: 32px;
  background: #0A0E14;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  transition: transform var(--dur-base) var(--ease-catl);
}

.theme-catl .utility-bar.is-hidden {
  transform: translateY(-100%);
}

.theme-catl .utility-bar__inner {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

@media (min-width: 768px) {
  .theme-catl .utility-bar__inner { padding: 0 2.5rem; }
}

.theme-catl .utility-bar__left,
.theme-catl .utility-bar__right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.theme-catl .utility-bar a {
  color: inherit;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: color var(--dur-fast) var(--ease-catl);
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

.theme-catl .utility-bar a:hover {
  color: var(--catl-blue-light);
}

.theme-catl .utility-bar svg {
  width: 12px;
  height: 12px;
  opacity: 0.7;
}

.theme-catl .utility-bar__divider {
  width: 1px;
  height: 12px;
  background: rgba(255, 255, 255, 0.15);
}

.theme-catl .lang-switcher {
  position: relative;
  cursor: pointer;
}

.theme-catl .lang-switcher__dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 140px;
  background: #fff;
  color: var(--text-primary);
  border: 1px solid var(--line-hairline);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
  border-radius: 2px;
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity var(--dur-base) var(--ease-catl), transform var(--dur-base) var(--ease-catl), visibility 0s linear var(--dur-base);
}

.theme-catl .lang-switcher:hover .lang-switcher__dropdown,
.theme-catl .lang-switcher:focus-within .lang-switcher__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}

.theme-catl .lang-switcher__dropdown a {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  color: var(--text-primary);
}

.theme-catl .lang-switcher__dropdown a:hover {
  background: var(--bg-subtle);
  color: var(--catl-blue);
}

/* Header offset accounts for utility bar */
.theme-catl #content {
  padding-top: 112px !important;
}

@media (max-width: 768px) {
  .theme-catl .utility-bar { display: none; }
  .theme-catl #content { padding-top: 80px !important; }
}

/* Hide utility bar links beyond essentials on small screens */
@media (max-width: 1024px) {
  .theme-catl .utility-bar__hide-md { display: none; }
}

/* ==========================================================================
   5. CATL Header - White, hover mega menu
   ========================================================================== */
.theme-catl .site-header {
  position: fixed;
  top: 32px;
  left: 0;
  right: 0;
  z-index: 50;
  height: 80px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--line-hairline);
  box-shadow: none;
  transition: all var(--dur-base) var(--ease-catl);
}

.theme-catl .site-header.scrolled {
  height: 68px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}

@media (max-width: 768px) {
  .theme-catl .site-header { top: 0; }
}

.theme-catl .site-branding span {
  color: var(--text-primary) !important;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.theme-catl .site-branding .text-laser-cyan {
  color: var(--catl-blue) !important;
}

.theme-catl .site-branding .bg-laser-cyan\/10,
.theme-catl .site-branding [class*="bg-laser-cyan"] {
  background-color: var(--catl-blue-soft) !important;
  border-color: var(--catl-blue) !important;
  box-shadow: none !important;
}

.theme-catl .site-branding .bg-laser-cyan {
  background-color: var(--catl-blue) !important;
}

.theme-catl .main-navigation a,
.theme-catl .main-navigation li {
  color: var(--text-primary) !important;
  font-weight: 500;
  font-size: 0.9375rem;
}

.theme-catl .main-navigation a:hover {
  color: var(--catl-blue) !important;
}

.theme-catl .menu-laser-link::after {
  background: var(--catl-blue);
  height: 2px;
  bottom: -6px;
}

/* Mega menu container */
.theme-catl .mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid var(--line-hairline);
  border-bottom: 1px solid var(--line-hairline);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity var(--dur-base) var(--ease-catl),
              transform var(--dur-base) var(--ease-catl),
              visibility 0s linear var(--dur-base);
}

.theme-catl .has-mega:hover .mega-menu,
.theme-catl .has-mega:focus-within .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s, 0s, 0s;
}

.theme-catl .mega-menu__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1.2fr;
  gap: 3rem;
  padding: 3rem 4rem;
  max-width: 1440px;
  margin: 0 auto;
}

.theme-catl .mega-menu__col h4 {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  margin-bottom: 1.25rem;
}

.theme-catl .mega-menu__col a {
  display: block;
  padding: 0.5rem 0;
  font-size: 0.9375rem;
  color: var(--text-primary);
  transition: color var(--dur-fast) var(--ease-catl);
  text-decoration: none;
}

.theme-catl .mega-menu__col a:hover {
  color: var(--catl-blue);
}

.theme-catl .mega-menu__visual {
  background: var(--bg-subtle) center/cover no-repeat;
  border-radius: 4px;
  min-height: 200px;
  position: relative;
  overflow: hidden;
}

.theme-catl .mega-menu__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.4));
}

.theme-catl .mega-menu__visual-label {
  position: absolute;
  bottom: 1rem;
  left: 1.25rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  z-index: 1;
}

/* Search icon */
.theme-catl .header-actions svg {
  color: var(--text-primary);
}

.theme-catl .header-actions button:hover {
  background: var(--bg-subtle);
}

/* Header contact CTA - CATL minimal */
.theme-catl .header-actions a.laser-trace-btn {
  background: transparent;
  color: var(--text-primary) !important;
  border: 1px solid var(--line-strong);
  border-radius: 0;
  padding: 0.625rem 1.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  box-shadow: none !important;
  text-transform: uppercase;
}

.theme-catl .header-actions a.laser-trace-btn:hover {
  background: var(--catl-blue);
  color: #fff !important;
  border-color: var(--catl-blue);
}

/* ==========================================================================
   5z. Mobile Menu - CATL bright override
   ========================================================================== */
.theme-catl #mobile-menu {
  background: #fff !important;
  backdrop-filter: none !important;
}

.theme-catl #mobile-menu .border-white\/10,
.theme-catl #mobile-menu .border-white\/5 {
  border-color: var(--line-hairline) !important;
}

.theme-catl #mobile-menu .text-white,
.theme-catl #mobile-menu .text-quartz-gray {
  color: var(--text-primary) !important;
}

.theme-catl #mobile-menu a {
  color: var(--text-primary) !important;
  font-weight: 500;
}

.theme-catl #mobile-menu a:hover,
.theme-catl #mobile-menu a:focus {
  color: var(--catl-blue) !important;
}

.theme-catl #mobile-menu input[type="search"] {
  background: var(--bg-subtle) !important;
  border-color: var(--line-hairline) !important;
  color: var(--text-primary) !important;
}

.theme-catl #mobile-menu input[type="search"]::placeholder {
  color: var(--text-muted) !important;
}

.theme-catl #mobile-menu .bg-laser-cyan\/10 {
  background-color: var(--catl-blue-soft) !important;
}

.theme-catl #mobile-menu .border-laser-cyan\/30 {
  border-color: var(--catl-blue) !important;
}

.theme-catl #mobile-menu .bg-laser-cyan {
  background-color: var(--catl-blue) !important;
}

.theme-catl #mobile-menu .text-laser-cyan {
  color: var(--catl-blue) !important;
}

/* Mobile menu close button visibility */
.theme-catl #mobile-menu-close svg {
  color: var(--text-primary);
}

.theme-catl #mobile-menu-close:hover {
  background: var(--bg-subtle);
}

/* ==========================================================================
   6. Hero - Photography-first, calm
   ========================================================================== */
.theme-catl .hero-catl {
  position: relative;
  width: 100%;
  height: 92vh;
  min-height: 600px;
  overflow: hidden;
  background: var(--bg-dark-accent);
}

.theme-catl .hero-catl__media {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.theme-catl .hero-catl__media img,
.theme-catl .hero-catl__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: kenburns var(--dur-kenburns) var(--ease-gentle) forwards;
  will-change: transform;
}

@keyframes kenburns {
  0% { transform: scale(1.08) translate(0, 0); }
  100% { transform: scale(1.18) translate(-1%, -1%); }
}

.theme-catl .hero-catl__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.1) 0%,
    rgba(0, 0, 0, 0.2) 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
}

.theme-catl .hero-catl__content {
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 4rem 6rem;
  max-width: 1440px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .theme-catl .hero-catl__content {
    padding: 0 1.5rem 3rem;
  }
}

.theme-catl .hero-catl__eyebrow {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--catl-blue-light);
  margin-bottom: 1.5rem;
  opacity: 0;
  animation: fade-up var(--dur-slow) var(--ease-catl) 0.3s forwards;
}

.theme-catl .hero-catl__title {
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--catl-blue-light);
  max-width: 16ch;
  margin: 0 0 1.5rem;
  opacity: 0;
  animation: fade-up var(--dur-slow) var(--ease-catl) 0.5s forwards;
  text-shadow: 0 2px 24px rgba(0, 30, 60, 0.45);
}

.theme-catl .hero-catl__title strong {
  font-weight: 600;
  color: #fff;
}

.theme-catl .hero-catl__lede {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  color: rgba(255, 255, 255, 0.8);
  font-weight: 300;
  max-width: 48ch;
  margin: 0 0 2.5rem;
  line-height: 1.6;
  opacity: 0;
  animation: fade-up var(--dur-slow) var(--ease-catl) 0.7s forwards;
}

.theme-catl .hero-catl__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  width: fit-content;
  transition: gap var(--dur-base) var(--ease-catl),
              border-color var(--dur-base) var(--ease-catl);
  opacity: 0;
  animation: fade-up var(--dur-slow) var(--ease-catl) 0.9s forwards;
}

.theme-catl .hero-catl__cta:hover {
  gap: 1.25rem;
  border-color: #fff;
}

.theme-catl .hero-catl__cta svg {
  width: 18px;
  height: 18px;
  stroke-width: 1.5;
}

@keyframes fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Hero scroll indicator */
.theme-catl .hero-catl__scroll {
  position: absolute;
  bottom: 2rem;
  right: 4rem;
  z-index: 3;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.7rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.theme-catl .hero-catl__scroll::after {
  content: '';
  width: 1px;
  height: 40px;
  background: linear-gradient(180deg, rgba(255,255,255,0.6), transparent);
  animation: scroll-line 2s ease-in-out infinite;
}

@keyframes scroll-line {
  0%, 100% { opacity: 0.3; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.3); }
}

/* ==========================================================================
   7. Solutions Grid - 2x2 asymmetric split-screen
   ========================================================================== */
.theme-catl .solutions-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

@media (min-width: 1024px) {
  .theme-catl .solutions-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.theme-catl .solution-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  min-height: 480px;
  overflow: hidden;
  background: var(--bg-base);
  border-top: 1px solid var(--line-hairline);
  border-right: 1px solid var(--line-hairline);
}

@media (min-width: 768px) {
  .theme-catl .solution-card {
    grid-template-columns: 1.4fr 1fr;
  }
  .theme-catl .solution-card--reverse {
    grid-template-columns: 1fr 1.4fr;
  }
  .theme-catl .solution-card--reverse .solution-card__media {
    order: 2;
  }
}

.theme-catl .solution-card__media {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  background: var(--bg-muted);
}

.theme-catl .solution-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s var(--ease-gentle);
}

.theme-catl .solution-card:hover .solution-card__media img {
  transform: scale(1.06);
}

.theme-catl .solution-card__media-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #E3EAF2 0%, #C9D4E0 100%);
  color: var(--catl-blue);
  opacity: 0.6;
}

.theme-catl .solution-card__media-placeholder svg {
  width: 64px;
  height: 64px;
  opacity: 0.5;
}

.theme-catl .solution-card__body {
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

@media (min-width: 1280px) {
  .theme-catl .solution-card__body {
    padding: 4rem 3.5rem;
  }
}

.theme-catl .solution-card__eyebrow {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--catl-blue);
  margin-bottom: 1rem;
}

.theme-catl .solution-card__title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 400;
  color: var(--text-primary);
  margin-bottom: 1rem;
  line-height: 1.2;
}

.theme-catl .solution-card__desc {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 2rem;
}

.theme-catl .solution-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--catl-blue);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  transition: gap var(--dur-base) var(--ease-catl);
}

.theme-catl .solution-card__link:hover {
  gap: 1rem;
}

.theme-catl .solution-card__link svg {
  width: 16px;
  height: 16px;
  stroke-width: 1.5;
}

/* ==========================================================================
   8. News Section - White, horizontal
   ========================================================================== */
.theme-catl .news-section {
  background: var(--bg-base);
}

.theme-catl .news-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 4rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--line-hairline);
}

.theme-catl .news-section__title {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--text-primary);
  margin: 0;
}

.theme-catl .news-section__more {
  color: var(--text-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  transition: color var(--dur-base) var(--ease-catl);
}

.theme-catl .news-section__more:hover {
  color: var(--catl-blue);
}

.theme-catl .news-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.theme-catl .news-item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--line-hairline);
  transition: background var(--dur-base) var(--ease-catl);
}

@media (min-width: 768px) {
  .theme-catl .news-item {
    grid-template-columns: 200px 1fr auto;
    align-items: center;
    gap: 3rem;
  }
}

.theme-catl .news-item:hover {
  background: var(--bg-subtle);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.theme-catl .news-item__date {
  font-size: 0.875rem;
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0.05em;
}

.theme-catl .news-item__title {
  font-size: clamp(1.125rem, 1.5vw, 1.375rem);
  font-weight: 500;
  color: var(--text-primary);
  margin: 0;
  line-height: 1.4;
  transition: color var(--dur-base) var(--ease-catl);
}

.theme-catl .news-item:hover .news-item__title {
  color: var(--catl-blue);
}

.theme-catl .news-item__cta {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.theme-catl .news-item:hover .news-item__cta {
  color: var(--catl-blue);
}

.theme-catl .news-item a {
  text-decoration: none;
  color: inherit;
}

/* News with thumbnail variant */
.theme-catl .news-item--featured {
  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding: 0;
  border: none;
}

@media (min-width: 768px) {
  .theme-catl .news-item--featured {
    grid-template-columns: 1.4fr 1fr;
    gap: 2.5rem;
  }
}

.theme-catl .news-item--featured:hover {
  background: transparent;
  padding: 0;
}

.theme-catl .news-item__thumb {
  aspect-ratio: 16/10;
  background: var(--bg-muted);
  overflow: hidden;
  border-radius: 2px;
}

.theme-catl .news-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--ease-gentle);
}

.theme-catl .news-item--featured:hover .news-item__thumb img {
  transform: scale(1.04);
}

/* ==========================================================================
   9. Newsletter - Minimal white version
   ========================================================================== */
.theme-catl .newsletter-catl {
  background: var(--bg-subtle);
  text-align: left;
}

.theme-catl .newsletter-catl__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: end;
}

@media (min-width: 768px) {
  .theme-catl .newsletter-catl__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.theme-catl .newsletter-catl__title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  line-height: 1.2;
  color: var(--text-primary);
  max-width: 18ch;
  margin: 0 0 1rem;
}

.theme-catl .newsletter-catl__lede {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  max-width: 40ch;
  margin: 0;
}

.theme-catl .newsletter-catl__form {
  display: flex;
  align-items: center;
  gap: 0;
  border-bottom: 2px solid var(--text-primary);
  padding-bottom: 0.5rem;
}

.theme-catl .newsletter-catl__form input[type="email"] {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0.75rem 0;
  font-size: 1.0625rem;
  color: var(--text-primary);
  font-family: inherit;
  outline: none;
}

.theme-catl .newsletter-catl__form input[type="email"]::placeholder {
  color: var(--text-muted);
}

.theme-catl .newsletter-catl__form button {
  background: transparent;
  border: none;
  padding: 0.75rem 0 0.75rem 1rem;
  color: var(--text-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: color var(--dur-base) var(--ease-catl);
}

.theme-catl .newsletter-catl__form button:hover {
  color: var(--catl-blue);
}

/* ==========================================================================
   10. Footer - Minimal white
   ========================================================================== */
.theme-catl .site-footer {
  background: #fff !important;
  border-top: 1px solid var(--line-hairline);
  padding: 5rem 0 2rem;
  position: relative;
}

.theme-catl .site-footer * {
  color: var(--text-primary);
}

.theme-catl .site-footer .text-quartz-gray,
.theme-catl .site-footer p {
  color: var(--text-secondary) !important;
}

.theme-catl .site-footer h4 {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted) !important;
  margin-bottom: 1.5rem;
}

.theme-catl .site-footer ul a {
  font-size: 0.875rem;
  color: var(--text-primary) !important;
  font-weight: 400;
  transition: color var(--dur-base) var(--ease-catl);
}

.theme-catl .site-footer ul a:hover {
  color: var(--catl-blue) !important;
}

.theme-catl .site-footer .site-branding span {
  color: var(--text-primary) !important;
}

/* Hide dark-mode nebula glow */
.theme-catl .site-footer > div:first-child {
  display: none;
}

.theme-catl .site-footer .border-t {
  border-color: var(--line-hairline) !important;
}

/* Social icons row (added in template) */
.theme-catl .footer-social {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
}

.theme-catl .footer-social a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bg-subtle);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--dur-base) var(--ease-catl),
              color var(--dur-base) var(--ease-catl);
}

.theme-catl .footer-social a:hover {
  background: var(--catl-blue);
  color: #fff !important;
}

.theme-catl .footer-social svg {
  width: 16px;
  height: 16px;
}

/* ==========================================================================
   11. Disable dark-mode neon effects within CATL mode
   ========================================================================== */
.theme-catl .hero-spotlight,
.theme-catl #hero-particles,
.theme-catl .data-pulse,
.theme-catl .laser-border-beam::before {
  display: none !important;
}

.theme-catl .card-magnetic {
  transform: none !important;
}

.theme-catl .laser-trace-btn::before {
  display: none;
}

.theme-catl .scroll-progress {
  background: linear-gradient(90deg, transparent, var(--catl-blue), var(--catl-blue-light));
  box-shadow: 0 0 8px rgba(0, 102, 179, 0.4);
}

.theme-catl .sticky-eyebrow {
  color: var(--catl-blue) !important;
}

.theme-catl .sticky-eyebrow::before {
  background: var(--catl-blue);
  box-shadow: 0 0 4px var(--catl-blue);
}

/* ==========================================================================
   12. Reading flow - Article body
   ========================================================================== */
.theme-catl .entry-content {
  font-size: 1.0625rem;
  line-height: 1.85;
  color: var(--text-primary);
  max-width: 70ch;
  margin: 0 auto;
}

.theme-catl .entry-content a {
  color: var(--catl-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.theme-catl .entry-content blockquote {
  border-left: 3px solid var(--catl-blue);
  padding: 0.5rem 0 0.5rem 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: var(--text-secondary);
}

/* ==========================================================================
   12b. Sticky Contact CTA - appears after scroll
   ========================================================================== */
.theme-catl .sticky-cta {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 45;
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.875rem 1.5rem;
  background: var(--catl-blue);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 2px;
  box-shadow: 0 8px 24px rgba(0, 102, 179, 0.3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity var(--dur-base) var(--ease-catl),
              transform var(--dur-base) var(--ease-catl),
              visibility 0s linear var(--dur-base),
              background var(--dur-base) var(--ease-catl);
}

.theme-catl .sticky-cta.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s, 0s, 0s, 0s;
}

.theme-catl .sticky-cta:hover {
  background: var(--catl-blue-dark);
  gap: 1rem;
}

.theme-catl .sticky-cta svg {
  width: 14px;
  height: 14px;
  transition: transform var(--dur-base) var(--ease-catl);
}

@media (max-width: 640px) {
  .theme-catl .sticky-cta {
    padding: 0.75rem 1.125rem;
    font-size: 0.75rem;
    right: 1rem;
    bottom: 1rem;
  }
}

/* ==========================================================================
   12c. CATL Breadcrumb - minimal upper-page path
   ========================================================================== */
.theme-catl .breadcrumb-catl {
  padding: 1.5rem 0 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-muted);
  letter-spacing: 0.02em;
}

.theme-catl .breadcrumb-catl ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.theme-catl .breadcrumb-catl li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.theme-catl .breadcrumb-catl li + li::before {
  content: '/';
  color: var(--text-muted);
  opacity: 0.5;
}

.theme-catl .breadcrumb-catl a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-catl);
}

.theme-catl .breadcrumb-catl a:hover {
  color: var(--catl-blue);
}

.theme-catl .breadcrumb-catl li[aria-current="page"] {
  color: var(--text-primary);
  font-weight: 500;
}

/* ==========================================================================
   12d. Inner page hero - compact, photo, breadcrumb space
   ========================================================================== */
.theme-catl .page-hero {
  position: relative;
  background: var(--bg-dark-accent);
  color: #fff;
  padding: 6rem 0 4rem;
  overflow: hidden;
}

.theme-catl .page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #0A1929 0%, #1A2332 50%, #004F8C 100%);
  z-index: 0;
}

.theme-catl .page-hero__inner {
  position: relative;
  z-index: 1;
}

.theme-catl .page-hero__eyebrow {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--catl-blue-light);
  margin-bottom: 1.25rem;
  display: inline-block;
}

.theme-catl .page-hero__title {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #fff;
  max-width: 22ch;
  margin: 0 0 1.5rem;
}

.theme-catl .page-hero__lede {
  font-size: clamp(1rem, 1.3vw, 1.125rem);
  color: rgba(255, 255, 255, 0.78);
  font-weight: 300;
  max-width: 52ch;
  margin: 0;
  line-height: 1.7;
}

.theme-catl .page-hero .breadcrumb-catl {
  color: rgba(255, 255, 255, 0.6);
  padding: 0 0 2rem;
}

.theme-catl .page-hero .breadcrumb-catl a,
.theme-catl .page-hero .breadcrumb-catl li {
  color: rgba(255, 255, 255, 0.7);
}

.theme-catl .page-hero .breadcrumb-catl li[aria-current="page"] {
  color: #fff;
}

.theme-catl .page-hero .breadcrumb-catl a:hover {
  color: var(--catl-blue-light);
}

/* ==========================================================================
   12e. Article / content page styles
   ========================================================================== */
.theme-catl .article-body {
  background: #fff;
  padding: 4rem 0 6rem;
}

.theme-catl .article-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 2rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid var(--line-hairline);
  font-size: 0.875rem;
  color: var(--text-secondary);
}

.theme-catl .article-meta__author {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.theme-catl .article-meta__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--bg-muted);
}

/* Featured image */
.theme-catl .article-featured-image {
  aspect-ratio: 16/9;
  margin-bottom: 3rem;
  overflow: hidden;
  background-color: var(--bg-muted);
  background-position: center;
  background-size: cover;
}

.theme-catl .article-featured-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   12f. Card list for archive/search
   ========================================================================== */
.theme-catl .post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2.5rem;
}

.theme-catl .post-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line-hairline);
  transition: border-color var(--dur-base) var(--ease-catl),
              box-shadow var(--dur-base) var(--ease-catl);
  text-decoration: none;
}

.theme-catl .post-card:hover {
  border-color: var(--catl-blue);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.06);
}

.theme-catl .post-card__media {
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--bg-muted);
}

.theme-catl .post-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease-gentle);
}

.theme-catl .post-card:hover .post-card__media img {
  transform: scale(1.05);
}

.theme-catl .post-card__body {
  padding: 1.75rem 1.5rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.theme-catl .post-card__eyebrow {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--catl-blue);
  margin-bottom: 0.75rem;
}

.theme-catl .post-card__title {
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--text-primary);
  line-height: 1.4;
  margin: 0 0 1rem;
  transition: color var(--dur-base) var(--ease-catl);
}

.theme-catl .post-card:hover .post-card__title {
  color: var(--catl-blue);
}

.theme-catl .post-card__excerpt {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.7;
  flex: 1;
  margin: 0 0 1.25rem;
}

.theme-catl .post-card__meta {
  font-size: 0.75rem;
  color: var(--text-muted);
  display: flex;
  justify-content: space-between;
  padding-top: 1rem;
  border-top: 1px solid var(--line-hairline);
}

/* ==========================================================================
   12g. Page-archive header
   ========================================================================== */
.theme-catl .archive-filters {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--line-hairline);
  margin-bottom: 3rem;
}

.theme-catl .archive-filter-btn {
  padding: 0.5rem 1.125rem;
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--text-primary);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  cursor: pointer;
  text-decoration: none;
  transition: all var(--dur-base) var(--ease-catl);
}

.theme-catl .archive-filter-btn:hover,
.theme-catl .archive-filter-btn.is-active {
  background: var(--catl-blue);
  color: #fff;
  border-color: var(--catl-blue);
}

/* ==========================================================================
   12h. Pagination - minimal
   ========================================================================== */
.theme-catl .pagination-nav {
  border-top: 1px solid var(--line-hairline);
  padding-top: 3rem;
  margin-top: 4rem;
}

.theme-catl .pagination-nav a,
.theme-catl .pagination-nav span {
  background: transparent !important;
  border: 1px solid var(--line-hairline) !important;
  color: var(--text-primary) !important;
  border-radius: 0 !important;
  padding: 0.625rem 1rem !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
}

.theme-catl .pagination-nav a:hover {
  background: var(--catl-blue) !important;
  color: #fff !important;
  border-color: var(--catl-blue) !important;
}

.theme-catl .pagination-nav span.current,
.theme-catl .pagination-nav .bg-laser-cyan {
  background: var(--catl-blue) !important;
  color: #fff !important;
  border-color: var(--catl-blue) !important;
}

/* ==========================================================================
   12i. Forms - contact / search
   ========================================================================== */
.theme-catl .form-catl {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .theme-catl .form-catl--2col {
    grid-template-columns: 1fr 1fr;
  }
}

.theme-catl .form-catl label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.5rem;
}

.theme-catl .form-catl input[type="text"],
.theme-catl .form-catl input[type="email"],
.theme-catl .form-catl input[type="tel"],
.theme-catl .form-catl select,
.theme-catl .form-catl textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--line-strong);
  padding: 0.625rem 0;
  font-size: 1rem;
  color: var(--text-primary);
  font-family: inherit;
  transition: border-color var(--dur-base) var(--ease-catl);
}

.theme-catl .form-catl input:focus,
.theme-catl .form-catl select:focus,
.theme-catl .form-catl textarea:focus {
  outline: none;
  border-bottom-color: var(--catl-blue);
}

.theme-catl .form-catl textarea {
  min-height: 140px;
  resize: vertical;
}

.theme-catl .form-catl__trap {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.theme-catl .form-catl__submit {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem 2rem;
  background: var(--catl-blue);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: background var(--dur-base) var(--ease-catl), gap var(--dur-base) var(--ease-catl);
  text-decoration: none;
}

.theme-catl .form-catl__submit:hover {
  background: var(--catl-blue-dark);
  gap: 1rem;
}

.theme-catl .form-catl__notice {
  margin: 1rem 0 1.25rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: #fff;
  color: var(--text-primary);
  font-size: 0.94rem;
  line-height: 1.55;
}

.theme-catl .form-catl__notice--success {
  border-color: rgba(0, 102, 179, 0.22);
  background: rgba(239, 248, 255, 0.78);
}

.theme-catl .form-catl__notice--error {
  border-color: rgba(160, 97, 0, 0.24);
  background: rgba(255, 247, 237, 0.82);
}

/* ==========================================================================
   13. Skip link override
   ========================================================================== */
.theme-catl .skip-link:focus {
  background: var(--catl-blue) !important;
  color: #fff !important;
}

/* ==========================================================================
   14. Reduced motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .theme-catl .hero-catl__media img,
  .theme-catl .hero-catl__media video {
    animation: none !important;
  }
  .theme-catl .hero-catl__eyebrow,
  .theme-catl .hero-catl__title,
  .theme-catl .hero-catl__lede,
  .theme-catl .hero-catl__cta {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }
}


/* Mesh3D-inspired industrial product narrative overrides */
.theme-catl .hero-catl { height:min(96vh,980px); min-height:680px; background:#08111d; isolation:isolate; }
.theme-catl .hero-catl__media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,14,24,.88) 0%,rgba(5,14,24,.58) 44%,rgba(5,14,24,.18) 100%),radial-gradient(circle at 72% 38%,rgba(0,160,233,.28),transparent 34%); }
.theme-catl .hero-catl__overlay { background:linear-gradient(180deg,rgba(4,13,23,.18) 0%,rgba(4,13,23,.54) 100%),linear-gradient(90deg,rgba(0,160,233,.18),transparent 54%); }
.theme-catl .hero-catl__blueprint { position:absolute; z-index:3; right:clamp(1.5rem,6vw,7rem); top:18%; width:min(46vw,680px); aspect-ratio:1.62; pointer-events:none; opacity:.96; }
.theme-catl .hero-catl__module { position:absolute; right:0; bottom:0; width:62%; height:44%; display:grid; grid-template-columns:repeat(6,1fr); gap:.55rem; padding:1rem; border:1px solid rgba(255,255,255,.28); background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(0,160,233,.08)); box-shadow:0 24px 80px rgba(0,0,0,.26); transform:perspective(900px) rotateX(58deg) rotateZ(-18deg); transform-origin:70% 70%; }
.theme-catl .hero-catl__module span { border-radius:4px; background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(180,211,232,.72)); box-shadow:inset 0 0 0 1px rgba(0,102,179,.2),0 8px 18px rgba(0,0,0,.22); }
.theme-catl .hero-catl__trace { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.theme-catl .hero-catl__trace-base,.theme-catl .hero-catl__trace-live { stroke-linecap:round; stroke-width:2; }
.theme-catl .hero-catl__trace-base { stroke:rgba(255,255,255,.34); }
.theme-catl .hero-catl__trace-live { stroke:#00A0E9; stroke-dasharray:150 460; animation:blueprint-flow 5.8s linear infinite; filter:drop-shadow(0 0 12px rgba(0,160,233,.7)); }
.theme-catl .hero-catl__trace circle { fill:#fff; stroke:#00A0E9; stroke-width:3; filter:drop-shadow(0 0 10px rgba(0,160,233,.55)); }
.theme-catl .hero-catl__node { position:absolute; min-width:168px; padding:.8rem .9rem; border:1px solid rgba(255,255,255,.28); background:rgba(5,16,28,.62); backdrop-filter:blur(14px); color:#fff; }
.theme-catl .hero-catl__node strong,.theme-catl .hero-catl__node span { display:block; } .theme-catl .hero-catl__node strong { font-size:.76rem; font-weight:700; text-transform:uppercase; } .theme-catl .hero-catl__node span { margin-top:.25rem; font-size:.68rem; color:rgba(255,255,255,.68); }
.theme-catl .hero-catl__node--one { left:0; bottom:12%; } .theme-catl .hero-catl__node--two { left:36%; top:35%; } .theme-catl .hero-catl__node--three { right:0; top:0; }
.theme-catl .hero-catl__content { max-width:1480px; padding-bottom:clamp(5rem,9vh,8rem); padding-right:min(52vw,780px); } .theme-catl .hero-catl__title { color:#fff; max-width:13ch; letter-spacing:0; } .theme-catl .hero-catl__title strong { color:var(--catl-blue-light); }
.theme-catl .hero-catl__actions { display:flex; flex-wrap:wrap; gap:1rem 1.4rem; align-items:center; margin-bottom:2rem; } .theme-catl .hero-catl__cta { border-bottom:0; padding:.9rem 1.15rem; min-height:48px; } .theme-catl .hero-catl__cta--primary { background:#fff; color:#06233a; } .theme-catl .hero-catl__cta--secondary { color:#fff; border:1px solid rgba(255,255,255,.44); }
.theme-catl .hero-catl__metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; width:min(680px,100%); border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.12); } .theme-catl .hero-catl__metrics div { padding:1rem; background:rgba(5,16,28,.42); } .theme-catl .hero-catl__metrics strong,.theme-catl .hero-catl__metrics span { display:block; } .theme-catl .hero-catl__metrics strong { color:#fff; font-size:clamp(1rem,1.5vw,1.35rem); } .theme-catl .hero-catl__metrics span { margin-top:.25rem; color:rgba(255,255,255,.66); font-size:.75rem; }
.theme-catl .solution-card__media-placeholder { background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.24),transparent 28%),linear-gradient(135deg,rgba(5,14,24,.15),rgba(0,160,233,.28)); opacity:1; } .theme-catl .solution-card__schematic { position:absolute; inset:18%; display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; transform:perspective(700px) rotateX(56deg) rotateZ(-19deg); } .theme-catl .solution-card__schematic span { border-radius:4px; background:rgba(255,255,255,.72); box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 18px 28px rgba(0,0,0,.2); } .theme-catl .solution-card__scanline { position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent); transform:translateX(-100%); animation:solution-scan 5.5s ease-in-out infinite; }
.theme-catl .solution-card__specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; padding:0; margin:0 0 2rem; list-style:none; } .theme-catl .solution-card__specs li { min-height:34px; display:flex; align-items:center; padding:.45rem .65rem; color:var(--text-primary); background:var(--bg-subtle); border-left:2px solid var(--catl-blue); font-size:.78rem; }
.theme-catl .line-explorer { background:linear-gradient(180deg,#fff 0%,#F5F7FA 100%); overflow:hidden; } .theme-catl .line-explorer__head { max-width:760px; margin-bottom:3rem; } .theme-catl .line-explorer__head p { color:var(--text-secondary); max-width:62ch; margin-top:1rem; } .theme-catl .line-explorer__stage { position:relative; min-height:320px; border:1px solid var(--line-hairline); background:linear-gradient(90deg,rgba(0,102,179,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(0,102,179,.06) 1px,transparent 1px),#fff; background-size:56px 56px; margin-bottom:2rem; } .theme-catl .line-explorer__stage svg { position:absolute; inset:8% 4%; width:92%; height:84%; }
.theme-catl .line-explorer__rail,.theme-catl .line-explorer__energy { stroke-linecap:round; stroke-width:3; } .theme-catl .line-explorer__rail { stroke:rgba(0,102,179,.18); } .theme-catl .line-explorer__energy { stroke:var(--catl-blue); stroke-dasharray:170 520; animation:blueprint-flow 6.2s linear infinite; } .theme-catl .line-explorer__station { position:absolute; width:86px; height:86px; display:grid; place-items:center; background:#fff; border:1px solid rgba(0,102,179,.28); box-shadow:0 20px 50px rgba(0,44,88,.12); transform:perspective(600px) rotateX(52deg) rotateZ(-16deg); } .theme-catl .line-explorer__station span { display:grid; place-items:center; width:42px; height:42px; color:#fff; background:var(--catl-blue); font-weight:700; }
.theme-catl .line-explorer__station--one { left:6%; top:56%; } .theme-catl .line-explorer__station--two { left:32%; top:26%; } .theme-catl .line-explorer__station--three { left:56%; top:42%; } .theme-catl .line-explorer__station--four { right:8%; top:18%; } .theme-catl .line-explorer__steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; } .theme-catl .line-step { background:#fff; border:1px solid var(--line-hairline); padding:1.35rem; min-height:230px; } .theme-catl .line-step__num { color:var(--catl-blue); font-weight:700; font-size:.78rem; letter-spacing:.12em; } .theme-catl .line-step h3 { margin:.7rem 0; font-size:1.1rem; color:var(--text-primary); } .theme-catl .line-step p { color:var(--text-secondary); font-size:.9rem; line-height:1.65; } .theme-catl .line-step small { color:var(--catl-blue); font-weight:600; text-transform:uppercase; font-size:.68rem; }
@keyframes blueprint-flow { from { stroke-dashoffset:0; } to { stroke-dashoffset:-620; } } @keyframes solution-scan { 0%,28% { transform:translateX(-100%); opacity:0; } 42% { opacity:1; } 64%,100% { transform:translateX(100%); opacity:0; } }
@media (max-width:1024px) { .theme-catl .hero-catl { min-height:760px; } .theme-catl .hero-catl__blueprint { width:min(86vw,620px); right:7vw; top:12%; opacity:.72; } .theme-catl .hero-catl__content { padding-right:1.5rem; padding-bottom:4rem; } .theme-catl .line-explorer__steps { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .theme-catl .hero-catl { min-height:820px; } .theme-catl .hero-catl__blueprint { top:10%; width:96vw; right:-10vw; opacity:.42; } .theme-catl .hero-catl__node { display:none; } .theme-catl .hero-catl__metrics,.theme-catl .line-explorer__steps,.theme-catl .solution-card__specs { grid-template-columns:1fr; } .theme-catl .hero-catl__actions { align-items:stretch; } .theme-catl .hero-catl__cta { justify-content:center; width:100%; } .theme-catl .line-explorer__stage { min-height:260px; } .theme-catl .line-explorer__station { width:64px; height:64px; } }
@media (prefers-reduced-motion:reduce) { .theme-catl .hero-catl__trace-live,.theme-catl .line-explorer__energy,.theme-catl .solution-card__scanline { animation:none; } }

/* White-theme 3D motion experiment - light CAD showroom */
.theme-catl .hero-catl {
  min-height: 720px;
  background:
    radial-gradient(circle at 78% 24%, rgba(0, 160, 233, 0.18), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f7fbff 48%, #eef5fb 100%);
  color: #102033;
}

.theme-catl .hero-catl::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(0, 102, 179, 0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0, 102, 179, 0.05) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.72), rgba(0,0,0,0.18));
  pointer-events: none;
}

.theme-catl .hero-catl__media {
  opacity: 0.18;
  mix-blend-mode: multiply;
  filter: saturate(0.75) contrast(0.95) brightness(1.1);
}

.theme-catl .hero-catl__media::after {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0.88) 42%, rgba(255,255,255,0.58) 100%),
    radial-gradient(circle at 70% 34%, rgba(0,160,233,0.24), transparent 34%);
}

.theme-catl .hero-catl__overlay {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.45), rgba(255,255,255,0.95)),
    linear-gradient(120deg, rgba(0,102,179,0.1), transparent 62%);
}

.theme-catl .hero-catl__content {
  color: #102033;
  padding-right: min(50vw, 760px);
}

.theme-catl .hero-catl__eyebrow {
  color: var(--catl-blue);
  text-shadow: none;
}

.theme-catl .hero-catl__title {
  color: #102033;
  text-shadow: none;
}

.theme-catl .hero-catl__title strong {
  color: var(--catl-blue);
}

.theme-catl .hero-catl__lede {
  color: rgba(16, 32, 51, 0.72);
}

.theme-catl .hero-catl__cta--primary {
  color: #fff;
  background: linear-gradient(135deg, var(--catl-blue), var(--catl-blue-light));
  box-shadow: 0 18px 44px rgba(0, 102, 179, 0.22);
}

.theme-catl .hero-catl__cta--secondary {
  color: var(--catl-blue-dark);
  border-color: rgba(0, 102, 179, 0.28);
  background: rgba(255,255,255,0.68);
}

.theme-catl .hero-catl__metrics {
  border-color: rgba(0, 102, 179, 0.18);
  background: rgba(0, 102, 179, 0.08);
  box-shadow: 0 24px 70px rgba(16, 48, 80, 0.08);
}

.theme-catl .hero-catl__metrics div {
  background: rgba(255,255,255,0.76);
  backdrop-filter: blur(18px);
}

.theme-catl .hero-catl__metrics strong { color: #102033; }
.theme-catl .hero-catl__metrics span { color: rgba(16, 32, 51, 0.62); }

.theme-catl .hero-catl__blueprint {
  filter: drop-shadow(0 28px 60px rgba(0, 68, 118, 0.18));
  transform-style: preserve-3d;
  animation: cad-float 8s ease-in-out infinite;
}

.theme-catl .hero-catl__module {
  border-color: rgba(0, 102, 179, 0.24);
  background: linear-gradient(135deg, rgba(255,255,255,0.84), rgba(229,244,255,0.46));
  box-shadow: 0 28px 86px rgba(0, 68, 118, 0.16), inset 0 0 0 1px rgba(255,255,255,0.7);
}

.theme-catl .hero-catl__module span {
  background: linear-gradient(180deg, #ffffff, #dceefa);
  box-shadow: inset 0 0 0 1px rgba(0,102,179,0.18), 0 10px 24px rgba(0,78,140,0.12);
}

.theme-catl .hero-catl__trace-base { stroke: rgba(0, 102, 179, 0.2); }
.theme-catl .hero-catl__trace-live { stroke: var(--catl-blue); filter: drop-shadow(0 0 10px rgba(0, 160, 233, 0.36)); }
.theme-catl .hero-catl__trace circle { fill: #fff; stroke: var(--catl-blue); }

.theme-catl .hero-catl__node {
  color: #102033;
  background: rgba(255,255,255,0.72);
  border-color: rgba(0,102,179,0.2);
  box-shadow: 0 16px 44px rgba(0, 68, 118, 0.12);
}

.theme-catl .hero-catl__node span { color: rgba(16,32,51,0.58); }

.theme-catl .hero-catl__scroll {
  color: rgba(16,32,51,0.46);
}

.theme-catl .hero-catl__scroll::after {
  background: linear-gradient(180deg, rgba(0,102,179,.42), transparent);
}

.theme-catl .solution-card {
  perspective: 1000px;
  background: #fff;
}

.theme-catl .solution-card__media {
  background: #f5f9fc !important;
}

.theme-catl .solution-card__media-placeholder {
  background:
    linear-gradient(90deg, rgba(0,102,179,.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,102,179,.05) 1px, transparent 1px),
    radial-gradient(circle at 70% 28%, rgba(0,160,233,.18), transparent 30%),
    #f8fbfe;
  background-size: 42px 42px, 42px 42px, auto, auto;
  color: var(--catl-blue);
  transition: transform 650ms var(--ease-catl), box-shadow 650ms var(--ease-catl);
}

.theme-catl .solution-card:hover .solution-card__media-placeholder {
  transform: rotateX(2deg) rotateY(-4deg) translateY(-4px);
}

.theme-catl .solution-card__media-placeholder > svg {
  stroke: var(--catl-blue) !important;
  opacity: 0.46;
  filter: drop-shadow(0 12px 24px rgba(0,102,179,.14));
}

.theme-catl .solution-card__schematic {
  inset: 20% 14%;
  transform: perspective(760px) rotateX(62deg) rotateZ(-20deg) translateZ(20px);
}

.theme-catl .solution-card__schematic span {
  background: linear-gradient(180deg, #fff, #dceefa);
  box-shadow: inset 0 0 0 1px rgba(0,102,179,.16), 0 18px 30px rgba(0,80,140,.12);
}

.theme-catl .solution-card__scanline {
  background: linear-gradient(90deg, transparent, rgba(0,160,233,.32), transparent);
}

.theme-catl .solution-card__specs li {
  background: #f7fbff;
  border-left-color: var(--catl-blue-light);
  box-shadow: inset 0 0 0 1px rgba(0,102,179,.06);
}

.theme-catl .line-explorer {
  background:
    radial-gradient(circle at 18% 18%, rgba(0,160,233,.12), transparent 28%),
    linear-gradient(180deg, #fff 0%, #f6fafe 100%);
}

.theme-catl .line-explorer__stage {
  min-height: 380px;
  border-color: rgba(0,102,179,.14);
  background:
    linear-gradient(90deg, rgba(0,102,179,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,102,179,.05) 1px, transparent 1px),
    radial-gradient(circle at 50% 45%, rgba(0,160,233,.08), transparent 45%),
    #fff;
  background-size: 56px 56px, 56px 56px, auto, auto;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 28px 80px rgba(15, 64, 105, 0.08);
}

.theme-catl .line-explorer__rail { stroke: rgba(0,102,179,.2); }
.theme-catl .line-explorer__energy { stroke: var(--catl-blue-light); filter: drop-shadow(0 0 8px rgba(0,160,233,.38)); }

.theme-catl .line-explorer__station {
  border-color: rgba(0,102,179,.24);
  background: linear-gradient(180deg, #fff, #eef7fd);
  box-shadow: 0 24px 60px rgba(0,68,118,.14);
  animation: station-hover 7s ease-in-out infinite;
}

.theme-catl .line-explorer__station span {
  background: linear-gradient(135deg, var(--catl-blue), var(--catl-blue-light));
}

.theme-catl .line-step {
  border-color: rgba(0,102,179,.1);
  box-shadow: 0 18px 44px rgba(15,64,105,.06);
  transition: transform 320ms var(--ease-catl), box-shadow 320ms var(--ease-catl), border-color 320ms var(--ease-catl);
}

.theme-catl .line-step:hover {
  transform: translateY(-6px);
  border-color: rgba(0,160,233,.28);
  box-shadow: 0 24px 66px rgba(0,102,179,.12);
}

@keyframes cad-float {
  0%, 100% { transform: translate3d(0,0,0) rotateX(0deg) rotateY(0deg); }
  50% { transform: translate3d(0,-12px,0) rotateX(1.5deg) rotateY(-2deg); }
}

@keyframes station-hover {
  0%, 100% { transform: perspective(600px) rotateX(52deg) rotateZ(-16deg) translateY(0); }
  50% { transform: perspective(600px) rotateX(52deg) rotateZ(-16deg) translateY(-8px); }
}

@media (max-width: 1024px) {
  .theme-catl .hero-catl__content { padding-right: 1.5rem; }
  .theme-catl .hero-catl__blueprint { opacity: .58; }
}

@media (max-width: 640px) {
  .theme-catl .hero-catl { min-height: 780px; }
  .theme-catl .hero-catl__media { opacity: .1; }
  .theme-catl .hero-catl__blueprint { opacity: .34; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .hero-catl__blueprint,
  .theme-catl .line-explorer__station {
    animation: none !important;
  }
}


/* White-theme 3D interaction pass - pointer parallax and active digital twin */
.theme-catl .hero-catl.is-cad-ready .hero-catl__blueprint {
  --cad-rx: 0deg;
  --cad-ry: 0deg;
  --cad-tx: 0px;
  --cad-ty: 0px;
  animation: none;
  transform: translate3d(var(--cad-tx), var(--cad-ty), 0) rotateX(var(--cad-rx)) rotateY(var(--cad-ry));
  transition: filter 280ms var(--ease-catl);
}

.theme-catl .hero-catl.is-cad-ready:hover .hero-catl__blueprint {
  filter: drop-shadow(0 34px 76px rgba(0, 68, 118, 0.22));
}

.theme-catl .hero-catl__module span:nth-child(2),
.theme-catl .hero-catl__module span:nth-child(5) {
  transform: translateY(-8px);
}

.theme-catl .hero-catl__module span {
  transition: transform 420ms var(--ease-catl), box-shadow 420ms var(--ease-catl);
}

.theme-catl .hero-catl:hover .hero-catl__module span {
  box-shadow: inset 0 0 0 1px rgba(0,102,179,.2), 0 16px 32px rgba(0,80,140,.16);
}

.theme-catl .line-explorer.is-interactive .line-explorer__stage::after {
  content: '';
  position: absolute;
  left: 6%;
  right: 8%;
  bottom: 3.5rem;
  height: 3px;
  background:
    linear-gradient(90deg, var(--catl-blue), var(--catl-blue-light)) left / var(--line-progress-pct, 1%) 100% no-repeat,
    rgba(0,102,179,.12);
  border-radius: 999px;
}

.theme-catl .line-explorer__station {
  transition: border-color 320ms var(--ease-catl), box-shadow 320ms var(--ease-catl), filter 320ms var(--ease-catl);
}

.theme-catl .line-explorer__station.is-active {
  border-color: rgba(0,160,233,.72);
  box-shadow: 0 30px 74px rgba(0,102,179,.22), 0 0 0 8px rgba(0,160,233,.08);
  filter: saturate(1.16);
}

.theme-catl .line-explorer__station.is-active span {
  box-shadow: 0 0 0 8px rgba(0,160,233,.12);
}

.theme-catl .line-step.is-active {
  transform: translateY(-8px);
  border-color: rgba(0,160,233,.36);
  box-shadow: 0 28px 76px rgba(0,102,179,.14);
}

.theme-catl .line-step.is-active .line-step__num {
  color: var(--catl-blue-light);
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .hero-catl.is-cad-ready .hero-catl__blueprint,
  .theme-catl .line-step.is-active {
    transform: none !important;
  }
}



/* White-theme 3D interaction pass 2 - CAD canvas and solution tilt */
.theme-catl .hero-cad-canvas {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.92;
  mix-blend-mode: multiply;
}

.theme-catl .solution-card.is-tilt-ready {
  --tilt-rx: 0deg;
  --tilt-ry: 0deg;
  --tilt-glow-x: 70%;
  --tilt-glow-y: 30%;
}

.theme-catl .solution-card.is-tilt-ready .solution-card__media-placeholder {
  transform: perspective(900px) rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry));
  transform-style: preserve-3d;
}

.theme-catl .solution-card.is-tilt-ready .solution-card__media-placeholder::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--tilt-glow-x) var(--tilt-glow-y), rgba(255,255,255,.62), transparent 34%);
  opacity: 0;
  transition: opacity 260ms var(--ease-catl);
  pointer-events: none;
}

.theme-catl .solution-card.is-tilt-ready:hover .solution-card__media-placeholder::after {
  opacity: 1;
}

.theme-catl .solution-card.is-tilt-ready .solution-card__schematic,
.theme-catl .solution-card.is-tilt-ready .solution-card__media-placeholder > svg {
  transform-style: preserve-3d;
}

.theme-catl .solution-card.is-tilt-ready .solution-card__schematic {
  transform: perspective(760px) rotateX(62deg) rotateZ(-20deg) translateZ(28px);
}

.theme-catl .solution-card.is-tilt-ready .solution-card__media-placeholder > svg {
  transform: translateZ(42px);
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .hero-cad-canvas {
    display: none;
  }

  .theme-catl .solution-card.is-tilt-ready .solution-card__media-placeholder,
  .theme-catl .solution-card.is-tilt-ready .solution-card__schematic,
  .theme-catl .solution-card.is-tilt-ready .solution-card__media-placeholder > svg {
    transform: none !important;
  }
}


/* White-theme 3D interaction pass 3 - engineering HUD readouts */
.theme-catl .hero-catl__hud {
  position: absolute;
  z-index: 4;
  right: clamp(1.5rem, 5.5vw, 6rem);
  bottom: clamp(3.5rem, 8vh, 6rem);
  width: min(34vw, 440px);
  display: grid;
  gap: 0.75rem;
  pointer-events: none;
}

.theme-catl .hero-hud-card {
  --hud-fill: 74%;
  --hud-depth: 0px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.35rem 1rem;
  align-items: center;
  padding: 0.85rem 1rem;
  color: #102033;
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(0,102,179,0.16);
  box-shadow: 0 18px 48px rgba(0,68,118,0.10);
  backdrop-filter: blur(18px);
  transform: translateZ(var(--hud-depth));
}

.theme-catl .hero-hud-card span {
  font-size: 0.68rem;
  color: rgba(16,32,51,0.58);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.theme-catl .hero-hud-card strong {
  color: var(--catl-blue-dark);
  font-size: 0.95rem;
}

.theme-catl .hero-hud-card i {
  grid-column: 1 / -1;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0,102,179,0.12);
}

.theme-catl .hero-hud-card i::before {
  content: '';
  display: block;
  width: var(--hud-fill);
  height: 100%;
  background: linear-gradient(90deg, var(--catl-blue), var(--catl-blue-light));
  border-radius: inherit;
  transition: width 220ms var(--ease-catl);
}

.theme-catl .line-readout {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  width: min(320px, calc(100% - 2.4rem));
  padding: 1rem;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(0,102,179,0.14);
  box-shadow: 0 20px 56px rgba(0,68,118,0.10);
  backdrop-filter: blur(18px);
}

.theme-catl .line-readout__label,
.theme-catl .line-readout__meta {
  display: block;
  color: rgba(16,32,51,0.56);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.theme-catl .line-readout__title {
  display: block;
  margin: 0.45rem 0 0.35rem;
  color: #102033;
  font-size: 1.15rem;
}

.theme-catl .line-readout__bars {
  display: grid;
  grid-template-columns: 1fr 0.72fr 0.44fr;
  gap: 0.35rem;
  margin-top: 0.85rem;
}

.theme-catl .line-readout__bars i {
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--catl-blue), var(--catl-blue-light));
  animation: readout-bar 1.8s ease-in-out infinite;
}

.theme-catl .line-readout__bars i:nth-child(2) { animation-delay: 160ms; }
.theme-catl .line-readout__bars i:nth-child(3) { animation-delay: 320ms; }

@keyframes readout-bar {
  0%, 100% { opacity: 0.36; transform: scaleX(0.72); transform-origin: left; }
  50% { opacity: 1; transform: scaleX(1); }
}

@media (max-width: 1024px) {
  .theme-catl .hero-catl__hud {
    width: min(420px, calc(100% - 3rem));
    right: 1.5rem;
    bottom: 2rem;
    opacity: 0.88;
  }
}

@media (max-width: 640px) {
  .theme-catl .hero-catl__hud {
    display: none;
  }

  .theme-catl .line-readout {
    position: relative;
    top: auto;
    right: auto;
    width: auto;
    margin: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .line-readout__bars i {
    animation: none;
  }
}


/* White-theme 3D interaction pass 4 - process orbit and solution telemetry */
.theme-catl .process-orbit {
  position: absolute;
  inset: -6% -8%;
  pointer-events: none;
  transform-style: preserve-3d;
}

.theme-catl .process-orbit__chip {
  position: absolute;
  min-width: 132px;
  padding: 0.62rem 0.72rem;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(0,102,179,0.16);
  box-shadow: 0 16px 40px rgba(0,68,118,0.10);
  backdrop-filter: blur(16px);
  opacity: 0.72;
  transform: translateZ(34px) scale(0.96);
  transition: opacity 260ms var(--ease-catl), transform 260ms var(--ease-catl), border-color 260ms var(--ease-catl);
}

.theme-catl .process-orbit__chip b,
.theme-catl .process-orbit__chip i {
  display: block;
  font-style: normal;
}

.theme-catl .process-orbit__chip b {
  color: rgba(16,32,51,0.64);
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.theme-catl .process-orbit__chip i {
  margin-top: 0.2rem;
  color: var(--catl-blue-dark);
  font-size: 0.86rem;
  font-weight: 700;
}

.theme-catl .process-orbit__chip.is-active {
  opacity: 1;
  border-color: rgba(0,160,233,0.48);
  transform: translateZ(54px) scale(1.04);
  box-shadow: 0 24px 62px rgba(0,102,179,0.18), 0 0 0 7px rgba(0,160,233,0.07);
}

.theme-catl .process-orbit__chip--1 { left: 8%; top: 8%; }
.theme-catl .process-orbit__chip--2 { right: 0; top: 28%; }
.theme-catl .process-orbit__chip--3 { left: 2%; bottom: 18%; }
.theme-catl .process-orbit__chip--4 { right: 12%; bottom: 4%; }

.theme-catl .solution-telemetry {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  min-width: 168px;
  padding: 0.72rem 0.82rem;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(0,102,179,0.14);
  box-shadow: 0 16px 42px rgba(0,68,118,0.10);
  backdrop-filter: blur(16px);
  transform: translate3d(0, 10px, 54px);
  opacity: 0.76;
  transition: opacity 260ms var(--ease-catl), transform 260ms var(--ease-catl), border-color 260ms var(--ease-catl);
}

.theme-catl .solution-card.is-telemetry-active .solution-telemetry {
  opacity: 1;
  border-color: rgba(0,160,233,0.36);
  transform: translate3d(0, 0, 72px);
}

.theme-catl .solution-telemetry span,
.theme-catl .solution-telemetry small {
  display: block;
  color: rgba(16,32,51,0.56);
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.theme-catl .solution-telemetry strong {
  display: block;
  margin: 0.18rem 0;
  color: var(--catl-blue-dark);
  font-size: 1rem;
}

.theme-catl .solution-telemetry em {
  display: grid;
  grid-template-columns: 1fr 0.68fr 0.42fr;
  gap: 0.28rem;
  margin-top: 0.6rem;
}

.theme-catl .solution-telemetry em i {
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--catl-blue), var(--catl-blue-light));
  animation: telemetry-pulse 1.7s ease-in-out infinite;
}

.theme-catl .solution-telemetry em i:nth-child(2) { animation-delay: 180ms; }
.theme-catl .solution-telemetry em i:nth-child(3) { animation-delay: 360ms; }

@keyframes telemetry-pulse {
  0%, 100% { opacity: 0.35; transform: scaleX(0.72); transform-origin: left; }
  50% { opacity: 1; transform: scaleX(1); }
}

@media (max-width: 1024px) {
  .theme-catl .process-orbit__chip {
    display: none;
  }
}

@media (max-width: 640px) {
  .theme-catl .solution-telemetry {
    left: 0.75rem;
    right: 0.75rem;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .solution-telemetry em i {
    animation: none;
  }
}


/* White-theme 3D interaction pass 5 - CAD measurement and exploded layers */
.theme-catl .cad-measure {
  --measure-x: 50%;
  --measure-y: 50%;
  position: absolute;
  inset: 0;
  pointer-events: none;
  transform-style: preserve-3d;
}

.theme-catl .cad-measure__axis {
  position: absolute;
  display: block;
  color: rgba(0,102,179,0.42);
  font-size: 0.58rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.theme-catl .cad-measure__axis::before {
  content: '';
  position: absolute;
  background: linear-gradient(90deg, rgba(0,102,179,.28) 10px, transparent 10px);
  background-size: 18px 8px;
}

.theme-catl .cad-measure__axis--x {
  left: 9%;
  right: 10%;
  top: calc(var(--measure-y) - 1px);
  height: 1px;
  border-top: 1px solid rgba(0,102,179,0.18);
}

.theme-catl .cad-measure__axis--x::before {
  left: 0;
  right: 0;
  top: -8px;
  height: 8px;
}

.theme-catl .cad-measure__axis--x b {
  position: absolute;
  right: 0;
  top: 0.5rem;
}

.theme-catl .cad-measure__axis--y {
  top: 8%;
  bottom: 10%;
  left: calc(var(--measure-x) - 1px);
  width: 1px;
  border-left: 1px solid rgba(0,102,179,0.18);
}

.theme-catl .cad-measure__axis--y::before {
  top: 0;
  bottom: 0;
  left: -8px;
  width: 8px;
  background: linear-gradient(180deg, rgba(0,102,179,.28) 10px, transparent 10px);
  background-size: 8px 18px;
}

.theme-catl .cad-measure__axis--y b {
  position: absolute;
  left: 0.65rem;
  top: 0;
  writing-mode: vertical-rl;
}

.theme-catl .cad-measure__reticle {
  position: absolute;
  left: var(--measure-x);
  top: var(--measure-y);
  width: 42px;
  height: 42px;
  border: 1px solid rgba(0,160,233,0.44);
  transform: translate(-50%, -50%) translateZ(74px);
  box-shadow: 0 0 0 8px rgba(0,160,233,0.06);
}

.theme-catl .cad-measure__reticle::before,
.theme-catl .cad-measure__reticle::after {
  content: '';
  position: absolute;
  background: rgba(0,160,233,0.5);
}

.theme-catl .cad-measure__reticle::before {
  left: 50%;
  top: -10px;
  bottom: -10px;
  width: 1px;
}

.theme-catl .cad-measure__reticle::after {
  top: 50%;
  left: -10px;
  right: -10px;
  height: 1px;
}

.theme-catl .cad-measure__tag {
  position: absolute;
  padding: 0.42rem 0.55rem;
  color: var(--catl-blue-dark);
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(0,102,179,0.16);
  box-shadow: 0 14px 34px rgba(0,68,118,0.10);
  backdrop-filter: blur(14px);
  font-size: 0.68rem;
  font-weight: 700;
}

.theme-catl .cad-measure__tag--one {
  left: calc(var(--measure-x) + 1.2rem);
  top: calc(var(--measure-y) + 1.1rem);
}

.theme-catl .cad-measure__tag--two {
  right: 8%;
  bottom: 14%;
}

.theme-catl .solution-exploded {
  position: absolute;
  inset: 22% 18%;
  pointer-events: none;
  transform-style: preserve-3d;
}

.theme-catl .solution-exploded__layer {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(0,102,179,0.2);
  background: linear-gradient(135deg, rgba(255,255,255,0.58), rgba(210,237,252,0.26));
  box-shadow: 0 18px 38px rgba(0,68,118,0.08);
  transform: perspective(700px) rotateX(62deg) rotateZ(-20deg) translate3d(0,0,18px);
  transition: transform 520ms var(--ease-catl), opacity 520ms var(--ease-catl);
}

.theme-catl .solution-exploded__layer--2 {
  inset: 10% 8%;
  opacity: 0.78;
}

.theme-catl .solution-exploded__layer--3 {
  inset: 20% 16%;
  opacity: 0.58;
}

.theme-catl .solution-card:hover .solution-exploded__layer--1 {
  transform: perspective(700px) rotateX(62deg) rotateZ(-20deg) translate3d(-18px,-12px,42px);
}

.theme-catl .solution-card:hover .solution-exploded__layer--2 {
  transform: perspective(700px) rotateX(62deg) rotateZ(-20deg) translate3d(12px,8px,64px);
}

.theme-catl .solution-card:hover .solution-exploded__layer--3 {
  transform: perspective(700px) rotateX(62deg) rotateZ(-20deg) translate3d(28px,18px,86px);
}

@media (max-width: 1024px) {
  .theme-catl .cad-measure {
    display: none;
  }
}

@media (max-width: 640px) {
  .theme-catl .solution-exploded {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .solution-card:hover .solution-exploded__layer,
  .theme-catl .solution-exploded__layer {
    transform: none !important;
  }
}


/* White-theme 3D interaction pass 6 - digital twin flow and laser heads */
.theme-catl .line-flow-packet {
  fill: rgba(255,255,255,0.95);
  stroke: rgba(0,160,233,0.72);
  stroke-width: 2;
  filter: drop-shadow(0 10px 14px rgba(0,102,179,0.18));
}

.theme-catl .line-scan-gate rect {
  fill: rgba(255,255,255,0.52);
  stroke: rgba(0,102,179,0.22);
  stroke-width: 1.5;
  filter: drop-shadow(0 18px 24px rgba(0,68,118,0.12));
}

.theme-catl .line-scan-gate path {
  stroke: var(--catl-blue-light);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 10 10;
  animation: scan-gate-flow 1.4s linear infinite;
}

.theme-catl .solution-laser-head {
  --laser-delay: 0ms;
  position: absolute;
  left: 22%;
  top: 30%;
  width: 96px;
  height: 72px;
  pointer-events: none;
  transform: perspective(700px) rotateX(58deg) rotateZ(-18deg) translateZ(96px);
  filter: drop-shadow(0 18px 28px rgba(0,68,118,0.14));
}

.theme-catl .solution-laser-head span {
  position: absolute;
  left: 32px;
  top: 0;
  width: 28px;
  height: 36px;
  border: 1px solid rgba(0,102,179,0.24);
  background: linear-gradient(180deg, #fff, #dceefa);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
}

.theme-catl .solution-laser-head i {
  position: absolute;
  left: 45px;
  top: 35px;
  width: 2px;
  height: 58px;
  background: linear-gradient(180deg, rgba(0,160,233,0.94), rgba(0,160,233,0));
  transform-origin: top;
  animation: laser-head-pulse 1.65s ease-in-out infinite;
  animation-delay: var(--laser-delay);
}

.theme-catl .solution-laser-head b {
  position: absolute;
  left: 16px;
  bottom: -24px;
  width: 70px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--catl-blue-light), transparent);
  animation: weld-seam-scan 1.65s ease-in-out infinite;
  animation-delay: var(--laser-delay);
}

.theme-catl .solution-card:hover .solution-laser-head {
  filter: drop-shadow(0 22px 36px rgba(0,102,179,0.22));
}

@keyframes scan-gate-flow {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -20; }
}

@keyframes laser-head-pulse {
  0%, 100% { opacity: 0.32; transform: scaleY(0.58); }
  45%, 58% { opacity: 1; transform: scaleY(1); }
}

@keyframes weld-seam-scan {
  0%, 100% { opacity: 0.26; transform: scaleX(0.48); }
  50% { opacity: 1; transform: scaleX(1); }
}

@media (max-width: 640px) {
  .theme-catl .solution-laser-head {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .line-flow-packets,
  .theme-catl .solution-laser-head {
    display: none;
  }
}


/* White-theme 3D interaction pass 7 - CAD inspection lens and twin boost */
.theme-catl .cad-inspection-lens {
  position: absolute;
  z-index: 6;
  left: -52px;
  top: -52px;
  width: 104px;
  height: 104px;
  border: 1px solid rgba(0,160,233,0.42);
  border-radius: 50%;
  background:
    linear-gradient(90deg, rgba(0,102,179,.12) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,102,179,.10) 1px, transparent 1px),
    rgba(255,255,255,0.34);
  background-size: 13px 13px;
  box-shadow: 0 18px 44px rgba(0,68,118,0.14), inset 0 0 0 8px rgba(255,255,255,0.36);
  backdrop-filter: blur(8px);
  pointer-events: none;
  opacity: 0;
  transition: opacity 180ms var(--ease-catl);
}

.theme-catl .hero-catl.is-inspecting .cad-inspection-lens {
  opacity: 1;
}

.theme-catl .cad-inspection-lens span::before,
.theme-catl .cad-inspection-lens span::after {
  content: '';
  position: absolute;
  background: rgba(0,160,233,0.62);
}

.theme-catl .cad-inspection-lens span::before {
  left: 50%;
  top: 14px;
  bottom: 14px;
  width: 1px;
}

.theme-catl .cad-inspection-lens span::after {
  top: 50%;
  left: 14px;
  right: 14px;
  height: 1px;
}

.theme-catl .cad-inspection-lens b,
.theme-catl .cad-inspection-lens i {
  position: absolute;
  left: 72px;
  min-width: 54px;
  padding: 0.24rem 0.34rem;
  color: var(--catl-blue-dark);
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(0,102,179,0.14);
  font-size: 0.58rem;
  font-style: normal;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.theme-catl .cad-inspection-lens b { top: 12px; }
.theme-catl .cad-inspection-lens i { top: 42px; }

.theme-catl .line-explorer {
  --boost-x: 50%;
  --boost-y: 50%;
}

.theme-catl .line-explorer__stage::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--boost-x) var(--boost-y), rgba(0,160,233,0.16), transparent 24%);
  opacity: 0;
  transition: opacity 240ms var(--ease-catl);
  pointer-events: none;
}

.theme-catl .line-explorer.is-boosting .line-explorer__stage::before {
  opacity: 1;
}

.theme-catl .line-explorer.is-boosting .line-flow-packet {
  filter: drop-shadow(0 14px 20px rgba(0,102,179,0.28));
  stroke-width: 2.5;
}

.theme-catl .line-explorer.is-boosting .line-scan-gate path {
  stroke-width: 3;
}

.theme-catl .line-explorer.is-boosting .line-readout {
  border-color: rgba(0,160,233,0.34);
  box-shadow: 0 26px 72px rgba(0,102,179,0.16);
}

@media (max-width: 768px), (prefers-reduced-motion: reduce) {
  .theme-catl .cad-inspection-lens {
    display: none;
  }
}


/* White-theme 3D interaction pass 8 - scroll camera and workstation focus */
.theme-catl .hero-catl {
  --scene-progress: 0;
}

.theme-catl .hero-catl.is-scene-active .hero-catl__blueprint {
  transform:
    translate3d(var(--cad-tx, 0px), var(--scene-y, var(--cad-ty, 0px)), 0)
    rotateX(var(--scene-rx, var(--cad-rx, 0deg)))
    rotateY(var(--cad-ry, 0deg))
    scale(var(--scene-scale, 1));
}

.theme-catl .hero-catl.is-scene-active .hero-catl__hud {
  transform: translateY(var(--scene-y, 0px));
}

.theme-catl .hero-catl.is-scene-active .hero-cad-canvas {
  opacity: var(--scene-canvas-opacity, 0.92);
}

.theme-catl .solution-card {
  --station-index: 0;
}

.theme-catl .solution-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(0,160,233,0);
  pointer-events: none;
  opacity: 0;
  transition: opacity 360ms var(--ease-catl), border-color 360ms var(--ease-catl), box-shadow 360ms var(--ease-catl);
}

.theme-catl .solution-card.is-in-view::after {
  opacity: 1;
  border-color: rgba(0,160,233,0.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.72), 0 28px 80px rgba(0,102,179,0.08);
}

.theme-catl .solution-card.is-in-view .solution-card__media-placeholder {
  box-shadow: inset 0 0 0 1px rgba(0,160,233,0.12);
}

.theme-catl .solution-card.is-in-view .solution-telemetry {
  opacity: 0.96;
}

.theme-catl .line-explorer {
  --line-camera-progress: 0;
}

.theme-catl .line-explorer.is-camera-active .line-explorer__stage {
  transform:
    perspective(1200px)
    rotateX(var(--line-camera-rx, 1deg))
    translateY(var(--line-camera-y, 0px));
  transform-origin: center top;
}

.theme-catl .line-explorer.is-camera-active .line-readout {
  transform: translateY(var(--line-readout-y, 0px));
}

.theme-catl .line-explorer.is-camera-active .line-explorer__energy {
  stroke-width: var(--line-energy-width, 3px);
}

@media (max-width: 768px), (prefers-reduced-motion: reduce) {
  .theme-catl .hero-catl.is-scene-active .hero-catl__blueprint,
  .theme-catl .hero-catl.is-scene-active .hero-catl__hud,
  .theme-catl .line-explorer.is-camera-active .line-explorer__stage,
  .theme-catl .line-explorer.is-camera-active .line-readout {
    transform: none !important;
  }
}



/* White-theme 3D interaction pass 9 - engineering scroll rail and quality gates */
.theme-catl .engineering-scroll-rail,
.engineering-scroll-rail {
  --rail-progress: 0;
  position: fixed;
  right: 1.15rem;
  top: 50%;
  z-index: 60;
  display: grid;
  gap: 0.62rem;
  transform: translateY(-50%);
  pointer-events: none;
}

.engineering-scroll-rail::before {
  content: '';
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 7px;
  width: 1px;
  background: rgba(0,102,179,0.12);
}

.engineering-scroll-rail::after {
  content: '';
  position: absolute;
  top: 8px;
  left: 7px;
  width: 1px;
  height: var(--rail-progress-pct, 0%);
  background: linear-gradient(180deg, var(--catl-blue), var(--catl-blue-light));
  box-shadow: 0 0 12px rgba(0,160,233,0.35);
}

.engineering-scroll-rail span {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  color: rgba(16,32,51,0.48);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.engineering-scroll-rail span i {
  position: relative;
  z-index: 1;
  display: block;
  width: 15px;
  height: 15px;
  border: 1px solid rgba(0,102,179,0.22);
  background: rgba(255,255,255,0.82);
  box-shadow: 0 8px 20px rgba(0,68,118,0.08);
}

.engineering-scroll-rail span b {
  opacity: 0;
  transform: translateX(8px);
  transition: opacity 220ms var(--ease-catl), transform 220ms var(--ease-catl);
  white-space: nowrap;
}

.engineering-scroll-rail span.is-active {
  color: var(--catl-blue-dark);
}

.engineering-scroll-rail span.is-active i {
  border-color: rgba(0,160,233,0.58);
  background: var(--catl-blue-light);
  box-shadow: 0 0 0 6px rgba(0,160,233,0.10);
}

.engineering-scroll-rail span.is-active b {
  opacity: 1;
  transform: translateX(0);
}

.theme-catl .quality-gates {
  position: absolute;
  left: 5.5%;
  right: 7%;
  top: 1.2rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  pointer-events: none;
}

.theme-catl .quality-gate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 34px;
  padding: 0.42rem 0.55rem;
  color: rgba(16,32,51,0.58);
  background: rgba(255,255,255,0.62);
  border: 1px solid rgba(0,102,179,0.12);
  box-shadow: 0 12px 28px rgba(0,68,118,0.08);
  backdrop-filter: blur(14px);
}

.theme-catl .quality-gate b {
  font-size: 0.64rem;
  letter-spacing: 0.14em;
}

.theme-catl .quality-gate i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(0,102,179,0.18);
  box-shadow: 0 0 0 4px rgba(0,102,179,0.05);
}

.theme-catl .quality-gate.is-passed {
  color: rgba(16,32,51,0.72);
}

.theme-catl .quality-gate.is-passed i {
  background: #00a86b;
  box-shadow: 0 0 0 4px rgba(0,168,107,0.10);
}

.theme-catl .quality-gate.is-active {
  color: var(--catl-blue-dark);
  border-color: rgba(0,160,233,0.34);
}

.theme-catl .quality-gate.is-active i {
  background: var(--catl-blue-light);
  box-shadow: 0 0 0 5px rgba(0,160,233,0.12), 0 0 18px rgba(0,160,233,0.42);
  animation: quality-gate-pulse 1.2s ease-in-out infinite;
}

@keyframes quality-gate-pulse {
  0%, 100% { transform: scale(0.9); opacity: 0.66; }
  50% { transform: scale(1.22); opacity: 1; }
}

@media (max-width: 1024px) {
  .engineering-scroll-rail {
    display: none;
  }
}

@media (max-width: 768px) {
  .theme-catl .quality-gates {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .quality-gate.is-active i {
    animation: none;
  }
}



/* White-theme 3D interaction pass 10 - solution signal mesh */
.theme-catl .solutions-grid {
  position: relative;
  isolation: isolate;
}

.theme-catl .solution-signal-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.78;
  mix-blend-mode: multiply;
}

.theme-catl .solutions-grid > .solution-card {
  z-index: 1;
}

.theme-catl .solutions-grid.is-signal-active .solution-card:not(:hover):not(:focus-within) {
  filter: saturate(0.92);
}

.theme-catl .solutions-grid.is-signal-active .solution-card:hover,
.theme-catl .solutions-grid.is-signal-active .solution-card:focus-within {
  z-index: 3;
}

@media (max-width: 768px), (prefers-reduced-motion: reduce) {
  .theme-catl .solution-signal-canvas {
    display: none;
  }
}


/* Motion performance guard - low power / save-data fallback */
.is-low-power-motion .theme-catl .hero-cad-canvas,
.is-low-power-motion .theme-catl .cad-inspection-lens,
.is-low-power-motion .theme-catl .process-orbit,
.is-low-power-motion .theme-catl .line-flow-packets,
.is-low-power-motion .theme-catl .solution-signal-canvas {
  display: none !important;
}

.is-low-power-motion .theme-catl .hero-catl__blueprint,
.is-low-power-motion .theme-catl .solution-card__media-placeholder,
.is-low-power-motion .theme-catl .line-explorer__stage {
  animation: none !important;
  transition-duration: 120ms !important;
}

/* Gutenberg phase B: controlled editorial blocks */
.theme-catl .evidence-library {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 5vw, 5rem);
  color: #102033;
  background:
    radial-gradient(circle at 78% 18%, rgba(0, 160, 233, 0.13), transparent 28rem),
    linear-gradient(90deg, rgba(0, 102, 179, 0.055) 1px, transparent 1px),
    linear-gradient(rgba(0, 102, 179, 0.055) 1px, transparent 1px),
    linear-gradient(180deg, #ffffff 0%, #f5fbff 100%);
  background-size: auto, 64px 64px, 64px 64px, auto;
  border-top: 1px solid rgba(0, 102, 179, 0.12);
  border-bottom: 1px solid rgba(0, 102, 179, 0.12);
  isolation: isolate;
}

.theme-catl .evidence-library::before {
  content: '';
  position: absolute;
  inset: 12% -12% auto auto;
  width: min(42vw, 620px);
  aspect-ratio: 1;
  background: conic-gradient(from 220deg, rgba(0, 160, 233, 0), rgba(0, 160, 233, 0.18), rgba(0, 102, 179, 0));
  mask: radial-gradient(circle, transparent 52%, #000 53%, #000 57%, transparent 58%);
  opacity: 0.65;
  transform: rotate(var(--evidence-arc, 0deg));
  pointer-events: none;
  z-index: -1;
}

.theme-catl .evidence-library__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.theme-catl .evidence-library__intro {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(300px, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

.theme-catl .evidence-library__eyebrow {
  display: block;
  margin-bottom: 1.1rem;
  color: #0066b3;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
}

.theme-catl .evidence-library h2 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.5rem, 5vw, 5.4rem);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 330;
  text-wrap: balance;
}

.theme-catl .evidence-library__intro p {
  max-width: 58ch;
  margin: 0;
  color: #53687d;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.72;
}

.theme-catl .evidence-library__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(0, 102, 179, 0.16);
  border-left: 1px solid rgba(0, 102, 179, 0.16);
  background: rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(16px);
}

.theme-catl .evidence-library__item {
  position: relative;
  min-height: 280px;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  color: inherit;
  text-decoration: none;
  border-right: 1px solid rgba(0, 102, 179, 0.16);
  border-bottom: 1px solid rgba(0, 102, 179, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.46)),
    linear-gradient(135deg, rgba(0, 160, 233, 0.08), transparent 55%);
  transition: transform 520ms cubic-bezier(0.19, 1, 0.22, 1), background 520ms ease, box-shadow 520ms ease;
}

.theme-catl .evidence-library__item::after {
  content: '';
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 28px;
  height: 28px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  opacity: 0.28;
  transform: translate(-6px, 6px) rotate(45deg);
  transition: opacity 360ms ease, transform 520ms cubic-bezier(0.19, 1, 0.22, 1);
}

.theme-catl .evidence-library__item span {
  display: block;
  color: #0066b3;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
}

.theme-catl .evidence-library__item strong {
  display: block;
  margin-top: clamp(1.4rem, 3vw, 2.25rem);
  max-width: 18ch;
  font-size: clamp(1.28rem, 2vw, 1.9rem);
  line-height: 1.14;
  font-weight: 520;
  letter-spacing: 0;
}

.theme-catl .evidence-library__item p {
  max-width: 42ch;
  margin: 1.25rem 0 0;
  color: #5d7184;
  line-height: 1.68;
}

.theme-catl .evidence-library__item:hover,
.theme-catl .evidence-library__item:focus-visible {
  transform: translateY(-10px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(242, 249, 255, 0.82)),
    linear-gradient(135deg, rgba(0, 160, 233, 0.16), transparent 55%);
  box-shadow: 0 28px 80px rgba(0, 102, 179, 0.16);
  outline: none;
}

.theme-catl .evidence-library__item:hover::after,
.theme-catl .evidence-library__item:focus-visible::after {
  opacity: 0.7;
  transform: translate(0, 0) rotate(45deg);
}

.theme-catl.motion-enhanced .evidence-library__intro,
.theme-catl.motion-enhanced .evidence-library__item {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
}

.theme-catl.motion-enhanced .evidence-library.is-motion-visible .evidence-library__intro,
.theme-catl.motion-enhanced .evidence-library.is-motion-visible .evidence-library__item {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 760ms ease, transform 900ms cubic-bezier(0.19, 1, 0.22, 1);
}

.theme-catl.motion-enhanced .evidence-library.is-motion-visible .evidence-library__item:nth-child(2) {
  transition-delay: 100ms;
}

.theme-catl.motion-enhanced .evidence-library.is-motion-visible .evidence-library__item:nth-child(3) {
  transition-delay: 180ms;
}

@media (max-width: 900px) {
  .theme-catl .evidence-library__intro,
  .theme-catl .evidence-library__grid {
    grid-template-columns: 1fr;
  }

  .theme-catl .evidence-library__item {
    min-height: 220px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .evidence-library::before,
  .theme-catl.motion-enhanced .evidence-library__intro,
  .theme-catl.motion-enhanced .evidence-library__item {
    transform: none !important;
    transition: none !important;
    opacity: 1 !important;
  }
}

/* Premium motion pass: unified scene depth rather than isolated decoration */
.theme-catl .hero-catl {
  --scene-progress: 0;
}

.theme-catl .hero-catl__media {
  transform: translate3d(0, calc(var(--scene-progress, 0) * 24px), 0)
    scale(calc(1 + var(--scene-progress, 0) * 0.025));
  transform-origin: center top;
}

.theme-catl .hero-catl__eyebrow,
.theme-catl .hero-catl__title,
.theme-catl .hero-catl__lede,
.theme-catl .hero-catl__cta {
  opacity: 1;
  animation: none;
}

.theme-catl .hero-catl__showcase {
  will-change: transform, opacity, filter;
}

.theme-catl .hero-catl__showcase-media {
  transform-origin: 50% 45%;
}

.theme-catl .hero-catl__showcase-media::before {
  transition: opacity 640ms ease, transform 900ms cubic-bezier(0.19, 1, 0.22, 1);
}

.theme-catl .hero-catl__showcase-media::after {
  opacity: calc(0.62 + var(--scene-progress, 0) * 0.18);
}

.theme-catl .hero-catl__gateway {
  transform: translate3d(0, calc(var(--scene-progress, 0) * -10px), 0);
}

.theme-catl .hero-catl__gateway a {
  overflow: hidden;
}

.theme-catl .hero-catl__gateway a::before {
  transition: width 760ms cubic-bezier(0.19, 1, 0.22, 1), opacity 420ms ease;
}

.theme-catl .hero-catl__gateway a::after {
  transition: opacity 360ms ease, transform 520ms cubic-bezier(0.19, 1, 0.22, 1);
}

.theme-catl .hero-catl.is-premium-motion-ready:not(.is-premium-motion-in) .hero-catl__gateway,
.theme-catl .hero-catl.is-premium-motion-ready:not(.is-premium-motion-in) .hero-catl__showcase {
  pointer-events: none;
}

.theme-catl .catl-solution-panorama {
  --solution-camera: 0;
  perspective: 1600px;
}

.theme-catl .catl-section-header,
.theme-catl .catl-solution-wall,
.theme-catl .catl-process-proof,
.theme-catl .catl-process-steps,
.theme-catl .catl-technology-vision__inner,
.theme-catl .catl-news-layout {
  will-change: transform;
}

.theme-catl .catl-solution-wall {
  transform:
    translate3d(0, calc((0.5 - var(--solution-camera, 0)) * 18px), 0)
    rotateX(calc((var(--solution-camera, 0) - 0.45) * 1.2deg));
  transform-origin: center top;
}

.theme-catl .catl-solution-tile {
  transition:
    transform 760ms cubic-bezier(0.19, 1, 0.22, 1),
    opacity 520ms ease,
    filter 520ms ease,
    box-shadow 760ms ease;
}

.theme-catl .catl-solution-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.2) 46%, transparent 62%),
    radial-gradient(circle at var(--route-x, 64%) var(--route-y, 34%), rgba(0,160,233,0.24), transparent 28%);
  opacity: 0;
  transform: translateX(-18%);
  transition: opacity 520ms ease, transform 900ms cubic-bezier(0.19, 1, 0.22, 1);
}

.theme-catl .catl-solution-tile.is-story-active {
  z-index: 4;
  transform: translate3d(0, -12px, 32px) scale(1.012);
  box-shadow: 0 34px 90px rgba(0, 54, 96, 0.22);
}

.theme-catl .catl-solution-tile.is-story-active::before {
  opacity: 1;
  transform: translateX(8%);
}

.theme-catl .catl-solution-tile.is-story-dimmed {
  opacity: 0.68;
  filter: saturate(0.82) contrast(0.94);
}

.theme-catl .catl-solution-tile__photo img {
  transition: transform 1100ms cubic-bezier(0.19, 1, 0.22, 1), filter 700ms ease;
}

.theme-catl .catl-solution-tile.is-story-active .catl-solution-tile__photo img {
  transform: scale(1.055);
  filter: contrast(1.04) saturate(1.04);
}

.theme-catl .catl-process-flow {
  --process-progress: var(--scene-progress, 0);
}

.theme-catl .catl-process-proof__track span {
  transform-origin: left center;
  transform: scaleX(calc(0.18 + var(--scene-progress, 0) * 0.82));
}

.theme-catl .catl-process-step {
  transition: transform 640ms cubic-bezier(0.19, 1, 0.22, 1), background 520ms ease, border-color 520ms ease;
}

.theme-catl .catl-process-flow:hover .catl-process-step {
  background: rgba(255,255,255,0.86);
}

.theme-catl .catl-process-step:hover {
  transform: translateY(-8px);
  border-color: rgba(0, 102, 179, 0.28);
}

.theme-catl .catl-technology-vision {
  overflow: hidden;
}

.theme-catl .catl-technology-vision__proof {
  transform: translate3d(0, calc((0.5 - var(--scene-progress, 0)) * 24px), 0);
}

.theme-catl .catl-technology-vision__proof div {
  position: relative;
  overflow: hidden;
}

.theme-catl .catl-technology-vision__proof div::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,0.2), transparent);
  transform: translateX(-120%);
  opacity: 0;
  transition: opacity 360ms ease, transform 880ms cubic-bezier(0.19, 1, 0.22, 1);
}

.theme-catl .catl-technology-vision__proof div:hover::after {
  opacity: 1;
  transform: translateX(120%);
}

.theme-catl .catl-news-benchmark {
  --news-camera: 0;
}

.theme-catl .catl-news-layout {
  transform: translate3d(0, calc((0.5 - var(--news-camera, 0)) * 16px), 0);
}

.theme-catl .news-item--featured .news-item__thumb {
  overflow: hidden;
}

.theme-catl .news-item--featured .news-item__thumb img {
  transition: transform 1100ms cubic-bezier(0.19, 1, 0.22, 1), filter 720ms ease;
}

.theme-catl .news-item--featured:hover .news-item__thumb img {
  transform: scale(1.045);
  filter: contrast(1.04) saturate(1.03);
}

/* Visible GSAP signature layer */
.theme-catl .hero-catl__showcase-media {
  --scan-glow: 0;
}

.theme-catl .hero-catl__showcase-media.has-gsap-signature::after {
  background:
    linear-gradient(90deg, rgba(0, 102, 179, 0.16), transparent 38%),
    radial-gradient(circle at 72% 34%, rgba(0, 160, 233, calc(0.12 + var(--scan-glow, 0) * 0.16)), transparent 24%),
    linear-gradient(180deg, transparent 62%, rgba(4, 20, 36, 0.16));
}

.theme-catl .hero-catl__showcase-media .gsap-scan-beam {
  position: absolute;
  inset: -18% auto -18% 0;
  z-index: 5;
  width: 26%;
  min-width: 116px;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0%, rgba(0, 160, 233, 0.22) 24%, rgba(255, 255, 255, 0.96) 48%, rgba(0, 160, 233, 0.34) 62%, transparent 100%);
  filter:
    blur(0.35px)
    drop-shadow(0 0 calc(16px + var(--scan-glow, 0) * 22px) rgba(0, 160, 233, 0.78));
  transform: skewX(-14deg);
  mix-blend-mode: screen;
}

.theme-catl .hero-catl__showcase-media .gsap-scan-target {
  position: absolute;
  right: 8%;
  top: 9%;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(2, 10px);
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(0, 160, 233, 0.38);
  background: rgba(246, 252, 255, 0.5);
  box-shadow: 0 0 34px rgba(0, 160, 233, 0.2);
  pointer-events: none;
}

.theme-catl .hero-catl__showcase-media .gsap-scan-target i {
  width: 10px;
  height: 10px;
  background: #00a0e9;
  box-shadow: 0 0 14px rgba(0, 160, 233, 0.62);
  opacity: 0.72;
}

.theme-catl .catl-solution-tile::after {
  transition:
    opacity 360ms ease,
    transform 520ms cubic-bezier(0.19, 1, 0.22, 1),
    color 360ms ease;
}

.theme-catl .catl-solution-tile.is-gsap-current {
  outline: 1px solid rgba(0, 160, 233, 0.72);
  outline-offset: -1px;
}

.theme-catl .catl-solution-tile.is-gsap-current::before {
  opacity: 1;
  transform: translateX(10%);
}

.theme-catl .catl-solution-tile.is-gsap-current .catl-solution-tile__index {
  color: #9fe5ff;
}

.theme-catl .catl-solution-tile.is-gsap-current .catl-solution-tile__arrow {
  border-color: rgba(159, 229, 255, 0.62);
  color: #9fe5ff;
  box-shadow: 0 0 28px rgba(0, 160, 233, 0.25);
}

.theme-catl .catl-news-layout {
  transform-origin: center top;
}

/* Connected GSAP scroll narrative */
.gsap-storyline {
  --story-progress: 0;
  position: fixed;
  z-index: 80;
  right: clamp(1rem, 2.2vw, 2.2rem);
  top: 50%;
  width: 132px;
  min-height: 340px;
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  gap: 0;
  padding: 0.9rem 0.8rem;
  color: #0b2740;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(10px, -50%, 0);
  transition: opacity 420ms ease, transform 520ms cubic-bezier(0.19, 1, 0.22, 1);
  background: rgba(248, 252, 255, 0.96);
  border: 1px solid rgba(0, 160, 233, 0.34);
  box-shadow: 0 22px 70px rgba(0, 54, 96, 0.16);
  backdrop-filter: blur(12px);
}

.gsap-storyline.is-active {
  opacity: 1;
  transform: translate3d(0, -50%, 0);
}

.gsap-storyline__track {
  position: absolute;
  left: 20px;
  top: 1.4rem;
  bottom: 1.4rem;
  width: 1px;
  background: rgba(0, 102, 179, 0.34);
  overflow: hidden;
}

.gsap-storyline__track i {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: calc(var(--story-progress, 0) * 100%);
  background: linear-gradient(180deg, #00a0e9, rgba(0, 102, 179, 0.2));
  box-shadow: 0 0 18px rgba(0, 160, 233, 0.42);
}

.gsap-storyline__node {
  position: relative;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 0.55rem;
  align-items: center;
  min-height: 78px;
  opacity: 0.86;
  transition: opacity 360ms ease, transform 520ms cubic-bezier(0.19, 1, 0.22, 1);
}

.gsap-storyline__node::before {
  content: "";
  width: 9px;
  height: 9px;
  margin-left: 4px;
  border: 1px solid rgba(0, 160, 233, 0.82);
  background: #fff;
  box-shadow: 0 0 0 0 rgba(0, 160, 233, 0);
  transition: background 360ms ease, box-shadow 520ms ease, transform 520ms cubic-bezier(0.19, 1, 0.22, 1);
}

.gsap-storyline__node b,
.gsap-storyline__node em {
  grid-column: 2;
  font-style: normal;
}

.gsap-storyline__node b {
  font-size: 0.66rem;
  color: #005f9f;
  line-height: 1;
}

.gsap-storyline__node em {
  margin-top: -1.8rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #1f3449;
}

.gsap-storyline__node.is-current {
  opacity: 1;
  transform: translateX(-5px);
}

.gsap-storyline__node.is-current b,
.gsap-storyline__node.is-current em {
  color: #0066b3;
}

.gsap-storyline__node.is-current::before {
  background: #00a0e9;
  transform: scale(1.45);
  box-shadow: 0 0 0 8px rgba(0, 160, 233, 0.12), 0 0 18px rgba(0, 160, 233, 0.42);
}

.gsap-storyline__node.is-complete {
  opacity: 0.78;
}

.gsap-storyline__node.is-complete::before {
  background: rgba(0, 102, 179, 0.42);
}

.theme-catl .is-storyline-current {
  position: relative;
  z-index: 6;
}

.theme-catl .catl-solution-tile.is-storyline-current,
.theme-catl .catl-process-step.is-storyline-current,
.theme-catl .catl-technology-vision__proof > div.is-storyline-current,
.theme-catl .catl-news-layout .news-item.is-storyline-current {
  outline: 1px solid rgba(0, 160, 233, 0.68);
  outline-offset: -1px;
  box-shadow: 0 26px 78px rgba(0, 102, 179, 0.16);
}

.theme-catl .catl-process-step.is-storyline-current,
.theme-catl .catl-news-layout .news-item.is-storyline-current {
  transform: translateY(-8px);
}

.theme-catl .catl-technology-vision__proof > div.is-storyline-current {
  background: rgba(255, 255, 255, 0.18);
}

.theme-catl .is-storyline-muted {
  opacity: 0.72;
  filter: saturate(0.9);
}

.theme-catl .section-catl.is-storyline-section .catl-section-kicker {
  color: #008bd6;
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .hero-catl__media,
  .theme-catl .hero-catl__gateway,
  .theme-catl .catl-solution-wall,
  .theme-catl .catl-solution-tile,
  .theme-catl .catl-technology-vision__proof,
  .theme-catl .catl-news-layout {
    transform: none !important;
    transition: none !important;
  }

  .theme-catl .hero-catl__showcase-media .gsap-scan-beam {
    display: none !important;
  }

  .theme-catl .hero-catl__showcase-media .gsap-scan-target {
    display: none !important;
  }

  .gsap-storyline {
    display: none !important;
  }
}

@media (max-width: 900px) {
  .gsap-storyline {
    display: none !important;
  }
}


/* Mobile hero readability fix after visual QA */
@media (max-width: 640px) {
  .theme-catl .hero-catl {
    height: auto !important;
    min-height: 760px !important;
  }

  .theme-catl .hero-catl__content {
    height: auto !important;
    min-height: 760px !important;
    justify-content: center !important;
    padding: 7rem 1.5rem 3rem !important;
  }

  .theme-catl .hero-catl__eyebrow {
    margin-bottom: 1rem !important;
    font-size: 0.66rem !important;
    letter-spacing: 0.18em !important;
  }

  .theme-catl .hero-catl__title {
    font-size: clamp(2.2rem, 11vw, 3.2rem) !important;
    line-height: 1.06 !important;
    max-width: 10.5ch !important;
    margin-bottom: 1.15rem !important;
  }

  .theme-catl .hero-catl__lede {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1.5rem !important;
  }

  .theme-catl .hero-catl__metrics {
    display: none !important;
  }

  .theme-catl .hero-catl__blueprint {
    top: 6% !important;
    right: -22vw !important;
    width: 112vw !important;
    opacity: 0.18 !important;
  }
}


/* White-theme 3D interaction pass 11 - news telemetry and newsletter twin panel */
.theme-catl .news-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,251,255,0.96)),
    radial-gradient(circle at 8% 12%, rgba(0,160,233,0.10), transparent 32%),
    radial-gradient(circle at 86% 24%, rgba(0,102,179,0.08), transparent 30%);
}

.theme-catl .news-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0,102,179,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,102,179,0.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  opacity: 0.65;
}

.theme-catl .news-section .container-catl {
  position: relative;
  z-index: 1;
}

.theme-catl .news-section__head {
  align-items: end;
}

.theme-catl .news-section__more {
  border: 1px solid rgba(0,102,179,0.16);
  border-radius: 999px;
  padding: 0.75rem 1rem;
  background: rgba(255,255,255,0.82);
  box-shadow: 0 18px 46px rgba(20,46,80,0.08);
}

.theme-catl .news-item--featured {
  position: relative;
  margin-bottom: 2.4rem;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(0,102,179,0.12);
  border-radius: 8px;
  background: rgba(255,255,255,0.74);
  box-shadow: 0 24px 70px rgba(21,48,84,0.10);
  transform-style: preserve-3d;
}

.theme-catl .news-item--featured::before,
.theme-catl .news-item--compact::before {
  content: attr(data-news-node);
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: rgba(0,102,179,0.42);
}

.theme-catl .news-item__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.theme-catl .news-item__title--featured {
  font-size: clamp(1.5rem,2.2vw,2rem);
  line-height: 1.3;
  margin: 1rem 0;
}

.theme-catl .news-item__excerpt {
  color: var(--text-secondary);
  font-size: 0.9375rem;
  line-height: 1.7;
  margin: 0 0 1.5rem;
}

.theme-catl .news-item__thumb {
  position: relative;
  border-radius: 8px;
  border: 1px solid rgba(0,102,179,0.10);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
}

.theme-catl .news-item__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0 42%, rgba(255,255,255,0.42) 50%, transparent 58% 100%);
  transform: translateX(-120%);
  transition: transform 0.9s var(--ease-gentle);
}

.theme-catl .news-item--featured:hover .news-item__thumb::after {
  transform: translateX(120%);
}

.theme-catl .news-item__thumb-placeholder {
  position: relative;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(135deg, rgba(0,102,179,0.92), rgba(0,160,233,0.74)),
    linear-gradient(90deg, rgba(255,255,255,0.18) 1px, transparent 1px);
  background-size: auto, 22px 22px;
}

.theme-catl .news-item__thumb-placeholder span,
.theme-catl .news-item__thumb-placeholder i {
  position: absolute;
  inset: 22% 18%;
  border: 1px solid rgba(255,255,255,0.52);
  transform: perspective(520px) rotateX(58deg) rotateZ(-14deg);
}

.theme-catl .news-item__thumb-placeholder i {
  inset: 34% 28%;
  border-color: rgba(255,255,255,0.32);
}

.theme-catl .news-list--telemetry {
  display: grid;
  gap: 0.8rem;
  border-top: 0;
}

.theme-catl .news-item--compact {
  position: relative;
  grid-template-columns: minmax(120px, 0.24fr) minmax(0, 1fr) auto;
  gap: clamp(1rem, 2vw, 2rem);
  align-items: center;
  padding: 1.1rem 3.2rem 1.1rem 1.2rem;
  border: 1px solid rgba(0,102,179,0.10);
  border-radius: 8px;
  background: rgba(255,255,255,0.68);
  box-shadow: 0 14px 44px rgba(21,48,84,0.06);
}

.theme-catl .news-item--compact:hover {
  padding-left: 1.4rem;
  padding-right: 3.4rem;
  background: rgba(255,255,255,0.92);
  border-color: rgba(0,160,233,0.28);
  transform: translateY(-2px);
}

.theme-catl .news-item--compact .news-item__cta {
  white-space: nowrap;
}

.theme-catl .newsletter-catl {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(247,251,255,0.92), rgba(255,255,255,0.98)),
    radial-gradient(circle at 78% 48%, rgba(0,160,233,0.12), transparent 28%);
}

.theme-catl .newsletter-catl__grid {
  position: relative;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr) minmax(360px, 0.9fr);
  align-items: center;
}

.theme-catl .newsletter-catl__twin {
  position: relative;
  min-height: 220px;
  border: 1px solid rgba(0,102,179,0.13);
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.92), rgba(237,247,255,0.78)),
    linear-gradient(90deg, rgba(0,102,179,0.05) 1px, transparent 1px);
  background-size: auto, 28px 28px;
  box-shadow: 0 26px 74px rgba(21,48,84,0.10);
}

.theme-catl .newsletter-catl__twin::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,160,233,0.72), transparent);
  animation: yaolaserTwinPulse 2.8s ease-in-out infinite;
}

.theme-catl .newsletter-catl__chip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid rgba(0,102,179,0.14);
  border-radius: 999px;
  background: rgba(255,255,255,0.86);
  color: var(--text-primary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 14px 34px rgba(21,48,84,0.10);
}

.theme-catl .newsletter-catl__chip::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: var(--catl-cyan);
  box-shadow: 0 0 14px rgba(0,160,233,0.72);
}

.theme-catl .newsletter-catl__chip--one { left: 12%; top: 22%; }
.theme-catl .newsletter-catl__chip--two { right: 10%; top: 44%; }
.theme-catl .newsletter-catl__chip--three { left: 20%; bottom: 18%; }

.theme-catl .newsletter-catl__signal {
  position: absolute;
  inset: 18% 14%;
  border: 1px dashed rgba(0,102,179,0.18);
  border-radius: 8px;
  transform: perspective(640px) rotateX(58deg) rotateZ(-12deg);
}

.theme-catl .newsletter-catl__signal i {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--catl-blue);
  box-shadow: 0 0 18px rgba(0,102,179,0.42);
  animation: yaolaserTwinNode 2.6s ease-in-out infinite;
}

.theme-catl .newsletter-catl__signal i:nth-child(1) { left: 12%; top: 28%; }
.theme-catl .newsletter-catl__signal i:nth-child(2) { left: 52%; top: 58%; animation-delay: 0.4s; }
.theme-catl .newsletter-catl__signal i:nth-child(3) { right: 14%; top: 20%; animation-delay: 0.8s; }

.theme-catl .newsletter-catl__form {
  align-self: center;
  padding: 1.2rem 1.25rem;
  border: 1px solid rgba(0,102,179,0.14);
  border-radius: 8px;
  background: rgba(255,255,255,0.82);
  box-shadow: 0 20px 56px rgba(21,48,84,0.08);
}

@keyframes yaolaserTwinPulse {
  0%, 100% { opacity: 0.32; transform: scaleX(0.72); }
  50% { opacity: 1; transform: scaleX(1); }
}

@keyframes yaolaserTwinNode {
  0%, 100% { transform: translateY(0); opacity: 0.5; }
  50% { transform: translateY(-8px); opacity: 1; }
}

@media (max-width: 1024px) {
  .theme-catl .newsletter-catl__grid {
    grid-template-columns: 1fr;
  }

  .theme-catl .newsletter-catl__twin {
    min-height: 180px;
  }
}

@media (max-width: 767px) {
  .theme-catl .news-section__head {
    align-items: flex-start;
    gap: 1.2rem;
  }

  .theme-catl .news-item--compact {
    grid-template-columns: 1fr;
    padding: 1.1rem 1rem;
  }

  .theme-catl .news-item--compact:hover {
    padding: 1.1rem 1rem;
  }

  .theme-catl .newsletter-catl__twin {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .newsletter-catl__twin::before,
  .theme-catl .newsletter-catl__signal i {
    animation: none !important;
  }
}


/* News/newsletter overflow correction after visual QA */
.theme-catl .news-item--featured,
.theme-catl .news-item--compact,
.theme-catl .newsletter-catl__form,
.theme-catl .newsletter-catl__twin {
  box-sizing: border-box;
  max-width: 100%;
}

.theme-catl .news-item--featured {
  width: 100%;
}

.theme-catl .newsletter-catl__grid {
  gap: clamp(1.25rem, 2vw, 2rem);
  grid-template-columns: minmax(0, 0.98fr) minmax(250px, 0.56fr) minmax(300px, 0.72fr);
}

@media (max-width: 1180px) {
  .theme-catl .newsletter-catl__grid {
    grid-template-columns: 1fr;
  }
}


/* White-theme 3D interaction pass 12 - footer digital twin finish */
.theme-catl .catl-footer {
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(242,248,253,0.96)) !important;
  border-top: 1px solid rgba(0,102,179,0.12);
}

.theme-catl .catl-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0,102,179,0.038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,102,179,0.038) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 100%);
}

.theme-catl .catl-footer::after {
  content: "";
  position: absolute;
  right: -10%;
  bottom: -22%;
  width: min(58vw, 760px);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(0,160,233,0.14), rgba(0,102,179,0.04) 42%, transparent 68%);
}

.theme-catl .catl-footer > .max-w-7xl {
  position: relative;
  z-index: 1;
}

.theme-catl .catl-footer .grid {
  padding: clamp(1.2rem, 2vw, 1.6rem);
  border: 1px solid rgba(0,102,179,0.10);
  border-radius: 8px;
  background: rgba(255,255,255,0.62);
  box-shadow: 0 28px 82px rgba(21,48,84,0.08);
  backdrop-filter: blur(16px);
}

.theme-catl .catl-footer h4 {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.theme-catl .catl-footer h4::before {
  content: "";
  width: 0.44rem;
  height: 0.44rem;
  border-radius: 50%;
  background: var(--catl-cyan);
  box-shadow: 0 0 12px rgba(0,160,233,0.58);
}

.theme-catl .catl-footer ul li {
  position: relative;
  padding-left: 0.85rem;
}

.theme-catl .catl-footer ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 0.3rem;
  height: 1px;
  background: rgba(0,102,179,0.38);
}

.theme-catl .catl-footer__twin {
  position: absolute;
  right: clamp(1rem, 5vw, 5.5rem);
  top: 2rem;
  width: min(36vw, 520px);
  height: 180px;
  pointer-events: none;
  opacity: 0.85;
  z-index: 0;
}

.theme-catl .catl-footer__rail {
  position: absolute;
  inset: 42% 4% auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,160,233,0.62), rgba(0,102,179,0.32), transparent);
  transform: perspective(540px) rotateX(58deg) rotateZ(-10deg);
}

.theme-catl .catl-footer__node {
  position: absolute;
  min-width: 74px;
  padding: 0.5rem 0.65rem;
  border: 1px solid rgba(0,102,179,0.14);
  border-radius: 999px;
  background: rgba(255,255,255,0.78);
  color: var(--text-primary) !important;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-align: center;
  box-shadow: 0 12px 32px rgba(21,48,84,0.10);
  animation: yaolaserFooterNode 3s ease-in-out infinite;
}

.theme-catl .catl-footer__node--one { left: 4%; top: 34%; }
.theme-catl .catl-footer__node--two { left: 42%; top: 16%; animation-delay: 0.35s; }
.theme-catl .catl-footer__node--three { right: 4%; top: 50%; animation-delay: 0.7s; }

@keyframes yaolaserFooterNode {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

@media (max-width: 1024px) {
  .theme-catl .catl-footer__twin {
    display: none;
  }
}

@media (max-width: 767px) {
  .theme-catl .catl-footer .grid {
    padding: 1rem;
  }

  .theme-catl .catl-footer ul li {
    padding-left: 0.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .catl-footer__node {
    animation: none !important;
  }
}


/* CATL base reset correction - body carries the theme class */
html {
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body.theme-catl {
  margin: 0;
  overflow-x: clip;
  background-color: var(--bg-base);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.theme-catl::before,
body.theme-catl::after {
  display: none;
}

@supports not (overflow: clip) {
  body.theme-catl {
    overflow-x: hidden;
  }
}


/* White-theme 3D interaction pass 13 - inner page CAD surfaces */
.theme-catl .page-hero {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,249,253,0.96)),
    radial-gradient(circle at 78% 24%, rgba(0,160,233,0.13), transparent 32%),
    radial-gradient(circle at 10% 18%, rgba(0,102,179,0.10), transparent 30%);
  color: var(--text-primary);
  isolation: isolate;
}

.theme-catl .page-hero::before {
  background:
    linear-gradient(rgba(0,102,179,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,102,179,0.045) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  opacity: 0.82;
}

.theme-catl .page-hero::after {
  content: "";
  position: absolute;
  right: clamp(1rem, 8vw, 8rem);
  top: 18%;
  width: min(34vw, 480px);
  aspect-ratio: 1.45;
  border: 1px solid rgba(0,102,179,0.14);
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.68), rgba(225,242,255,0.48)),
    linear-gradient(90deg, rgba(0,102,179,0.08) 1px, transparent 1px);
  background-size: auto, 26px 26px;
  box-shadow: 0 28px 88px rgba(21,48,84,0.10);
  transform: perspective(820px) rotateX(58deg) rotateZ(-13deg);
  pointer-events: none;
  z-index: 0;
}

.theme-catl .page-hero__inner {
  max-width: 920px;
}

.theme-catl .page-hero__eyebrow {
  color: var(--catl-blue);
}

.theme-catl .page-hero__title {
  color: var(--text-primary);
  max-width: 19ch;
}

.theme-catl .page-hero__lede {
  color: var(--text-secondary);
}

.theme-catl .page-hero .breadcrumb-catl,
.theme-catl .page-hero .breadcrumb-catl a,
.theme-catl .page-hero .breadcrumb-catl li {
  color: var(--text-secondary);
}

.theme-catl .page-hero .breadcrumb-catl li[aria-current="page"] {
  color: var(--text-primary);
}

.theme-catl .article-body {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(247,251,255,0.94));
}

.theme-catl .article-body::before,
.theme-catl .section-catl--alt::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0,102,179,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,102,179,0.035) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 84%, transparent);
}

.theme-catl .article-body > .container-catl,
.theme-catl .section-catl > .container-catl {
  position: relative;
  z-index: 1;
}

.theme-catl .contact-grid > div,
.theme-catl .contact-grid > aside,
.theme-catl .article-body .container-catl > div > div > div,
.theme-catl .article-body .container-catl > div > div > aside {
  min-width: 0;
}

.theme-catl .form-catl {
  padding: clamp(1.2rem, 2vw, 1.75rem);
  border: 1px solid rgba(0,102,179,0.12);
  border-radius: 8px;
  background: rgba(255,255,255,0.80);
  box-shadow: 0 24px 70px rgba(21,48,84,0.08);
}

.theme-catl .form-catl input[type="text"],
.theme-catl .form-catl input[type="email"],
.theme-catl .form-catl input[type="tel"],
.theme-catl .form-catl select,
.theme-catl .form-catl textarea {
  border: 1px solid rgba(0,102,179,0.12);
  border-radius: 8px;
  background: rgba(255,255,255,0.74);
  padding: 0.78rem 0.9rem;
}

.theme-catl .form-catl input:focus,
.theme-catl .form-catl select:focus,
.theme-catl .form-catl textarea:focus {
  border-color: rgba(0,160,233,0.58);
  box-shadow: 0 0 0 3px rgba(0,160,233,0.10);
}

.theme-catl .section-catl[style],
.theme-catl .article-body .container-catl [style*="background:#fff"],
.theme-catl .article-body .container-catl [style*="background: #fff"] {
  border-radius: 8px;
}

.theme-catl .section-catl--alt {
  position: relative;
  overflow: hidden;
}

.theme-catl .section-catl--alt [style*="background:#fff"],
.theme-catl .section-catl [style*="background:#fff"] {
  border-color: rgba(0,102,179,0.12) !important;
  box-shadow: 0 18px 48px rgba(21,48,84,0.07);
}

.theme-catl .post-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(0,102,179,0.12);
  border-radius: 8px;
  background: rgba(255,255,255,0.78);
  box-shadow: 0 20px 58px rgba(21,48,84,0.07);
}

.theme-catl .post-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 0 42%, rgba(255,255,255,0.48) 50%, transparent 58% 100%);
  transform: translateX(-120%);
  transition: transform 0.8s var(--ease-gentle);
}

.theme-catl .post-card:hover::after {
  transform: translateX(120%);
}

.theme-catl .post-card__media {
  background:
    linear-gradient(145deg, rgba(0,102,179,0.12), rgba(0,160,233,0.08)),
    linear-gradient(90deg, rgba(0,102,179,0.08) 1px, transparent 1px);
  background-size: auto, 24px 24px;
}

.theme-catl .archive-filters,
.theme-catl .pagination-nav {
  position: relative;
  z-index: 1;
}

@media (max-width: 900px) {
  .theme-catl .page-hero::after {
    right: -12%;
    top: 38%;
    width: 72vw;
    opacity: 0.28;
  }

  .theme-catl .page-hero__title,
  .theme-catl .page-hero__lede {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .theme-catl .page-hero {
    padding: 5.5rem 0 3rem !important;
  }

  .theme-catl .page-hero::after {
    display: none;
  }

  .theme-catl .page-hero__title {
    font-size: clamp(2rem, 11vw, 3rem);
  }

  .theme-catl .form-catl {
    padding: 1rem;
  }
}


/* Contact inner page mobile grid correction after visual QA */
@media (max-width: 900px) {
  .theme-catl .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }

  .theme-catl .contact-grid > div,
  .theme-catl .contact-grid > aside {
    width: 100%;
  }
}


/* White-theme 3D interaction pass 14 - archive/search knowledge surfaces */
.theme-catl .archive-filters {
  padding: 1rem;
  border: 1px solid rgba(0,102,179,0.11);
  border-radius: 8px;
  background: rgba(255,255,255,0.76);
  box-shadow: 0 18px 52px rgba(21,48,84,0.07);
}

.theme-catl .archive-filter-btn {
  border-radius: 999px;
  background: rgba(255,255,255,0.74);
  border-color: rgba(0,102,179,0.14);
}

.theme-catl .post-grid {
  position: relative;
}

.theme-catl .post-grid::before {
  content: "";
  position: absolute;
  inset: -1.5rem;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0,102,179,0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,102,179,0.032) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(180deg, transparent, #000 10%, #000 90%, transparent);
}

.theme-catl .post-card {
  transform-style: preserve-3d;
}

.theme-catl .post-card::before {
  content: "";
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--catl-cyan);
  box-shadow: 0 0 18px rgba(0,160,233,0.68);
  z-index: 2;
}

.theme-catl .post-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 30px 78px rgba(21,48,84,0.11);
}

.theme-catl .post-card__media > div {
  position: relative;
  overflow: hidden;
}

.theme-catl .post-card__media > div::before,
.theme-catl .post-card__media > div::after {
  content: "";
  position: absolute;
  inset: 22% 16%;
  border: 1px solid rgba(0,102,179,0.20);
  transform: perspective(520px) rotateX(58deg) rotateZ(-14deg);
}

.theme-catl .post-card__media > div::after {
  inset: 34% 28%;
  border-color: rgba(0,160,233,0.24);
}

.theme-catl .post-card__meta span:last-child {
  color: var(--catl-blue);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-catl .catl-search-inline {
  width: min(540px, 100%);
  margin-top: 2rem;
}

.theme-catl .catl-search-inline__field {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.55rem 0.6rem 0.55rem 1rem;
  border: 1px solid rgba(0,102,179,0.14);
  border-radius: 999px;
  background: rgba(255,255,255,0.84);
  box-shadow: 0 18px 48px rgba(21,48,84,0.08);
}

.theme-catl .catl-search-inline input[type="search"] {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  color: var(--text-primary);
  padding: 0.65rem 0;
  font-size: 1rem;
  outline: none;
}

.theme-catl .catl-search-inline button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 50%;
  background: var(--catl-blue);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(0,102,179,0.22);
}

.theme-catl .catl-search-inline button svg {
  width: 1.1rem;
  height: 1.1rem;
}

@media (max-width: 640px) {
  .theme-catl .archive-filters {
    padding: 0.75rem;
  }

  .theme-catl .archive-filter-btn {
    flex: 1 1 auto;
    text-align: center;
  }
}

/* Taste + Impeccable pass 15 - anti-template white industrial refinement */
:root {
  --catl-cyan: #00A0E9;
  --yao-ink: #102033;
  --yao-ink-soft: rgba(16, 32, 51, 0.68);
  --yao-panel: rgba(255, 255, 255, 0.82);
  --yao-panel-solid: #ffffff;
  --yao-line: rgba(0, 102, 179, 0.14);
  --yao-line-strong: rgba(0, 102, 179, 0.28);
  --yao-radius-sm: 4px;
  --yao-radius-md: 8px;
  --yao-radius-lg: 12px;
  --yao-shadow-hairline: 0 1px 0 rgba(16, 32, 51, 0.06);
  --yao-shadow-panel: 0 14px 34px rgba(16, 48, 80, 0.08);
  --font-display: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}

.theme-catl {
  background:
    linear-gradient(90deg, rgba(0,102,179,0.028) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,102,179,0.024) 1px, transparent 1px),
    #fff;
  background-size: 84px 84px, 84px 84px, auto;
}

.theme-catl h1,
.theme-catl h2,
.theme-catl h3 {
  text-wrap: balance;
  letter-spacing: -0.018em;
}

.theme-catl p,
.theme-catl li {
  color: var(--yao-ink-soft);
}

.theme-catl .eyebrow,
.theme-catl .hero-catl__eyebrow,
.theme-catl .solution-card__eyebrow,
.theme-catl .page-hero__eyebrow,
.theme-catl .post-card__eyebrow,
.theme-catl .sticky-eyebrow {
  letter-spacing: 0.08em;
  text-transform: none;
  font-weight: 700;
}

.theme-catl .hero-catl {
  height: min(92vh, 920px);
  min-height: 700px;
  background:
    radial-gradient(circle at 78% 24%, rgba(0, 160, 233, 0.16), transparent 27%),
    linear-gradient(135deg, #fff 0%, #f7fbff 46%, #edf5fb 100%);
}

.theme-catl .hero-catl::before {
  background:
    linear-gradient(90deg, rgba(0, 102, 179, 0.052) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0, 102, 179, 0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.7), rgba(0,0,0,0.08));
}

.theme-catl .hero-catl__content {
  padding-bottom: clamp(4.5rem, 8vh, 7rem);
}

.theme-catl .hero-catl__title {
  max-width: 18ch;
  font-size: clamp(2.75rem, 5.3vw, 5rem);
  line-height: 1.02;
}

.theme-catl .hero-catl__lede {
  max-width: 54ch;
  color: rgba(16, 32, 51, 0.76);
}

.theme-catl .hero-catl__cta {
  border-radius: var(--yao-radius-md);
  letter-spacing: 0.04em;
  text-transform: none;
  min-height: 46px;
}

.theme-catl .hero-catl__cta--primary {
  box-shadow: var(--yao-shadow-panel);
}

.theme-catl .hero-catl__cta--secondary {
  border: 1px solid var(--yao-line-strong);
  box-shadow: none;
}

.theme-catl .hero-catl__metrics {
  width: min(720px, 100%);
  border: 1px solid var(--yao-line);
  border-radius: var(--yao-radius-lg);
  background: rgba(255,255,255,0.7);
  box-shadow: var(--yao-shadow-panel);
  overflow: hidden;
}

.theme-catl .hero-catl__metrics div {
  backdrop-filter: none;
}

.theme-catl .hero-catl__metrics strong {
  font-size: clamp(0.95rem, 1.4vw, 1.18rem);
}

.theme-catl .hero-catl__blueprint {
  width: min(47vw, 680px);
  opacity: 0.94;
}

.theme-catl .hero-catl__module,
.theme-catl .hero-catl__node,
.theme-catl .hero-hud-card,
.theme-catl .line-readout {
  border-radius: var(--yao-radius-md);
  background: var(--yao-panel);
  border-color: var(--yao-line);
  box-shadow: var(--yao-shadow-panel);
}

.theme-catl .hero-catl__module span,
.theme-catl .solution-card__schematic span {
  border-radius: var(--yao-radius-sm);
}

.theme-catl .solution-card {
  min-height: 460px;
  border-color: rgba(16, 32, 51, 0.08);
  box-shadow: none;
}

.theme-catl .solution-card__body {
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

.theme-catl .solution-card__title {
  max-width: 18ch;
}

.theme-catl .solution-card__desc {
  max-width: 58ch;
}

.theme-catl .solution-card__media-placeholder {
  opacity: 1;
}

.theme-catl .solution-card__specs li,
.theme-catl .line-step,
.theme-catl .post-card,
.theme-catl .archive-filters {
  border-radius: var(--yao-radius-md);
  box-shadow: var(--yao-shadow-hairline);
}

.theme-catl .line-explorer__stage {
  border-radius: var(--yao-radius-lg);
  box-shadow: var(--yao-shadow-panel);
}

.theme-catl .line-step:hover,
.theme-catl .line-step.is-active,
.theme-catl .post-card:hover {
  box-shadow: var(--yao-shadow-panel);
}

.theme-catl .catl-search-inline__field,
.theme-catl .archive-filter-btn {
  box-shadow: var(--yao-shadow-hairline);
}

@media (max-width: 1024px) {
  .theme-catl .hero-catl {
    min-height: 760px;
  }

  .theme-catl .hero-catl__content {
    padding-right: 1.5rem;
  }

  .theme-catl .hero-catl__blueprint {
    width: min(86vw, 620px);
    right: 1.5rem;
    opacity: 0.32;
  }
}

@media (max-width: 640px) {
  .theme-catl .hero-catl {
    min-height: 780px;
    height: auto;
  }

  .theme-catl .hero-catl__title {
    font-size: clamp(2.15rem, 11vw, 3.25rem);
    max-width: 11ch;
  }

  .theme-catl .hero-catl__lede {
    font-size: 1rem;
  }

  .theme-catl .hero-catl__metrics {
    grid-template-columns: 1fr;
  }

  .theme-catl .solution-card {
    min-height: auto;
  }

  .theme-catl .solution-card__body {
    padding: 2rem 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .hero-catl__blueprint,
  .theme-catl .line-explorer__station,
  .theme-catl .solution-card__media-placeholder,
  .theme-catl .hero-catl__media img,
  .theme-catl .hero-catl__media video {
    animation: none !important;
    transform: none !important;
  }
}

/* Taste + Impeccable pass 16 - first viewport readability correction */
.theme-catl .hero-catl__content {
  z-index: 8;
}

.theme-catl .hero-catl__eyebrow,
.theme-catl .hero-catl__title,
.theme-catl .hero-catl__lede,
.theme-catl .hero-catl__cta {
  opacity: 1 !important;
  animation: none !important;
}

.theme-catl .hero-catl__title {
  color: #102033 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.62);
}

.theme-catl .hero-catl__title strong {
  color: #005a9f !important;
}

.theme-catl .hero-catl__blueprint,
.theme-catl .hero-cad-canvas,
.theme-catl .hero-catl__hud {
  z-index: 4;
}

.theme-catl .hero-catl__blueprint {
  pointer-events: none;
}

@media (max-width: 640px) {
  .theme-catl .hero-catl__content {
    min-height: 700px !important;
    justify-content: flex-start !important;
    padding: 8.75rem 1.5rem 3rem !important;
  }

  .theme-catl .hero-catl__title {
    max-width: 12.5ch !important;
    color: #102033 !important;
  }

  .theme-catl .hero-catl__blueprint {
    top: 26% !important;
    right: -34vw !important;
    opacity: 0.16 !important;
  }
}

/* CATL benchmark pass 17 - enterprise solution panorama */
.theme-catl .catl-section-header {
  display: grid;
  gap: 1rem;
  max-width: 920px;
  margin: 0 auto 3rem;
}

.theme-catl .catl-section-header--split {
  max-width: 1440px;
}

@media (min-width: 900px) {
  .theme-catl .catl-section-header--split {
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.52fr);
    align-items: end;
  }
}

.theme-catl .catl-section-kicker {
  display: inline-block;
  margin-bottom: 1rem;
  color: var(--catl-blue);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.theme-catl .catl-section-header h2,
.theme-catl .catl-technology-vision h2 {
  margin: 0;
  color: var(--yao-ink);
  font-size: clamp(2.2rem, 4.6vw, 4.9rem);
  font-weight: 400;
  line-height: 1.02;
  max-width: 13ch;
}

.theme-catl .catl-section-header p {
  margin: 0;
  max-width: 52ch;
  color: rgba(16, 32, 51, 0.68);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
}

.theme-catl .catl-solution-panorama {
  background: #fff;
  padding-bottom: 0;
  overflow: hidden;
}

.theme-catl .catl-solution-panorama .catl-section-header {
  margin-bottom: clamp(4rem, 6vw, 6.5rem);
}

.theme-catl .catl-solution-panorama .catl-section-header h2 {
  line-height: 1.08;
}

.theme-catl .catl-solution-wall {
  display: grid;
  grid-template-columns: repeat(4, minmax(260px, 1fr));
  min-height: 660px;
  border-top: 1px solid rgba(16, 32, 51, 0.08);
  border-bottom: 1px solid rgba(16, 32, 51, 0.08);
}

.theme-catl .catl-solution-tile {
  position: relative;
  display: grid;
  align-content: end;
  min-height: 660px;
  padding: clamp(2rem, 3vw, 3.5rem);
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
  border-right: 1px solid rgba(255,255,255,0.24);
  background: linear-gradient(180deg, #eef6fc 0%, #0d2438 100%);
}

.theme-catl .catl-solution-tile--blue { background: linear-gradient(180deg, #eef7ff 0%, #0066b3 100%); }
.theme-catl .catl-solution-tile--silver { background: linear-gradient(180deg, #f7fbff 0%, #536b7c 100%); }
.theme-catl .catl-solution-tile--graphite { background: linear-gradient(180deg, #f2f6f9 0%, #102033 100%); }
.theme-catl .catl-solution-tile--cyan { background: linear-gradient(180deg, #effbff 0%, #0085bd 100%); }

.theme-catl .catl-solution-tile::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.18) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.14) 1px, transparent 1px);
  background-size: 54px 54px;
  opacity: 0.58;
}

.theme-catl .catl-solution-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(255,255,255,0.28), rgba(0,0,0,0.58));
}

.theme-catl .catl-solution-tile__index {
  position: absolute;
  top: clamp(1.5rem, 2.4vw, 2.4rem);
  left: clamp(1.5rem, 2.4vw, 2.4rem);
  color: rgba(255,255,255,0.72);
  font-size: 0.9rem;
  font-weight: 700;
}

.theme-catl .catl-solution-tile__visual {
  position: absolute;
  inset: 16% 8% auto auto;
  width: min(22vw, 320px);
  aspect-ratio: 1.45;
  transform: perspective(900px) rotateX(58deg) rotateZ(-18deg);
  opacity: 0.62;
}

.theme-catl .catl-solution-tile__visual i {
  position: absolute;
  border: 1px solid rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.10);
}

.theme-catl .catl-solution-tile__visual i:nth-child(1) { inset: 0 0 28% 0; }
.theme-catl .catl-solution-tile__visual i:nth-child(2) { inset: 38% 48% 0 0; }
.theme-catl .catl-solution-tile__visual i:nth-child(3) { inset: 45% 0 8% 56%; }

.theme-catl .catl-solution-tile__body {
  display: grid;
  gap: 0.85rem;
  transform: translateY(0);
  transition: transform 420ms var(--ease-catl);
}

.theme-catl .catl-solution-tile__kicker,
.theme-catl .catl-solution-tile__meta {
  color: rgba(255,255,255,0.72);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.theme-catl .catl-solution-tile strong {
  max-width: 15ch;
  color: #fff;
  font-size: clamp(1.65rem, 2.5vw, 2.6rem);
  font-weight: 500;
  line-height: 1.06;
  text-wrap: balance;
}

.theme-catl .catl-solution-tile__copy {
  max-width: 34ch;
  color: rgba(255,255,255,0.84);
  line-height: 1.65;
}

.theme-catl .catl-solution-tile__arrow {
  position: absolute;
  right: clamp(1.5rem, 2.4vw, 2.4rem);
  bottom: clamp(1.5rem, 2.4vw, 2.4rem);
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(255,255,255,0.46);
  border-radius: 50%;
  transition: transform 320ms var(--ease-catl), background 320ms var(--ease-catl);
}

.theme-catl .catl-solution-tile:hover .catl-solution-tile__body { transform: translateY(-0.5rem); }
.theme-catl .catl-solution-tile:hover .catl-solution-tile__arrow { transform: translateX(0.3rem); background: rgba(255,255,255,0.14); }

.theme-catl .catl-process-flow {
  background:
    linear-gradient(180deg, #fff 0%, #f6fafe 100%);
  overflow: hidden;
}

.theme-catl .catl-process-stage {
  position: relative;
  min-height: 330px;
  margin: 1rem 0 2.5rem;
  border: 1px solid rgba(0,102,179,0.12);
  background:
    linear-gradient(90deg, rgba(0,102,179,0.052) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,102,179,0.045) 1px, transparent 1px),
    #fff;
  background-size: 64px 64px;
  box-shadow: var(--yao-shadow-panel);
  overflow: hidden;
}

.theme-catl .catl-process-stage svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.theme-catl .catl-process-stage__rail,
.theme-catl .catl-process-stage__beam {
  stroke-width: 3;
  stroke-linecap: round;
}

.theme-catl .catl-process-stage__rail { stroke: rgba(0,102,179,0.18); }
.theme-catl .catl-process-stage__beam {
  stroke: var(--catl-blue);
  stroke-dasharray: 160 620;
  animation: blueprint-flow 5.5s linear infinite;
  filter: drop-shadow(0 0 8px rgba(0,160,233,0.34));
}

.theme-catl .catl-process-stage__plate {
  position: absolute;
  right: 8%;
  bottom: 10%;
  width: min(34vw, 420px);
  aspect-ratio: 2.2;
  transform: perspective(900px) rotateX(62deg) rotateZ(-12deg);
}

.theme-catl .catl-process-stage__plate span {
  position: absolute;
  border: 1px solid rgba(0,102,179,0.2);
  background: rgba(0,160,233,0.05);
}

.theme-catl .catl-process-stage__plate span:nth-child(1) { inset: 0 72% 0 0; }
.theme-catl .catl-process-stage__plate span:nth-child(2) { inset: 0 48% 0 28%; }
.theme-catl .catl-process-stage__plate span:nth-child(3) { inset: 0 24% 0 52%; }
.theme-catl .catl-process-stage__plate span:nth-child(4) { inset: 0 0 0 76%; }

.theme-catl .catl-process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(16,32,51,0.1);
}

.theme-catl .catl-process-step {
  padding: clamp(1.4rem, 2.4vw, 2.4rem);
  border-right: 1px solid rgba(16,32,51,0.1);
}

.theme-catl .catl-process-step span {
  display: block;
  margin-bottom: 1.2rem;
  color: var(--catl-blue);
  font-weight: 700;
}

.theme-catl .catl-process-step h3 {
  margin: 0 0 0.8rem;
  font-size: clamp(1.2rem, 1.7vw, 1.55rem);
}

.theme-catl .catl-process-step p {
  margin: 0;
  line-height: 1.7;
}

.theme-catl .catl-technology-vision {
  background:
    linear-gradient(120deg, rgba(0,102,179,0.92), rgba(0,160,233,0.82)),
    #0066b3;
  color: #fff;
}

.theme-catl .catl-technology-vision__inner {
  display: grid;
  gap: 1.5rem;
  min-height: 460px;
  align-content: center;
}

.theme-catl .catl-technology-vision .catl-section-kicker,
.theme-catl .catl-technology-vision h2,
.theme-catl .catl-technology-vision p {
  color: #fff;
}

.theme-catl .catl-technology-vision p {
  max-width: 62ch;
  color: rgba(255,255,255,0.82);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
}

.theme-catl .catl-technology-vision a {
  width: fit-content;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.45);
  padding: 0.9rem 1.25rem;
  transition: background 240ms var(--ease-catl);
}

.theme-catl .catl-technology-vision a:hover { background: rgba(255,255,255,0.12); }

@media (max-width: 1180px) {
  .theme-catl .catl-solution-wall { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .theme-catl .catl-solution-wall,
  .theme-catl .catl-process-steps {
    grid-template-columns: 1fr;
  }

  .theme-catl .catl-solution-tile {
    min-height: 520px;
  }

  .theme-catl .catl-process-stage {
    min-height: 260px;
  }

  .theme-catl .catl-process-stage__plate {
    width: 76vw;
    right: -4%;
  }
}

/* v1.6.49 visual polish pass: remove placeholder feel, tighten routes, and keep repeated components aligned. */
.theme-catl .site-branding .site-title,
.theme-catl .site-branding .site-description,
.theme-catl .yao-logo__text {
  display: none !important;
}

.theme-catl .yao-header__inner {
  display: grid !important;
  grid-template-columns: minmax(84px, auto) minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: clamp(1rem, 3vw, 3rem) !important;
}

.theme-catl .site-branding,
.theme-catl .yao-logo {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.theme-catl .yao-logo__official-mark {
  width: 58px !important;
  height: 46px !important;
  overflow: hidden !important;
  display: block !important;
}

.theme-catl .yao-logo__official-mark img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

.theme-catl .yao-nav {
  justify-self: center !important;
}

.theme-catl .yao-nav,
.theme-catl .yao-nav > ul,
.theme-catl .yao-nav .menu {
  align-items: center !important;
}

.theme-catl .yao-nav a {
  line-height: 1 !important;
}

.theme-catl .catl-svg-transition {
  display: none !important;
}

.theme-catl .catl-solution-wall {
  width: min(100% - 2rem, 1040px) !important;
  margin-inline: auto !important;
}

.theme-catl .catl-solution-tile {
  display: grid !important;
  place-items: center !important;
  min-height: clamp(320px, 34vw, 440px) !important;
}

.theme-catl .catl-solution-tile__body {
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: clamp(2rem, 4vw, 4.5rem) !important;
  transform: none !important;
}

.theme-catl .catl-solution-tile:hover .catl-solution-tile__body {
  transform: none !important;
}

.theme-catl .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
  max-width: min(78%, 560px) !important;
  margin-inline: auto !important;
  text-align: center !important;
  text-wrap: balance !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}

.theme-catl .catl-solution-tile__copy,
.theme-catl .catl-solution-tile__meta,
.theme-catl .catl-solution-tile__kicker {
  text-align: center !important;
  margin-inline: auto !important;
}

.theme-catl .catl-evidence-briefs {
  padding-block: clamp(4rem, 8vw, 7rem) !important;
}

.theme-catl .catl-evidence-briefs__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid rgba(0, 102, 179, 0.18) !important;
  background: #fff !important;
}

.theme-catl .catl-evidence-brief,
.theme-catl .catl-evidence-brief:first-child {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(240px, 0.9fr) auto !important;
  border: 0 !important;
  border-right: 1px solid rgba(0, 102, 179, 0.12) !important;
  border-bottom: 1px solid rgba(0, 102, 179, 0.12) !important;
  background: #fff !important;
}

.theme-catl .catl-evidence-brief:nth-child(2n) {
  border-right: 0 !important;
}

.theme-catl .catl-evidence-brief__media,
.theme-catl .catl-evidence-brief:first-child .catl-evidence-brief__media,
.theme-catl .catl-evidence-brief:not(:first-child) .catl-evidence-brief__media {
  height: clamp(240px, 23vw, 330px) !important;
  min-height: 0 !important;
  background: #eef7fc !important;
}

.theme-catl .catl-evidence-brief__body {
  min-height: 210px !important;
  justify-content: start !important;
  background: #fff !important;
}

.theme-catl .newsletter-catl {
  padding-block: clamp(4rem, 8vw, 7rem) !important;
}

.theme-catl .newsletter-catl__panel .newsletter-catl__form {
  grid-template-columns: minmax(0, 1fr) minmax(150px, auto) !important;
}

.theme-catl .newsletter-catl__panel .newsletter-catl__form button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  min-width: 150px !important;
  padding-inline: 1.15rem !important;
  color: #102033 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
}

.theme-catl .newsletter-catl__panel .newsletter-catl__form button span {
  display: inline !important;
  visibility: visible !important;
}

.theme-catl .page-hero--white-paper-detail,
.theme-catl .page-hero--video-insight-detail,
.theme-catl .page-hero--case-studies {
  min-height: auto !important;
  padding-block: clamp(5.5rem, 9vw, 9rem) !important;
}

.theme-catl .page-hero--white-paper-detail .page-hero__inner,
.theme-catl .page-hero--video-insight-detail .page-hero__inner,
.theme-catl .page-hero--case-studies .page-hero__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.9fr) !important;
  gap: clamp(3rem, 7vw, 7rem) !important;
  align-items: center !important;
  text-align: left !important;
}

.theme-catl .page-hero--white-paper-detail .breadcrumb-catl,
.theme-catl .page-hero--white-paper-detail .page-hero__eyebrow,
.theme-catl .page-hero--white-paper-detail .page-hero__title,
.theme-catl .page-hero--white-paper-detail .page-hero__lede,
.theme-catl .page-hero--video-insight-detail .breadcrumb-catl,
.theme-catl .page-hero--video-insight-detail .page-hero__eyebrow,
.theme-catl .page-hero--video-insight-detail .page-hero__title,
.theme-catl .page-hero--video-insight-detail .page-hero__lede,
.theme-catl .page-hero--case-studies .breadcrumb-catl,
.theme-catl .page-hero--case-studies .page-hero__eyebrow,
.theme-catl .page-hero--case-studies .page-hero__title,
.theme-catl .page-hero--case-studies .page-hero__lede {
  grid-column: 1 !important;
  max-width: 720px !important;
  text-align: left !important;
}

.theme-catl .page-hero--white-paper-detail .page-hero__title,
.theme-catl .page-hero--video-insight-detail .page-hero__title,
.theme-catl .page-hero--case-studies .page-hero__title {
  font-size: clamp(3.4rem, 5.3vw, 6.6rem) !important;
  line-height: 0.98 !important;
  text-wrap: balance !important;
}

.theme-catl .page-hero__visual--white-paper-detail,
.theme-catl .page-hero__visual--video-detail,
.theme-catl .page-hero__visual--cases {
  grid-column: 2 !important;
  grid-row: 1 / span 4 !important;
  position: relative !important;
  width: 100% !important;
  min-height: clamp(360px, 34vw, 520px) !important;
  display: grid !important;
  place-items: center !important;
}

.theme-catl .whitepaper-detail-device {
  width: min(100%, 460px) !important;
  display: grid !important;
  gap: 1rem !important;
  padding: clamp(1.2rem, 2vw, 1.8rem) !important;
  border: 1px solid rgba(0, 102, 179, 0.18) !important;
  background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(238,247,252,0.9)) !important;
  box-shadow: 0 28px 70px rgba(0, 40, 80, 0.12) !important;
}

.theme-catl .whitepaper-detail-device__sheet {
  display: grid !important;
  gap: 1rem !important;
  padding: clamp(1.8rem, 3vw, 2.5rem) !important;
  min-height: 300px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 102, 179, 0.16) !important;
}

.theme-catl .whitepaper-detail-device__sheet span,
.theme-catl .whitepaper-detail-device__notes span:first-child {
  color: #0066b3 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
  letter-spacing: 0 !important;
}

.theme-catl .whitepaper-detail-device__sheet strong {
  color: #102033 !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  line-height: 1.05 !important;
}

.theme-catl .whitepaper-detail-device__sheet em {
  color: #587084 !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.theme-catl .whitepaper-detail-device__sheet i {
  display: block !important;
  height: 1px !important;
  background: rgba(0, 102, 179, 0.16) !important;
}

.theme-catl .whitepaper-detail-device__notes {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.75rem !important;
  color: #587084 !important;
  font-weight: 700 !important;
}

.theme-catl .page-hero__visual--video-detail {
  align-content: center !important;
}

.theme-catl .page-hero__visual--video-detail figure,
.theme-catl .page-hero__visual--cases figure {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 102, 179, 0.16) !important;
  background: #eef7fc !important;
  box-shadow: 0 28px 70px rgba(0, 40, 80, 0.12) !important;
}

.theme-catl .page-hero__visual--video-detail figure {
  aspect-ratio: 16 / 10 !important;
}

.theme-catl .page-hero__visual--cases figure {
  aspect-ratio: 4 / 3 !important;
}

.theme-catl .page-hero__visual--video-detail img,
.theme-catl .page-hero__visual--cases img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.9 !important;
}

.theme-catl .video-detail-hero-card,
.theme-catl .case-hero-record {
  position: absolute !important;
  left: clamp(1rem, 3vw, 2rem) !important;
  bottom: clamp(1rem, 3vw, 2rem) !important;
  width: min(78%, 330px) !important;
  display: grid !important;
  gap: 0.6rem !important;
  padding: clamp(1rem, 2vw, 1.4rem) !important;
  background: rgba(255,255,255,0.9) !important;
  border: 1px solid rgba(0, 102, 179, 0.14) !important;
  box-shadow: 0 18px 45px rgba(0, 40, 80, 0.12) !important;
}

.theme-catl .video-detail-hero-card span,
.theme-catl .case-hero-record span {
  color: #0066b3 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
}

.theme-catl .video-detail-hero-card strong,
.theme-catl .case-hero-record strong {
  color: #102033 !important;
  font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
  line-height: 1.08 !important;
}

.theme-catl .video-detail-hero-card em,
.theme-catl .case-hero-record em {
  color: #587084 !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.theme-catl .page-hero__visual--cases ul {
  display: none !important;
}

.theme-catl .video-insight-detail > .container-catl {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.15fr) !important;
  gap: clamp(2rem, 5vw, 5rem) !important;
  align-items: start !important;
}

.theme-catl .video-insight-detail__article {
  background: #fff !important;
  border: 1px solid rgba(0, 102, 179, 0.13) !important;
  padding: clamp(2rem, 4vw, 3.5rem) !important;
}

.theme-catl .power-mascot {
  opacity: 1 !important;
}

.theme-catl .power-mascot__stage {
  animation: power-mascot-card-float 3.2s ease-in-out infinite !important;
}

.theme-catl .power-mascot__pet {
  animation: power-mascot-pet-step 1.1s ease-in-out infinite !important;
  transform-origin: 50% 82% !important;
}

.theme-catl .power-sprite {
  animation: power-mascot-sprite-wag 1.7s ease-in-out infinite !important;
  transform-origin: 50% 75% !important;
}

@keyframes power-mascot-card-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@keyframes power-mascot-pet-step {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-0.4deg); }
  50% { transform: translate3d(0, -2px, 0) rotate(0.6deg); }
}

@keyframes power-mascot-sprite-wag {
  0%, 100% { transform: rotate(-0.8deg) scale(1); }
  50% { transform: rotate(1deg) scale(1.015); }
}

@media (max-width: 980px) {
  .theme-catl .page-hero--white-paper-detail .page-hero__inner,
  .theme-catl .page-hero--video-insight-detail .page-hero__inner,
  .theme-catl .page-hero--case-studies .page-hero__inner,
  .theme-catl .video-insight-detail > .container-catl {
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }

  .theme-catl .page-hero__visual--white-paper-detail,
  .theme-catl .page-hero__visual--video-detail,
  .theme-catl .page-hero__visual--cases {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .theme-catl .catl-evidence-briefs__grid {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .catl-evidence-brief,
  .theme-catl .catl-evidence-brief:nth-child(2n) {
    border-right: 0 !important;
  }
}

@media (max-width: 760px) {
  .theme-catl .yao-header__inner {
    grid-template-columns: auto auto !important;
  }

  .theme-catl .yao-logo__official-mark {
    width: 50px !important;
    height: 40px !important;
  }

  .theme-catl .newsletter-catl__panel .newsletter-catl__form {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .newsletter-catl__panel .newsletter-catl__form button {
    width: 100% !important;
  }

  .theme-catl .catl-solution-tile__body strong,
  .theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
  .theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
    max-width: 88% !important;
  }
}

/* About/support hero proportion correction after browser QA */
.theme-catl .page-hero--about,
.theme-catl .page-hero--support {
  min-height: clamp(560px, 62vh, 720px);
}

.theme-catl .page-hero--about .page-hero__inner,
.theme-catl .page-hero--support .page-hero__inner {
  width: min(100% - 3rem, 1320px) !important;
  max-width: 1320px !important;
  grid-template-columns: minmax(520px, 0.9fr) minmax(420px, 0.74fr);
}

.theme-catl .page-hero--about .page-hero__title,
.theme-catl .page-hero--support .page-hero__title {
  max-width: 15.8ch !important;
  font-size: clamp(3rem, 4.7vw, 4.95rem) !important;
  line-height: 1.03 !important;
}

.theme-catl .support-routing-console__destinations span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.theme-catl .support-routing-console__destinations b {
  line-height: 1.25;
}

@media (max-width: 1100px) {
  .theme-catl .page-hero--about .page-hero__inner,
  .theme-catl .page-hero--support .page-hero__inner {
    grid-template-columns: 1fr;
  }
}

/* Material-driven SVG animation pass - paths derived from existing media */
.theme-catl .material-motion-svg {
  position: absolute;
  inset: 0;
  z-index: 7;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}

.theme-catl .material-motion-svg__path {
  fill: none;
  stroke: rgba(0, 132, 211, 0.78);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: url(#yaolaser-process-glow);
  vector-effect: non-scaling-stroke;
}

.theme-catl .material-motion-svg__path--secondary {
  stroke: rgba(96, 181, 228, 0.46);
  stroke-width: 1.35;
}

.theme-catl .material-motion-svg__path--scan {
  stroke: rgba(255, 255, 255, 0.72);
  stroke-width: 1.1;
  stroke-dasharray: 8 16;
}

.theme-catl .material-motion-svg__nodes circle {
  fill: #fff;
  stroke: rgba(0, 132, 211, 0.86);
  stroke-width: 2;
  filter: drop-shadow(0 0 10px rgba(0, 160, 233, 0.38));
}

.theme-catl .material-motion-svg__labels text {
  fill: rgba(7, 43, 74, 0.78);
  font-size: 24px;
  font-weight: 760;
  letter-spacing: 0;
}

.theme-catl .hero-catl__process-svg {
  inset: 4% 3% 6%;
  width: 94%;
  height: 90%;
  opacity: 0.86;
  mix-blend-mode: normal;
}

.theme-catl .catl-solution-tile__photo,
.theme-catl .catl-evidence-brief__media,
.theme-catl .catl-news-layout .news-item__thumb {
  position: relative;
  overflow: hidden;
}

.theme-catl .catl-solution-tile__trace,
.theme-catl .catl-evidence-brief__trace {
  inset: 0;
  opacity: 0.72;
}

.theme-catl .catl-solution-tile__trace .material-motion-svg__path,
.theme-catl .catl-evidence-brief__trace .material-motion-svg__path {
  stroke-width: 1.45;
  filter: none;
}

.theme-catl .catl-solution-tile__trace .material-motion-svg__nodes circle,
.theme-catl .catl-evidence-brief__trace .material-motion-svg__nodes circle {
  stroke-width: 1.6;
}

.theme-catl .hero-catl__showcase-media.has-material-motion .gsap-scan-beam {
  display: none !important;
}

.theme-catl .hero-catl__showcase-media.has-material-motion .gsap-scan-target {
  opacity: 0.16 !important;
}

.theme-catl .material-motion-svg__path.is-svg-prepped,
.theme-catl .material-motion-svg__nodes circle.is-svg-prepped,
.theme-catl .material-motion-svg__labels text.is-svg-prepped {
  will-change: stroke-dashoffset, opacity, transform;
}

@media (max-width: 760px) {
  .theme-catl .hero-catl__process-svg {
    opacity: 0.52;
  }

  .theme-catl .material-motion-svg__labels {
    display: none;
  }

  .theme-catl .catl-solution-tile__trace,
  .theme-catl .catl-evidence-brief__trace {
    opacity: 0.52;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .material-motion-svg__path,
  .theme-catl .material-motion-svg__nodes circle,
  .theme-catl .material-motion-svg__labels text {
    transition: none !important;
    animation: none !important;
  }
}

/* Hero video cleanup: no instructional overlays on the main media surface */
.theme-catl .hero-catl__showcase-media::before,
.theme-catl .hero-catl__showcase-media .hero-catl__process-svg,
.theme-catl .hero-catl__showcase-media .gsap-scan-beam,
.theme-catl .hero-catl__showcase-media .gsap-scan-target {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .catl-process-stage__beam {
    animation: none !important;
  }
}

/* CATL benchmark pass 18 - enterprise news list */
.theme-catl .catl-news-benchmark {
  background:
    linear-gradient(180deg, #f7fbff 0%, #fff 100%);
}

.theme-catl .catl-news-benchmark .news-section__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2rem;
  margin-bottom: 2rem;
}

.theme-catl .catl-news-benchmark .news-section__title {
  margin: 0;
  font-size: clamp(2.2rem, 4.4vw, 4.6rem);
  font-weight: 400;
  line-height: 1;
}

.theme-catl .catl-news-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
  gap: 1px;
  background: rgba(16,32,51,0.08);
  border: 1px solid rgba(16,32,51,0.08);
}

.theme-catl .catl-news-layout .news-item--featured {
  margin: 0;
  border: 0;
  box-shadow: none;
  min-height: 420px;
}

.theme-catl .catl-news-list {
  display: grid;
  gap: 1px;
  background: rgba(16,32,51,0.08);
}

.theme-catl .catl-news-list .news-item--compact {
  min-height: 140px;
  border: 0;
  box-shadow: none;
  background: #fff;
}

.theme-catl .catl-news-list .news-item__title {
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  line-height: 1.35;
}

@media (max-width: 980px) {
  .theme-catl .catl-news-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .theme-catl .catl-news-benchmark .news-section__head {
    grid-template-columns: 1fr;
  }

  .theme-catl .catl-news-layout .news-item--featured {
    min-height: auto;
  }
}

/* CATL benchmark pass 19 - restrained motion direction */
.theme-catl .hero-catl__blueprint,
.theme-catl .line-explorer__station,
.theme-catl .process-orbit__chip,
.theme-catl .quality-gate-light,
.theme-catl .yaolaser-twin-node,
.theme-catl .footer-node {
  animation: none !important;
}

.theme-catl .hero-catl.is-scene-active .hero-catl__blueprint,
.theme-catl .hero-catl.is-cad-ready .hero-catl__blueprint,
.theme-catl .hero-catl:hover .hero-catl__blueprint {
  transform: none !important;
  filter: drop-shadow(0 16px 38px rgba(0, 68, 118, 0.12));
}

.theme-catl .hero-cad-canvas {
  opacity: 0.34 !important;
}

.theme-catl .hero-hud-card i::before,
.theme-catl .line-readout__bars i,
.theme-catl .solution-telemetry__bars i,
.theme-catl .solution-laser-head,
.theme-catl .solution-weld-seam,
.theme-catl .line-flow-packet {
  animation: none !important;
}

.theme-catl .engineering-scroll-rail {
  display: none !important;
}

.theme-catl .catl-solution-tile {
  transition: filter 520ms var(--ease-catl), transform 520ms var(--ease-catl);
}

.theme-catl .catl-solution-tile:hover {
  transform: translateY(-2px);
  filter: saturate(1.04) contrast(1.02);
}

.theme-catl .catl-solution-tile:hover .catl-solution-tile__body {
  transform: translateY(-0.25rem);
}

.theme-catl .catl-solution-tile__visual {
  transition: opacity 640ms var(--ease-catl), transform 640ms var(--ease-catl);
}

.theme-catl .catl-solution-tile:hover .catl-solution-tile__visual {
  opacity: 0.76;
  transform: perspective(900px) rotateX(58deg) rotateZ(-18deg) translateY(-5px);
}

.theme-catl .catl-process-stage__beam {
  stroke-dasharray: 220 780;
  animation: yaolaser-enterprise-beam 9s cubic-bezier(0.16, 1, 0.3, 1) infinite;
  filter: none;
}

@keyframes yaolaser-enterprise-beam {
  0% { stroke-dashoffset: 260; opacity: 0.18; }
  18% { opacity: 0.95; }
  62% { stroke-dashoffset: -520; opacity: 0.86; }
  100% { stroke-dashoffset: -780; opacity: 0.16; }
}

@media (prefers-reduced-motion: no-preference) {
  .theme-catl.motion-enhanced .catl-solution-tile,
  .theme-catl.motion-enhanced .catl-process-stage,
  .theme-catl.motion-enhanced .catl-process-step,
  .theme-catl.motion-enhanced .catl-technology-vision__inner,
  .theme-catl.motion-enhanced .catl-news-layout {
    opacity: 0;
    transform: translateY(28px);
    transition:
      opacity 760ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 760ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .theme-catl.motion-enhanced .catl-solution-tile.is-motion-visible,
  .theme-catl.motion-enhanced .catl-process-stage.is-motion-visible,
  .theme-catl.motion-enhanced .catl-process-step.is-motion-visible,
  .theme-catl.motion-enhanced .catl-technology-vision__inner.is-motion-visible,
  .theme-catl.motion-enhanced .catl-news-layout.is-motion-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .theme-catl.motion-enhanced .catl-solution-tile:nth-child(2) { transition-delay: 80ms; }
  .theme-catl.motion-enhanced .catl-solution-tile:nth-child(3) { transition-delay: 160ms; }
  .theme-catl.motion-enhanced .catl-solution-tile:nth-child(4) { transition-delay: 240ms; }
  .theme-catl.motion-enhanced .catl-process-step:nth-child(2) { transition-delay: 70ms; }
  .theme-catl.motion-enhanced .catl-process-step:nth-child(3) { transition-delay: 140ms; }
  .theme-catl.motion-enhanced .catl-process-step:nth-child(4) { transition-delay: 210ms; }
}

@media (max-width: 760px) {
  .theme-catl .hero-cad-canvas {
    display: none !important;
  }

  .theme-catl .catl-solution-tile:hover,
  .theme-catl .catl-solution-tile:hover .catl-solution-tile__visual,
  .theme-catl .catl-solution-tile:hover .catl-solution-tile__body {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .catl-process-stage__beam {
    animation: none !important;
  }
}

/* CATL benchmark pass 20 - never hide content for motion */
.theme-catl.motion-enhanced .catl-solution-tile,
.theme-catl.motion-enhanced .catl-process-stage,
.theme-catl.motion-enhanced .catl-process-step,
.theme-catl.motion-enhanced .catl-technology-vision__inner,
.theme-catl.motion-enhanced .catl-news-layout,
.theme-catl.motion-enhanced .catl-solution-tile.is-motion-visible,
.theme-catl.motion-enhanced .catl-process-stage.is-motion-visible,
.theme-catl.motion-enhanced .catl-process-step.is-motion-visible,
.theme-catl.motion-enhanced .catl-technology-vision__inner.is-motion-visible,
.theme-catl.motion-enhanced .catl-news-layout.is-motion-visible {
  opacity: 1 !important;
  transform: none !important;
}

.theme-catl .catl-solution-tile,
.theme-catl .catl-process-stage,
.theme-catl .catl-process-step,
.theme-catl .catl-technology-vision__inner,
.theme-catl .catl-news-layout {
  will-change: auto;
}

/* Taste/Impeccable correction pass 21 - replace fake HUDs with credible enterprise media */
.theme-catl .hero-catl__blueprint,
.theme-catl .hero-catl__hud,
.theme-catl .hero-cad-canvas,
.theme-catl .cad-measure,
.theme-catl .cad-inspection-lens,
.theme-catl .sticky-eyebrow,
.theme-catl .engineering-scroll-rail {
  display: none !important;
}

.theme-catl .hero-catl__showcase {
  position: absolute;
  z-index: 5;
  right: clamp(2rem, 7vw, 8rem);
  top: 50%;
  width: min(42vw, 660px);
  transform: translateY(-44%);
  color: var(--yao-ink);
}

.theme-catl .hero-catl__showcase-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eef6fb;
  border: 1px solid rgba(0, 102, 179, 0.16);
  box-shadow: 0 24px 70px rgba(16, 48, 80, 0.12);
}

.theme-catl .hero-catl__showcase-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.16));
  pointer-events: none;
}

.theme-catl .hero-catl__showcase-media video,
.theme-catl .hero-catl__showcase-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.92) contrast(1.02) brightness(1.06);
  animation: none !important;
}

.theme-catl .hero-catl__showcase-fallback {
  width: 100%;
  height: 100%;
  background:
    linear-gradient(90deg, rgba(0,102,179,0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,102,179,0.045) 1px, transparent 1px),
    linear-gradient(135deg, #f7fbff, #e8f4fb);
  background-size: 52px 52px, 52px 52px, auto;
}

.theme-catl .hero-catl__showcase-caption {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(16,32,51,0.12);
  font-size: 0.82rem;
}

.theme-catl .hero-catl__showcase-caption span {
  color: rgba(16,32,51,0.58);
}

.theme-catl .hero-catl__showcase-caption strong {
  color: var(--yao-ink);
  font-weight: 700;
}

.theme-catl .catl-process-proof {
  margin: 2.5rem 0 2.8rem;
  padding: clamp(1.4rem, 2.2vw, 2.2rem);
  background: #fff;
  border-top: 1px solid rgba(16,32,51,0.10);
  border-bottom: 1px solid rgba(16,32,51,0.10);
}

.theme-catl .catl-process-proof__track {
  position: relative;
  height: 2px;
  background: rgba(0,102,179,0.14);
}

.theme-catl .catl-process-proof__track span {
  display: block;
  width: 42%;
  height: 100%;
  background: var(--catl-blue);
  animation: yaolaser-proof-track 8s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.theme-catl .catl-process-proof__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 1.4rem;
  color: rgba(16,32,51,0.62);
  font-size: 0.82rem;
  font-weight: 700;
}

.theme-catl .catl-process-proof__items span {
  padding-top: 0.85rem;
  border-top: 1px solid rgba(16,32,51,0.08);
}

@keyframes yaolaser-proof-track {
  0%, 100% { transform: translateX(0); opacity: 0.45; }
  45%, 65% { transform: translateX(138%); opacity: 0.9; }
}

.theme-catl .news-item__media-card {
  display: grid;
  align-content: end;
  gap: 0.65rem;
  width: 100%;
  height: 100%;
  min-height: 230px;
  padding: 1.4rem;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(0,0,0,0.22)),
    linear-gradient(135deg, #0066b3, #00a0e9);
}

.theme-catl .news-item__media-card span {
  color: rgba(255,255,255,0.74);
  font-size: 0.78rem;
  font-weight: 700;
}

.theme-catl .news-item__media-card strong {
  max-width: 14ch;
  color: #fff;
  font-size: clamp(1.5rem, 2.1vw, 2.4rem);
  line-height: 1.05;
}

.theme-catl .newsletter-catl__grid {
  grid-template-columns: minmax(0, 0.8fr) minmax(360px, 0.7fr) !important;
  align-items: end;
}

.theme-catl .newsletter-catl__twin,
.theme-catl .newsletter-catl__signal,
.theme-catl .newsletter-catl__chip {
  display: none !important;
}

.theme-catl .newsletter-catl__form {
  min-height: 88px;
  box-shadow: none !important;
  border: 1px solid rgba(16,32,51,0.14);
  background: #fff;
}

@media (max-width: 1100px) {
  .theme-catl .hero-catl__showcase {
    right: 1.5rem;
    width: min(44vw, 520px);
    opacity: 0.42;
  }
}

@media (max-width: 760px) {
  .theme-catl .hero-catl__showcase {
    position: relative;
    right: auto;
    top: auto;
    width: calc(100% - 3rem);
    margin: -2rem 1.5rem 2rem;
    transform: none;
    opacity: 1;
  }

  .theme-catl .hero-catl__showcase-caption {
    display: none;
  }

  .theme-catl .catl-process-proof__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .theme-catl .newsletter-catl__grid {
    grid-template-columns: 1fr !important;
  }
}

/* Taste/Impeccable correction pass 22 - real material art direction */
.theme-catl .hero-catl__media {
  opacity: 0.1;
  mix-blend-mode: multiply;
  filter: saturate(0.72) contrast(0.95) brightness(1.08);
}

.theme-catl .hero-catl__media::after {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.92) 42%, rgba(255,255,255,0.7) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(245,250,254,0.94));
}

.theme-catl .hero-catl__showcase {
  width: min(43vw, 700px);
}

.theme-catl .hero-catl__showcase-media {
  border-radius: 4px;
  background: #f6fbff;
  box-shadow: 0 28px 80px rgba(18, 56, 92, 0.13);
}

.theme-catl .hero-catl__showcase-media::before {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.5);
  pointer-events: none;
}

.theme-catl .hero-catl__showcase-media img {
  transform: scale(1.015);
}

.theme-catl .catl-solution-tile {
  isolation: isolate;
  background: #102033;
}

.theme-catl .catl-solution-tile__photo {
  position: absolute;
  inset: 0;
  z-index: -3;
  overflow: hidden;
  background: #102033;
}

.theme-catl .catl-solution-tile__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.82) contrast(1.06) brightness(0.78);
  transform: scale(1.03);
  transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1), filter 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .catl-solution-tile::before {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 56px 56px;
}

.theme-catl .catl-solution-tile::after {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(4, 18, 30, 0.08) 0%, rgba(5, 18, 32, 0.52) 42%, rgba(5, 18, 32, 0.86) 100%),
    linear-gradient(90deg, rgba(0,102,179,0.4), transparent 56%);
}

.theme-catl .catl-solution-tile:hover .catl-solution-tile__photo img {
  filter: saturate(0.94) contrast(1.08) brightness(0.86);
  transform: scale(1.075);
}

.theme-catl .catl-solution-tile__visual {
  display: none;
}

.theme-catl .catl-solution-tile__index,
.theme-catl .catl-solution-tile__body,
.theme-catl .catl-solution-tile__arrow {
  z-index: 1;
}

.theme-catl .news-item__thumb img {
  filter: saturate(0.88) contrast(1.03) brightness(1.02);
}

.theme-catl .news-item__thumb[style*="background-image"] {
  background-size: cover;
  background-position: center;
}

.theme-catl .mask-reveal {
  display: block !important;
  overflow: visible !important;
}

.theme-catl .mask-reveal__inner {
  display: inline !important;
  transform: none !important;
  transition: none !important;
}

@media (max-width: 1100px) {
  .theme-catl .hero-catl__showcase {
    opacity: 0.5;
  }
}

@media (max-width: 760px) {
  .theme-catl .hero-catl__media {
    opacity: 0.06;
  }

  .theme-catl .hero-catl__showcase {
    opacity: 1;
  }

  .theme-catl .catl-solution-tile {
    min-height: 460px;
  }
}

/* CATL-like gateway hero pass 23 - immersive video plus destination rail */
.theme-catl .hero-catl {
  min-height: 760px;
  height: min(100vh, 980px);
  padding-bottom: clamp(8rem, 12vh, 11rem);
}

.theme-catl .hero-catl__content {
  max-width: min(48vw, 760px);
  padding-right: 0;
}

.theme-catl .hero-catl__title {
  max-width: 11.5ch;
  font-size: clamp(3.7rem, 5.7vw, 6.8rem);
  line-height: 1.02;
}

.theme-catl .hero-catl__lede {
  max-width: 58ch;
}

.theme-catl .hero-catl__actions {
  flex-wrap: wrap;
}

.theme-catl .hero-catl__cta {
  min-height: 3.25rem;
  white-space: nowrap;
}

.theme-catl .hero-catl__showcase {
  right: clamp(1.5rem, 4.8vw, 5.8rem);
  top: 48%;
  width: min(47vw, 860px);
  transform: translateY(-48%);
}

.theme-catl .hero-catl__showcase-media {
  aspect-ratio: 16 / 9.4;
  border-radius: 0;
  border: 1px solid rgba(0, 102, 179, 0.12);
  box-shadow: 0 38px 110px rgba(18, 54, 84, 0.14);
}

.theme-catl .hero-catl__showcase-media::before {
  inset: 18px;
  border-color: rgba(255,255,255,0.55);
}

.theme-catl .hero-catl__showcase-media::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.12)),
    linear-gradient(110deg, rgba(0,102,179,0.08), transparent 42%);
}

.theme-catl .hero-catl__showcase-media video,
.theme-catl .hero-catl__showcase-media img {
  filter: saturate(0.96) contrast(1.02) brightness(1.04);
}

.theme-catl .hero-catl__showcase-caption {
  padding-top: 1rem;
  font-size: 0.86rem;
}

.theme-catl .hero-catl__gateway {
  position: absolute;
  z-index: 7;
  left: 50%;
  bottom: clamp(1.5rem, 4vh, 3.2rem);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(86vw, 1420px);
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 102, 179, 0.16);
  box-shadow: 0 26px 70px rgba(18, 54, 84, 0.1);
}

.theme-catl .hero-catl__gateway a {
  position: relative;
  display: grid;
  gap: 0.55rem;
  min-height: 112px;
  padding: clamp(1.15rem, 1.6vw, 1.6rem);
  color: var(--yao-ink);
  text-decoration: none;
  transition: background 420ms var(--ease-catl), transform 420ms var(--ease-catl);
}

.theme-catl .hero-catl__gateway a + a {
  border-left: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .hero-catl__gateway a::after {
  content: "→";
  position: absolute;
  right: 1.25rem;
  bottom: 1.05rem;
  color: var(--yao-blue);
  opacity: 0.65;
  transition: transform 420ms var(--ease-catl), opacity 420ms var(--ease-catl);
}

.theme-catl .hero-catl__gateway span {
  color: var(--yao-blue);
  font-size: 0.82rem;
  font-weight: 800;
}

.theme-catl .hero-catl__gateway strong {
  max-width: 26ch;
  padding-right: 2rem;
  color: var(--yao-ink);
  font-size: clamp(1rem, 1.05vw, 1.16rem);
  line-height: 1.32;
  font-weight: 650;
}

.theme-catl .hero-catl__gateway a:hover {
  background: rgba(237, 247, 255, 0.78);
  transform: translateY(-2px);
}

.theme-catl .hero-catl__gateway a:hover::after {
  opacity: 1;
  transform: translateX(4px);
}

.theme-catl .hero-catl__metrics {
  display: none;
}

@media (max-width: 1280px) {
  .theme-catl .hero-catl__content {
    max-width: min(52vw, 720px);
  }

  .theme-catl .hero-catl__showcase {
    width: min(43vw, 680px);
    opacity: 0.7;
  }

  .theme-catl .hero-catl__title {
    font-size: clamp(3.2rem, 5vw, 5.8rem);
  }
}

@media (max-width: 900px) {
  .theme-catl .hero-catl {
    height: auto;
    min-height: 0;
    padding-bottom: 2rem;
  }

  .theme-catl .hero-catl__content {
    max-width: none;
  }

  .theme-catl .hero-catl__showcase {
    position: relative;
    right: auto;
    top: auto;
    width: calc(100% - 2rem);
    margin: 0 1rem 1rem;
    transform: none;
    opacity: 1;
  }

  .theme-catl .hero-catl__gateway {
    position: relative;
    left: auto;
    bottom: auto;
    grid-template-columns: 1fr;
    width: calc(100% - 2rem);
    margin: 1rem auto 0;
    transform: none;
  }

  .theme-catl .hero-catl__gateway a + a {
    border-left: 0;
    border-top: 1px solid rgba(16, 32, 51, 0.1);
  }
}

/* CATL-like gateway hero pass 24 - proportion and load-state correction */
.theme-catl .hero-catl__content {
  width: min(46vw, 720px);
  max-width: none;
  margin-left: clamp(2rem, 10vw, 13rem);
  margin-right: auto;
  padding: clamp(7rem, 13vh, 10rem) 0 clamp(12rem, 16vh, 14rem);
  justify-content: center;
}

.theme-catl .hero-catl__title {
  max-width: 13.2ch;
  font-size: clamp(3.25rem, 4.85vw, 5.65rem);
  line-height: 1.04;
}

.theme-catl .hero-catl__showcase {
  top: 46%;
  width: min(45vw, 780px);
  transform: translateY(-46%);
}

.theme-catl .hero-catl__showcase-media {
  background:
    linear-gradient(90deg, rgba(0,102,179,0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,102,179,0.045) 1px, transparent 1px),
    linear-gradient(135deg, #f8fcff, #eaf5fb);
  background-size: 56px 56px, 56px 56px, auto;
}

.theme-catl .hero-catl__showcase-media video {
  display: block;
  background: transparent;
}

@media (max-width: 1280px) {
  .theme-catl .hero-catl__content {
    width: min(52vw, 680px);
    margin-left: clamp(1.5rem, 6vw, 6rem);
  }

  .theme-catl .hero-catl__title {
    font-size: clamp(2.85rem, 4.5vw, 4.8rem);
  }
}

@media (max-width: 900px) {
  .theme-catl .hero-catl__showcase {
    width: calc(100% - 2rem) !important;
    margin: 1.5rem 1rem 1.25rem !important;
  }

  .theme-catl .hero-catl__showcase-media {
    aspect-ratio: 16 / 9 !important;
  }

  .theme-catl .hero-catl__content {
    width: auto;
    margin-left: 0;
    min-height: 0 !important;
    padding: 1.5rem 1.25rem 2rem !important;
    justify-content: flex-start !important;
  }

  .theme-catl .hero-catl__title {
    max-width: 12ch;
    font-size: clamp(2.45rem, 10vw, 3.45rem);
  }
}

/* Modern enterprise hero pass 25 - less boxed, more spatial tension */
.theme-catl .hero-catl {
  min-height: 790px;
  background:
    radial-gradient(circle at 72% 38%, rgba(0, 148, 216, 0.16), transparent 34%),
    linear-gradient(112deg, #ffffff 0%, #f8fbfd 46%, #eaf5fb 100%);
}

.theme-catl .hero-catl::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: 34%;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(245,250,253,0.9));
  pointer-events: none;
}

.theme-catl .hero-catl__media {
  opacity: 0.055;
}

.theme-catl .hero-catl__overlay {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.82) 44%, rgba(255,255,255,0.36) 100%),
    radial-gradient(circle at 78% 48%, rgba(0,102,179,0.16), transparent 30%);
}

.theme-catl .hero-catl__content {
  z-index: 8;
  width: min(43vw, 690px);
  margin-left: clamp(2rem, 8vw, 10rem);
  padding-top: clamp(7.5rem, 14vh, 10.5rem);
  padding-bottom: clamp(12rem, 16vh, 14rem);
}

.theme-catl .hero-catl__eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 0.45rem 0.7rem;
  color: #005a9f;
  background: rgba(0, 122, 194, 0.07);
  border: 1px solid rgba(0, 102, 179, 0.12);
  letter-spacing: 0.08em;
}

.theme-catl .hero-catl__title {
  max-width: 12ch;
  margin-top: 1.5rem;
  color: #0d1e31 !important;
  font-size: clamp(3.45rem, 4.9vw, 5.85rem);
  font-weight: 330;
  line-height: 0.99;
  text-shadow: none;
  text-wrap: balance;
}

.theme-catl .hero-catl__title strong {
  color: #0066b3 !important;
  font-weight: 720;
}

.theme-catl .hero-catl__lede {
  max-width: 50ch;
  margin-top: 1.35rem;
  color: rgba(16, 32, 51, 0.72);
  font-size: clamp(1rem, 1.08vw, 1.12rem);
  line-height: 1.8;
}

.theme-catl .hero-catl__actions {
  gap: 0.75rem;
  margin-top: 1.8rem;
}

.theme-catl .hero-catl__cta {
  border-radius: 0;
  min-height: 3.35rem;
  padding: 0.95rem 1.15rem;
  letter-spacing: 0.01em;
}

.theme-catl .hero-catl__cta--primary {
  background: #0078c8;
  color: #fff;
  box-shadow: 0 14px 32px rgba(0, 104, 177, 0.18);
}

.theme-catl .hero-catl__cta--secondary {
  background: rgba(255,255,255,0.58);
  border-color: rgba(0, 102, 179, 0.28);
  color: #005a9f;
}

.theme-catl .hero-catl__showcase {
  z-index: 6;
  right: clamp(-1rem, 2.2vw, 3rem);
  top: 46%;
  width: min(51vw, 920px);
  transform: translateY(-47%);
}

.theme-catl .hero-catl__showcase-media {
  aspect-ratio: 16 / 9.2;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: 0 44px 120px rgba(13, 42, 70, 0.18);
}

.theme-catl .hero-catl__showcase-media::before {
  inset: 22px;
  border-color: rgba(255, 255, 255, 0.52);
}

.theme-catl .hero-catl__showcase-media::after {
  background:
    linear-gradient(90deg, rgba(0, 102, 179, 0.1), transparent 34%),
    linear-gradient(180deg, transparent 62%, rgba(4, 20, 36, 0.16));
}

.theme-catl .hero-catl__showcase-caption {
  margin-top: 1rem;
  padding: 0;
  border: 0;
  color: #102033;
}

.theme-catl .hero-catl__gateway {
  z-index: 9;
  bottom: clamp(1.4rem, 3.5vh, 2.7rem);
  width: min(86vw, 1480px);
  background: #071523;
  border: 0;
  box-shadow: 0 26px 80px rgba(7, 21, 35, 0.2);
}

.theme-catl .hero-catl__gateway a {
  min-height: 126px;
  padding: clamp(1.25rem, 1.65vw, 1.85rem);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.06), transparent 44%);
}

.theme-catl .hero-catl__gateway a + a {
  border-left-color: rgba(255,255,255,0.12);
}

.theme-catl .hero-catl__gateway a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 3px;
  background: #00a0e9;
  transition: width 520ms var(--ease-catl);
}

.theme-catl .hero-catl__gateway a::after {
  color: #9ddcff;
}

.theme-catl .hero-catl__gateway span {
  color: #8bd7ff;
  font-size: 0.78rem;
}

.theme-catl .hero-catl__gateway strong {
  color: #fff;
  font-weight: 620;
}

.theme-catl .hero-catl__gateway a:hover {
  background:
    linear-gradient(135deg, rgba(0,160,233,0.22), rgba(255,255,255,0.04));
}

.theme-catl .hero-catl__gateway a:hover::before {
  width: 100%;
}

@media (max-width: 1280px) {
  .theme-catl .hero-catl__content {
    width: min(47vw, 640px);
    margin-left: clamp(1.5rem, 5vw, 5rem);
  }

  .theme-catl .hero-catl__showcase {
    width: min(47vw, 710px);
    opacity: 1;
  }
}

@media (max-width: 900px) {
  .theme-catl .hero-catl {
    min-height: 0;
  }

  .theme-catl .hero-catl::after {
    height: 22%;
  }

  .theme-catl .hero-catl__showcase {
    right: auto;
    width: calc(100% - 2rem) !important;
    margin: 1.5rem 1rem 0.75rem !important;
  }

  .theme-catl .hero-catl__content {
    width: auto;
    margin-left: 0;
    padding: 1.1rem 1.25rem 2rem !important;
  }

  .theme-catl .hero-catl__eyebrow {
    margin-top: 0.8rem;
  }

  .theme-catl .hero-catl__gateway {
    background: #071523;
  }

  .theme-catl .hero-catl__gateway a + a {
    border-top-color: rgba(255,255,255,0.12);
  }
}

/* Modern enterprise hero pass 26 - align media height with copy block */
@media (min-width: 901px) {
  .theme-catl .hero-catl__showcase {
    top: clamp(3.4rem, 5.4vh, 4.35rem);
    right: clamp(-1rem, 2.2vw, 3rem);
    width: min(49vw, 930px);
    transform: none;
  }

  .theme-catl .hero-catl__showcase-media {
    aspect-ratio: 1.48;
  }

  .theme-catl .hero-catl__content {
    padding-top: clamp(5rem, 9vh, 6.5rem);
    padding-bottom: clamp(11rem, 15vh, 13rem);
  }
}

/* Modern enterprise pass 27 - gateway routing hierarchy */
.theme-catl .catl-solution-panorama {
  padding-top: clamp(6rem, 9vw, 10rem);
  background:
    linear-gradient(180deg, #fff 0%, #f8fbfd 44%, #fff 100%);
}

.theme-catl .catl-solution-panorama .catl-section-header {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(280px, 0.52fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  margin-bottom: clamp(2.6rem, 5vw, 4.5rem);
}

.theme-catl .catl-solution-panorama .catl-section-header h2 {
  max-width: 12ch;
  font-size: clamp(3rem, 6.8vw, 6rem);
  line-height: 0.98;
  letter-spacing: 0;
}

.theme-catl .catl-solution-panorama .catl-section-header p {
  max-width: 42ch;
  margin: 0 0 0.45rem;
  color: #51677a;
  font-size: clamp(1rem, 1.05vw, 1.15rem);
  line-height: 1.72;
}

.theme-catl .catl-solution-wall {
  width: min(86vw, 1480px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1px;
  min-height: 0;
  border: 1px solid rgba(16, 32, 51, 0.1);
  background: rgba(16, 32, 51, 0.1);
}

.theme-catl .catl-solution-tile {
  grid-column: span 6;
  min-height: clamp(500px, 48vw, 620px);
  padding: clamp(2rem, 3.4vw, 4.2rem);
  align-content: end;
}

.theme-catl .catl-solution-tile:nth-child(n + 3) {
  min-height: clamp(320px, 28vw, 420px);
}

.theme-catl .catl-solution-tile::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.07) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.055) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: 0.68;
}

.theme-catl .catl-solution-tile::after {
  background:
    linear-gradient(180deg, rgba(4, 18, 30, 0.02) 0%, rgba(5, 18, 32, 0.36) 42%, rgba(5, 18, 32, 0.9) 100%),
    linear-gradient(115deg, rgba(0, 102, 179, 0.38), transparent 52%);
}

.theme-catl .catl-solution-tile__photo img {
  filter: saturate(0.9) contrast(1.06) brightness(0.82);
  transform: scale(1.02);
}

.theme-catl .catl-solution-tile__body {
  max-width: 520px;
  gap: 0.95rem;
}

.theme-catl .catl-solution-tile__kicker {
  color: #9bdcff;
}

.theme-catl .catl-solution-tile__meta {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.78rem;
}

.theme-catl .catl-solution-tile strong {
  max-width: 17ch;
  font-size: clamp(2rem, 3.15vw, 3.55rem);
  line-height: 0.98;
  font-weight: 560;
}

.theme-catl .catl-solution-tile:nth-child(n + 3) strong {
  max-width: 22ch;
  font-size: clamp(1.55rem, 2vw, 2.25rem);
  line-height: 1.08;
}

.theme-catl .catl-solution-tile__copy {
  max-width: 46ch;
  color: rgba(255, 255, 255, 0.82);
}

.theme-catl .catl-solution-tile:hover .catl-solution-tile__body {
  transform: translateY(-0.3rem);
}

@media (max-width: 1100px) {
  .theme-catl .catl-solution-panorama .catl-section-header {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .theme-catl .catl-solution-wall {
    width: calc(100% - 2rem);
    grid-template-columns: 1fr;
  }

  .theme-catl .catl-solution-tile {
    grid-column: auto;
    min-height: 460px;
  }

  .theme-catl .catl-solution-tile:nth-child(n + 3) {
    min-height: 360px;
  }
}

@media (max-width: 640px) {
  .theme-catl .catl-solution-panorama {
    padding-top: 4.5rem;
  }

  .theme-catl .catl-solution-panorama .catl-section-header h2 {
    font-size: clamp(2.5rem, 12vw, 4rem);
  }

  .theme-catl .catl-solution-tile {
    min-height: 420px;
    padding: 1.5rem;
  }
}

/* Modern enterprise pass 28 - authority proof band */
.theme-catl .catl-technology-vision {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 22%, rgba(108, 218, 255, 0.28), transparent 32%),
    linear-gradient(120deg, #0068b5 0%, #008bd1 58%, #00a0e9 100%);
}

.theme-catl .catl-technology-vision::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.12) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.09) 1px, transparent 1px);
  background-size: 88px 88px;
  mask-image: linear-gradient(90deg, transparent, #000 28%, #000 78%, transparent);
  opacity: 0.42;
  pointer-events: none;
}

.theme-catl .catl-technology-vision__inner {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.78fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
  min-height: clamp(560px, 56vw, 720px);
}

.theme-catl .catl-technology-vision__copy {
  display: grid;
  gap: 1.4rem;
  align-content: center;
}

.theme-catl .catl-technology-vision h2 {
  max-width: 12ch;
  font-size: clamp(3.2rem, 6.6vw, 6rem);
  line-height: 0.98;
  letter-spacing: 0;
}

.theme-catl .catl-technology-vision p {
  max-width: 48ch;
}

.theme-catl .catl-technology-vision__proof {
  display: grid;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.11);
}

.theme-catl .catl-technology-vision__proof div {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 0.45rem 1.25rem;
  padding: clamp(1.35rem, 2vw, 2rem);
  background:
    linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0.05));
}

.theme-catl .catl-technology-vision__proof div + div {
  border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.theme-catl .catl-technology-vision__proof span {
  color: #bcecff;
  font-size: 0.8rem;
  font-weight: 800;
}

.theme-catl .catl-technology-vision__proof strong {
  color: #fff;
  font-size: clamp(1.25rem, 1.55vw, 1.7rem);
  line-height: 1.12;
}

.theme-catl .catl-technology-vision__proof p {
  grid-column: 2;
  max-width: 44ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.95rem;
  line-height: 1.65;
}

@media (max-width: 960px) {
  .theme-catl .catl-technology-vision__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .theme-catl .catl-technology-vision__proof {
    max-width: 720px;
  }
}

@media (max-width: 640px) {
  .theme-catl .catl-technology-vision h2 {
    font-size: clamp(2.5rem, 11vw, 4rem);
  }

  .theme-catl .catl-technology-vision__proof div {
    grid-template-columns: 1fr;
  }

  .theme-catl .catl-technology-vision__proof p {
    grid-column: auto;
  }
}

/* Deployable inner page pass 29 - case studies */
.theme-catl .page-hero--case-studies .page-hero__title {
  max-width: 16ch;
}

.theme-catl .case-study-page__intro {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(280px, 0.54fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.theme-catl .case-study-page__intro h2,
.theme-catl .case-study-proof__head h2,
.theme-catl .case-study-cta h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2.2rem, 4.8vw, 5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .case-study-page__intro h2 {
  max-width: 11ch;
}

.theme-catl .case-study-page__intro p {
  max-width: 46ch;
  margin: 0;
  color: #51677a;
  font-size: clamp(1rem, 1.05vw, 1.12rem);
  line-height: 1.72;
}

.theme-catl .case-study-page__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid rgba(16, 32, 51, 0.1);
  background: rgba(16, 32, 51, 0.1);
  gap: 1px;
}

.theme-catl .case-study-card {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  min-height: 360px;
  background: #fff;
}

.theme-catl .case-study-card__media {
  position: relative;
  overflow: hidden;
  min-height: 280px;
  background: #eef6fb;
}

.theme-catl .case-study-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 56%, rgba(4, 18, 30, 0.2)),
    linear-gradient(90deg, rgba(0, 102, 179, 0.14), transparent 54%);
  pointer-events: none;
}

.theme-catl .case-study-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.9) contrast(1.04);
  transform: scale(1.02);
  transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1), filter 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .case-study-card:hover .case-study-card__media img {
  filter: saturate(0.98) contrast(1.06);
  transform: scale(1.065);
}

.theme-catl .case-study-card__body {
  display: grid;
  align-content: center;
  gap: 0.8rem;
  padding: clamp(1.5rem, 2.6vw, 3rem);
}

.theme-catl .case-study-card__body > span,
.theme-catl .case-study-card__body small {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .case-study-card__body small {
  color: #7b8d9c;
}

.theme-catl .case-study-card h3 {
  max-width: 20ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.45rem, 2vw, 2.2rem);
  font-weight: 560;
  line-height: 1.08;
  text-wrap: balance;
}

.theme-catl .case-study-card p {
  max-width: 44ch;
  margin: 0;
  color: #51677a;
  line-height: 1.68;
}

.theme-catl .case-study-card__body a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  margin-top: 0.4rem;
  color: var(--catl-blue);
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
  transition: gap 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .case-study-card__body a:hover {
  gap: 0.9rem;
}

.theme-catl .case-study-proof {
  background:
    linear-gradient(180deg, #f8fbfd 0%, #fff 100%);
}

.theme-catl .case-study-proof__head {
  max-width: 760px;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.theme-catl .case-study-proof__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(16, 32, 51, 0.12);
  border-bottom: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .case-study-proof__items div {
  padding: clamp(1.5rem, 2.5vw, 2.4rem);
}

.theme-catl .case-study-proof__items div + div {
  border-left: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .case-study-proof__items span {
  display: block;
  margin-bottom: 1.8rem;
  color: var(--catl-blue);
  font-size: 0.8rem;
  font-weight: 800;
}

.theme-catl .case-study-proof__items h3 {
  margin: 0 0 0.75rem;
  color: var(--text-primary);
  font-size: 1.25rem;
}

.theme-catl .case-study-proof__items p {
  margin: 0;
  color: #51677a;
  line-height: 1.7;
}

.theme-catl .case-study-cta .container-catl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
}

.theme-catl .case-study-cta h2 {
  max-width: 18ch;
  font-size: clamp(2rem, 4vw, 4.4rem);
}

@media (max-width: 1100px) {
  .theme-catl .case-study-page__intro,
  .theme-catl .case-study-cta .container-catl {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .theme-catl .case-study-page__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .theme-catl .case-study-card {
    grid-template-columns: 1fr;
  }

  .theme-catl .case-study-proof__items {
    grid-template-columns: 1fr;
  }

  .theme-catl .case-study-proof__items div + div {
    border-left: 0;
    border-top: 1px solid rgba(16, 32, 51, 0.1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .catl-process-proof__track span {
    animation: none !important;
  }
}

/* Deployable inner page pass 30 - support, corporate, careers */
.theme-catl .page-hero--support .page-hero__title,
.theme-catl .page-hero--corporate .page-hero__title,
.theme-catl .page-hero--careers .page-hero__title {
  max-width: 17ch;
}

.theme-catl .inner-routing__intro {
  display: grid;
  grid-template-columns: minmax(0, 0.26fr) minmax(280px, 0.74fr);
  gap: clamp(1.4rem, 4vw, 4.5rem);
  align-items: start;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.theme-catl .inner-routing.section-catl {
  padding-top: clamp(4rem, 6vw, 6.5rem);
  padding-bottom: clamp(4.5rem, 7vw, 7.5rem);
}

.theme-catl .inner-routing__intro h2,
.theme-catl .inner-evidence__body h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2.1rem, 4.6vw, 4.8rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .inner-routing__intro h2 {
  max-width: 13ch;
}

.theme-catl .inner-route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid rgba(16, 32, 51, 0.11);
  background: rgba(16, 32, 51, 0.1);
  gap: 1px;
}

.theme-catl .inner-route-card {
  display: flex;
  flex-direction: column;
  min-height: 390px;
  padding: clamp(1.6rem, 2.6vw, 3.1rem);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,251,254,0.92)),
    linear-gradient(135deg, rgba(0,102,179,0.08), transparent 48%);
  overflow: hidden;
  position: relative;
}

.theme-catl .inner-route-card::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 4px;
  background: linear-gradient(90deg, var(--catl-blue), rgba(0, 160, 233, 0.15));
  transform: scaleX(0.28);
  transform-origin: left center;
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .inner-route-card:hover::before {
  transform: scaleX(1);
}

.theme-catl .inner-route-card > span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .inner-route-card h3 {
  max-width: 18ch;
  margin: clamp(2rem, 8vh, 5rem) 0 1rem;
  color: var(--text-primary);
  font-size: clamp(1.35rem, 1.8vw, 2rem);
  font-weight: 560;
  line-height: 1.08;
  text-wrap: balance;
}

.theme-catl .inner-route-card p {
  max-width: 42ch;
  margin: 0;
  color: #51677a;
  line-height: 1.68;
}

.theme-catl .inner-route-card a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  margin-top: auto;
  padding-top: 2.4rem;
  color: var(--catl-blue);
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
  transition: gap 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .inner-route-card a:hover {
  gap: 0.9rem;
}

.theme-catl .inner-evidence > .container-catl {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 0.74fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
}

.theme-catl .inner-evidence--reverse > .container-catl {
  grid-template-columns: minmax(0, 0.74fr) minmax(0, 0.86fr);
}

.theme-catl .inner-evidence__media {
  position: relative;
  min-height: clamp(340px, 46vw, 620px);
  overflow: hidden;
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: #edf6fb;
}

.theme-catl .inner-evidence__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 58%, rgba(4, 18, 30, 0.18)),
    linear-gradient(90deg, rgba(0,102,179,0.16), transparent 56%);
  pointer-events: none;
}

.theme-catl .inner-evidence__media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  filter: saturate(0.95) contrast(1.04);
}

.theme-catl .inner-evidence__body {
  display: grid;
  gap: clamp(1.2rem, 2.4vw, 2rem);
}

.theme-catl .inner-evidence__body h2 {
  max-width: 14ch;
}

.theme-catl .inner-step-list,
.theme-catl .inner-proof-list {
  display: grid;
  gap: 1px;
  border-top: 1px solid rgba(16, 32, 51, 0.12);
  border-bottom: 1px solid rgba(16, 32, 51, 0.12);
  background: rgba(16, 32, 51, 0.1);
}

.theme-catl .inner-step-list div,
.theme-catl .inner-proof-list p {
  margin: 0;
  padding: clamp(1.1rem, 2vw, 1.65rem) 0;
  background: transparent;
}

.theme-catl .inner-step-list div {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 0.4rem 1.2rem;
}

.theme-catl .inner-step-list strong {
  grid-row: span 2;
  color: var(--catl-blue);
  font-size: 0.82rem;
}

.theme-catl .inner-step-list h3 {
  margin: 0;
  color: var(--text-primary);
  font-size: 1.08rem;
}

.theme-catl .inner-step-list p,
.theme-catl .inner-proof-list p {
  color: #51677a;
  line-height: 1.7;
}

.theme-catl .inner-proof-list p {
  position: relative;
  padding-left: 2rem;
  background: #fff;
}

.theme-catl .inner-proof-list p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.7rem;
  width: 0.62rem;
  height: 0.62rem;
  border: 2px solid var(--catl-blue);
  border-radius: 50%;
}

@media (max-width: 1080px) {
  .theme-catl .inner-routing__intro,
  .theme-catl .inner-evidence > .container-catl,
  .theme-catl .inner-evidence--reverse > .container-catl {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .theme-catl .inner-route-grid {
    grid-template-columns: 1fr;
  }

  .theme-catl .inner-route-card {
    min-height: 0;
  }

  .theme-catl .inner-route-card h3 {
    margin-top: 2.2rem;
  }
}

@media (max-width: 640px) {
  .theme-catl .inner-evidence__media {
    min-height: 280px;
  }

  .theme-catl .inner-step-list div {
    grid-template-columns: 1fr;
  }
}

/* Distinct inner page pass 31 - support as routing console */
.theme-catl .page-hero--support {
  min-height: clamp(500px, 58vh, 650px);
  padding-top: clamp(5.2rem, 8vw, 7rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4rem) !important;
}

.theme-catl .page-hero--support::after {
  width: min(38vw, 560px);
  opacity: 0.62;
}

.theme-catl .support-router {
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr);
  gap: clamp(1.2rem, 2vw, 2rem);
  align-items: stretch;
}

.theme-catl .support-router__intake {
  position: sticky;
  top: 7.5rem;
  min-height: 560px;
  padding: clamp(1.5rem, 2.6vw, 3rem);
  border: 1px solid rgba(0, 102, 179, 0.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(242,248,253,0.94)),
    radial-gradient(circle at 18% 16%, rgba(0,160,233,0.13), transparent 34%);
  overflow: hidden;
}

.theme-catl .support-router__intake::after {
  content: "";
  position: absolute;
  right: -18%;
  bottom: -18%;
  width: 58%;
  aspect-ratio: 1;
  border: 1px solid rgba(0, 102, 179, 0.16);
  transform: rotateX(62deg) rotateZ(-18deg);
  background:
    linear-gradient(rgba(0,102,179,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,102,179,0.05) 1px, transparent 1px);
  background-size: 20px 20px;
  box-shadow: 0 28px 90px rgba(0,102,179,0.12);
}

.theme-catl .support-router__intake h2 {
  position: relative;
  z-index: 1;
  max-width: 10ch;
  margin: clamp(2rem, 6vh, 4rem) 0 clamp(1.5rem, 3vw, 2.4rem);
  color: var(--text-primary);
  font-size: clamp(2.1rem, 3.6vw, 4.3rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .support-router__intake ul {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .support-router__intake li {
  position: relative;
  padding: 1.05rem 0 1.05rem 2rem;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
  color: #51677a;
  font-size: 0.96rem;
  line-height: 1.55;
}

.theme-catl .support-router__intake li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.55rem;
  width: 0.72rem;
  height: 0.72rem;
  border: 2px solid var(--catl-blue);
  border-radius: 50%;
}

.theme-catl .support-router__routes {
  display: grid;
  gap: 1px;
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: rgba(16, 32, 51, 0.1);
}

.theme-catl .support-router__lead,
.theme-catl .support-route-row {
  background: #fff;
}

.theme-catl .support-router__lead {
  display: grid;
  grid-template-columns: 0.34fr 1fr;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: end;
  padding: clamp(1.4rem, 2.4vw, 2.6rem);
}

.theme-catl .support-router__lead span {
  color: var(--catl-blue);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .support-router__lead p {
  max-width: 52ch;
  margin: 0;
  color: #51677a;
  line-height: 1.65;
}

.theme-catl .support-route-row {
  display: grid;
  grid-template-columns: 4.2rem minmax(0, 1fr) auto;
  gap: clamp(1rem, 2.5vw, 2.5rem);
  align-items: center;
  min-height: 220px;
  padding: clamp(1.4rem, 2.4vw, 2.6rem);
  transition:
    transform 420ms cubic-bezier(0.16, 1, 0.3, 1),
    background 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .support-route-row:hover {
  background: #f7fbfe;
  transform: translateX(10px);
}

.theme-catl .support-route-row > strong {
  color: rgba(0, 102, 179, 0.34);
  font-size: clamp(1.5rem, 2.8vw, 2.8rem);
  font-weight: 500;
  line-height: 1;
}

.theme-catl .support-route-row span {
  display: block;
  margin-bottom: 0.9rem;
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .support-route-row h3 {
  max-width: 24ch;
  margin: 0 0 0.75rem;
  color: var(--text-primary);
  font-size: clamp(1.45rem, 2.2vw, 2.45rem);
  font-weight: 500;
  line-height: 1.06;
  text-wrap: balance;
}

.theme-catl .support-route-row p {
  max-width: 58ch;
  margin: 0;
  color: #51677a;
  line-height: 1.68;
}

.theme-catl .support-route-row__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.1rem;
}

.theme-catl .support-route-row__meta small {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0 0.75rem;
  border: 1px solid rgba(0, 102, 179, 0.14);
  border-radius: 999px;
  background: rgba(0, 102, 179, 0.035);
  color: #486174;
  font-size: 0.76rem;
}

.theme-catl .support-route-row > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-width: 13rem;
  min-height: 3.35rem;
  padding: 0 1.3rem;
  border: 1px solid rgba(0, 102, 179, 0.22);
  color: var(--catl-blue);
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
  transition:
    gap 220ms cubic-bezier(0.16, 1, 0.3, 1),
    background 220ms cubic-bezier(0.16, 1, 0.3, 1),
    color 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .support-route-row > a:hover {
  gap: 0.9rem;
  background: var(--catl-blue);
  color: #fff;
}

.theme-catl .support-handoff > .container-catl {
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.88fr);
}

.theme-catl .support-handoff .inner-evidence__body h2 {
  max-width: 16ch;
}

@media (max-width: 1180px) {
  .theme-catl .support-router,
  .theme-catl .support-handoff > .container-catl {
    grid-template-columns: 1fr;
  }

  .theme-catl .support-router__intake {
    position: relative;
    top: auto;
    min-height: 0;
  }
}

@media (max-width: 760px) {
  .theme-catl .support-router__lead,
  .theme-catl .support-route-row {
    grid-template-columns: 1fr;
  }

  .theme-catl .support-route-row {
    min-height: 0;
  }

  .theme-catl .support-route-row:hover {
    transform: none;
  }

  .theme-catl .support-route-row > a {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .support-route-row,
  .theme-catl .support-route-row > a {
    transition: none !important;
  }
}

/* Distinct inner page pass 32 - careers as people and field context */
.theme-catl .page-hero--careers {
  min-height: clamp(560px, 64vh, 760px);
}

.theme-catl .careers-field > .container-catl {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.7fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
}

.theme-catl .careers-field__media {
  position: relative;
  min-height: clamp(460px, 54vw, 740px);
  overflow: hidden;
  border: 1px solid rgba(0, 102, 179, 0.16);
  background: #edf6fb;
}

.theme-catl .careers-field__media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  filter: saturate(0.96) contrast(1.04);
}

.theme-catl .careers-field__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 46%, rgba(4, 18, 30, 0.46)),
    linear-gradient(90deg, rgba(0, 102, 179, 0.22), transparent 55%);
}

.theme-catl .careers-field__media div {
  position: absolute;
  left: clamp(1.3rem, 3vw, 2.5rem);
  right: clamp(1.3rem, 3vw, 2.5rem);
  bottom: clamp(1.3rem, 3vw, 2.5rem);
  z-index: 1;
  display: grid;
  gap: 0.7rem;
  max-width: 520px;
}

.theme-catl .careers-field__media span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.theme-catl .careers-field__media strong {
  color: #fff;
  font-size: clamp(1.5rem, 2.4vw, 2.65rem);
  font-weight: 500;
  line-height: 1.08;
  text-wrap: balance;
}

.theme-catl .careers-field__body h2,
.theme-catl .careers-fit__statement h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2.2rem, 4.8vw, 5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .careers-field__body h2 {
  max-width: 12ch;
  margin-top: 1rem;
}

.theme-catl .careers-role-list {
  display: grid;
  margin-top: clamp(2rem, 4vw, 3.8rem);
  border-top: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .careers-role-list article {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 0.75rem clamp(1rem, 2.4vw, 2rem);
  padding: clamp(1.2rem, 2.2vw, 1.8rem) 0;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .careers-role-list small {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .careers-role-list h3 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.25rem, 1.6vw, 1.75rem);
  font-weight: 560;
  line-height: 1.12;
}

.theme-catl .careers-role-list p {
  grid-column: 2;
  max-width: 48ch;
  margin: 0;
  color: #51677a;
  line-height: 1.68;
}

.theme-catl .careers-fit > .container-catl {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.78fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: start;
}

.theme-catl .careers-fit__statement {
  position: sticky;
  top: 8rem;
}

.theme-catl .careers-fit__statement h2 {
  max-width: 13ch;
  margin-top: 1rem;
}

.theme-catl .careers-fit__panel {
  padding: clamp(1.4rem, 2.8vw, 3rem);
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: #fff;
}

.theme-catl .careers-fit__panel .form-catl__submit {
  margin-top: clamp(1.4rem, 3vw, 2.4rem);
}

@media (max-width: 1080px) {
  .theme-catl .careers-field > .container-catl,
  .theme-catl .careers-fit > .container-catl {
    grid-template-columns: 1fr;
  }

  .theme-catl .careers-fit__statement {
    position: relative;
    top: auto;
  }
}

@media (max-width: 640px) {
  .theme-catl .careers-field__media {
    min-height: 360px;
  }

  .theme-catl .careers-role-list article {
    grid-template-columns: 1fr;
  }

  .theme-catl .careers-role-list p {
    grid-column: auto;
  }
}

/* Distinct inner page pass 33 - corporate as trust dossier */
.theme-catl .page-hero--corporate {
  min-height: clamp(540px, 62vh, 720px);
}

.theme-catl .corporate-dossier > .container-catl {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: start;
}

.theme-catl .corporate-dossier__head {
  position: sticky;
  top: 8rem;
}

.theme-catl .corporate-dossier__head h2,
.theme-catl .corporate-standard__body h2 {
  margin: 1rem 0 0;
  color: var(--text-primary);
  font-size: clamp(2.2rem, 4.8vw, 5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .corporate-dossier__head h2 {
  max-width: 10ch;
}

.theme-catl .corporate-dossier__rows {
  border-top: 1px solid rgba(16, 32, 51, 0.14);
}

.theme-catl .corporate-dossier__rows article {
  display: grid;
  grid-template-columns: minmax(120px, 0.22fr) minmax(220px, 0.34fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 3rem);
  padding: clamp(1.6rem, 3vw, 2.8rem) 0;
  border-bottom: 1px solid rgba(16, 32, 51, 0.11);
}

.theme-catl .corporate-dossier__rows span {
  color: var(--catl-blue);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .corporate-dossier__rows h3 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.35rem, 1.9vw, 2.1rem);
  font-weight: 520;
  line-height: 1.08;
  text-wrap: balance;
}

.theme-catl .corporate-dossier__rows p {
  max-width: 56ch;
  margin: 0;
  color: #51677a;
  line-height: 1.72;
}

.theme-catl .corporate-standard > .container-catl {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 0.98fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
}

.theme-catl .corporate-standard__body h2 {
  max-width: 14ch;
}

.theme-catl .corporate-standard__notes {
  display: grid;
  margin-top: clamp(2rem, 4vw, 3.4rem);
  border-top: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .corporate-standard__notes p {
  position: relative;
  margin: 0;
  padding: 1.25rem 0 1.25rem 2rem;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
  color: #51677a;
  line-height: 1.72;
}

.theme-catl .corporate-standard__notes p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.85rem;
  width: 0.62rem;
  height: 0.62rem;
  background: var(--catl-blue);
}

.theme-catl .corporate-standard__media {
  position: relative;
  min-height: clamp(380px, 42vw, 620px);
  overflow: hidden;
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: #edf6fb;
}

.theme-catl .corporate-standard__media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  filter: saturate(0.92) contrast(1.04);
}

.theme-catl .corporate-standard__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 58%, rgba(4, 18, 30, 0.2)),
    linear-gradient(90deg, rgba(0,102,179,0.14), transparent 58%);
}

@media (max-width: 1080px) {
  .theme-catl .corporate-dossier > .container-catl,
  .theme-catl .corporate-standard > .container-catl {
    grid-template-columns: 1fr;
  }

  .theme-catl .corporate-dossier__head {
    position: relative;
    top: auto;
  }
}

@media (max-width: 760px) {
  .theme-catl .corporate-dossier__rows article {
    grid-template-columns: 1fr;
  }
}

/* Distinct inner page pass 34 - resources as indexed library */
.theme-catl .page-hero--resources {
  min-height: clamp(480px, 54vh, 640px);
  padding-top: clamp(5.2rem, 8vw, 7rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4rem) !important;
}

.theme-catl .page-hero--resources .page-hero__title {
  max-width: 18ch;
}

.theme-catl .resource-library.section-catl {
  padding-top: clamp(4rem, 6vw, 6.5rem);
}

.theme-catl .resource-library > .container-catl {
  display: grid;
  grid-template-columns: minmax(260px, 0.32fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: start;
}

.theme-catl .resource-library__index {
  position: sticky;
  top: 8rem;
  padding: clamp(1.5rem, 2.6vw, 2.6rem);
  border: 1px solid rgba(0, 102, 179, 0.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,250,253,0.96)),
    radial-gradient(circle at 10% 8%, rgba(0,160,233,0.12), transparent 36%);
}

.theme-catl .resource-library__index h2 {
  max-width: 11ch;
  margin: clamp(2rem, 6vh, 4rem) 0 clamp(1.6rem, 3vw, 2.4rem);
  color: var(--text-primary);
  font-size: clamp(2rem, 3.2vw, 3.8rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .resource-library__index nav {
  display: grid;
  border-top: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .resource-library__index a {
  display: flex;
  justify-content: space-between;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
  color: #51677a;
  font-weight: 700;
  text-decoration: none;
}

.theme-catl .resource-library__index a::after {
  content: "+";
  color: var(--catl-blue);
}

.theme-catl .resource-library__content {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.theme-catl .resource-featured {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: end;
  padding: clamp(1.6rem, 3vw, 3rem);
  border: 1px solid rgba(0, 102, 179, 0.16);
  background:
    linear-gradient(135deg, rgba(0,102,179,0.1), rgba(255,255,255,0.96) 42%),
    #fff;
}

.theme-catl .resource-featured span,
.theme-catl .resource-section__head span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .resource-featured h2 {
  max-width: 18ch;
  margin: 0.9rem 0 0.8rem;
  color: var(--text-primary);
  font-size: clamp(1.7rem, 2.8vw, 3.2rem);
  font-weight: 460;
  line-height: 1.05;
  text-wrap: balance;
}

.theme-catl .resource-featured p {
  max-width: 58ch;
  margin: 0;
  color: #51677a;
  line-height: 1.7;
}

.theme-catl .resource-featured a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.35rem;
  padding: 0 1.3rem;
  border: 1px solid rgba(0, 102, 179, 0.22);
  color: var(--catl-blue);
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
}

.theme-catl .resource-section {
  border-top: 1px solid rgba(16, 32, 51, 0.14);
}

.theme-catl .resource-section__head {
  display: grid;
  grid-template-columns: minmax(180px, 0.38fr) minmax(0, 0.62fr);
  gap: clamp(1rem, 4vw, 4rem);
  padding: clamp(1.6rem, 3vw, 2.4rem) 0;
}

.theme-catl .resource-section__head span {
  grid-column: 1;
}

.theme-catl .resource-section__head h2 {
  grid-column: 1;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.55rem, 2.2vw, 2.6rem);
  font-weight: 500;
  line-height: 1.06;
  text-wrap: balance;
}

.theme-catl .resource-section__head p {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 58ch;
  margin: 0;
  color: #51677a;
  line-height: 1.7;
}

.theme-catl .resource-table {
  display: grid;
  border-top: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .resource-table a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 6.5rem 6.5rem 10rem;
  gap: 1rem;
  align-items: center;
  padding: 1.15rem 0;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
  color: var(--text-primary);
  text-decoration: none;
  transition: padding 260ms cubic-bezier(0.16, 1, 0.3, 1), background 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .resource-table a:hover {
  padding-left: 1rem;
  padding-right: 1rem;
  background: #f7fbfe;
}

.theme-catl .resource-table strong {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
}

.theme-catl .resource-table span,
.theme-catl .resource-table small,
.theme-catl .resource-table em {
  color: #62778a;
  font-size: 0.8rem;
  font-style: normal;
}

.theme-catl .resource-table span {
  color: var(--catl-blue);
  font-weight: 800;
}

.theme-catl .resource-table em {
  justify-self: end;
  padding: 0.45rem 0.7rem;
  border: 1px solid rgba(0,102,179,0.14);
  border-radius: 999px;
  background: rgba(0,102,179,0.035);
}

.theme-catl .resource-cta .container-catl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
}

.theme-catl .resource-cta h2 {
  max-width: 17ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 4vw, 4.4rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

@media (max-width: 1100px) {
  .theme-catl .resource-library > .container-catl,
  .theme-catl .resource-featured,
  .theme-catl .resource-cta .container-catl {
    grid-template-columns: 1fr;
  }

  .theme-catl .resource-library__index {
    position: relative;
    top: auto;
  }
}

@media (max-width: 820px) {
  .theme-catl .resource-section__head,
  .theme-catl .resource-table a {
    grid-template-columns: 1fr;
  }

  .theme-catl .resource-section__head span,
  .theme-catl .resource-section__head h2,
  .theme-catl .resource-section__head p {
    grid-column: auto;
    grid-row: auto;
  }

  .theme-catl .resource-table em {
    justify-self: start;
  }
}

/* Distinct inner page pass 35 - case studies as editorial evidence */
.theme-catl .case-editorial__intro {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(280px, 0.48fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  margin-bottom: clamp(1.5rem, 3vw, 2.6rem);
}

.theme-catl .page-hero--case-studies {
  min-height: clamp(440px, 50vh, 590px);
  padding-top: clamp(5.2rem, 8vw, 7rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4rem) !important;
}

.theme-catl .case-editorial.section-catl {
  padding-top: clamp(3rem, 5vw, 5rem);
}

.theme-catl .case-editorial__intro h2 {
  max-width: 13ch;
  margin: 1rem 0 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 3.8vw, 4rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .case-editorial__intro p {
  max-width: 48ch;
  margin: 0;
  color: #51677a;
  line-height: 1.72;
}

.theme-catl .case-featured {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(340px, 0.58fr);
  min-height: clamp(520px, 54vw, 760px);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: #fff;
}

.theme-catl .case-featured__media {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  background: #edf6fb;
}

.theme-catl .case-featured__media::after,
.theme-catl .case-row-list__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 58%, rgba(4, 18, 30, 0.22)),
    linear-gradient(90deg, rgba(0,102,179,0.16), transparent 56%);
}

.theme-catl .case-featured__media img,
.theme-catl .case-row-list__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.95) contrast(1.04);
  transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .case-featured:hover .case-featured__media img,
.theme-catl .case-row-list article:hover .case-row-list__thumb img {
  transform: scale(1.045);
}

.theme-catl .case-featured__body {
  display: grid;
  align-content: center;
  gap: 1rem;
  padding: clamp(1.6rem, 3vw, 3.6rem);
}

.theme-catl .case-featured__body > span,
.theme-catl .case-row-list article > div > span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .case-featured__body h3 {
  max-width: 13ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 3.4vw, 4.2rem);
  font-weight: 460;
  line-height: 1;
  text-wrap: balance;
}

.theme-catl .case-featured__body p,
.theme-catl .case-row-list p {
  max-width: 52ch;
  margin: 0;
  color: #51677a;
  line-height: 1.7;
}

.theme-catl .case-featured__body small {
  color: #6a7f92;
  font-size: 0.82rem;
}

.theme-catl .case-featured__body a,
.theme-catl .case-row-list article > a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  color: var(--catl-blue);
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
}

.theme-catl .case-row-list {
  display: grid;
  margin-top: clamp(2rem, 4vw, 3.5rem);
  border-top: 1px solid rgba(16, 32, 51, 0.14);
}

.theme-catl .case-row-list article {
  display: grid;
  grid-template-columns: minmax(180px, 0.22fr) minmax(0, 1fr) minmax(120px, 0.18fr) auto;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: center;
  padding: clamp(1.4rem, 2.5vw, 2.4rem) 0;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .case-row-list__thumb {
  position: relative;
  display: block;
  min-height: 150px;
  overflow: hidden;
  background: #edf6fb;
}

.theme-catl .case-row-list h3 {
  max-width: 28ch;
  margin: 0.55rem 0 0.75rem;
  color: var(--text-primary);
  font-size: clamp(1.35rem, 2vw, 2.25rem);
  font-weight: 520;
  line-height: 1.08;
  text-wrap: balance;
}

.theme-catl .case-row-list small {
  color: #62778a;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .theme-catl .case-editorial__intro,
  .theme-catl .case-featured,
  .theme-catl .case-row-list article {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .theme-catl .case-featured {
    min-height: 0;
  }

  .theme-catl .case-featured__media,
  .theme-catl .case-row-list__thumb {
    min-height: 260px;
  }
}

/* Distinct inner page pass 36 - contact routing and about gateway */
.theme-catl .page-hero--contact,
.theme-catl .page-hero--about {
  min-height: clamp(420px, 48vh, 560px);
  padding-top: clamp(5rem, 8vw, 7rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.2rem) !important;
}

.theme-catl .page-hero--contact {
  min-height: clamp(300px, 34vh, 400px);
  padding-top: clamp(4.2rem, 6vw, 5.4rem) !important;
  padding-bottom: clamp(2rem, 3vw, 2.8rem) !important;
}

.theme-catl .page-hero--contact .breadcrumb-catl,
.theme-catl .page-hero--video-insights .breadcrumb-catl {
  display: none;
}

.theme-catl .contact-router > .container-catl,
.theme-catl .contact-intake > .container-catl,
.theme-catl .about-signal > .container-catl,
.theme-catl .about-principles > .container-catl {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(340px, 0.58fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.theme-catl .contact-router__intro {
  position: sticky;
  top: 7rem;
}

.theme-catl .contact-router__intro h2,
.theme-catl .contact-intake__form h2,
.theme-catl .about-signal__copy h2,
.theme-catl .about-role-map__head h2,
.theme-catl .about-destinations__intro h2,
.theme-catl .about-principles__copy h2,
.theme-catl .about-cta h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 4vw, 4.5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .contact-router__intro p,
.theme-catl .about-signal__copy p,
.theme-catl .about-destinations__intro p {
  max-width: 52ch;
  margin: 1.35rem 0 0;
  color: #51677a;
  line-height: 1.75;
}

.theme-catl .contact-route-stack {
  display: grid;
  gap: 1rem;
}

.theme-catl .contact-route-card {
  display: grid;
  grid-template-columns: minmax(120px, 0.26fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  padding: clamp(1.1rem, 2.2vw, 1.7rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background:
    linear-gradient(90deg, rgba(0,102,179,0.05), transparent 52%),
    #fff;
  transition: border-color 240ms ease, transform 240ms ease;
}

.theme-catl .contact-route-card:hover {
  border-color: rgba(0,102,179,0.34);
  transform: translateY(-2px);
}

.theme-catl .contact-route-card span,
.theme-catl .about-destination-list article > span {
  color: var(--catl-blue);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .contact-route-card span {
  grid-column: 1;
  grid-row: 1 / 3;
}

.theme-catl .contact-route-card h3 {
  grid-column: 2;
  grid-row: 1;
}

.theme-catl .contact-route-card p {
  grid-column: 2;
  grid-row: 2;
}

.theme-catl .contact-route-card h3,
.theme-catl .about-role-map__items h3,
.theme-catl .about-destination-list h3 {
  margin: 0 0 0.55rem;
  color: var(--text-primary);
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 560;
  line-height: 1.18;
}

.theme-catl .contact-route-card p,
.theme-catl .about-role-map__items p,
.theme-catl .about-destination-list p {
  max-width: 58ch;
  margin: 0;
  color: #51677a;
  line-height: 1.68;
}

.theme-catl .contact-route-card a,
.theme-catl .about-destination-list a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--catl-blue);
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.theme-catl .contact-route-card a {
  grid-column: 2;
  grid-row: 3;
  justify-self: start;
}

.theme-catl .about-destination-list a {
  grid-column: 3;
  grid-row: 1 / 3;
  justify-self: end;
}

.theme-catl .contact-intake {
  padding-top: clamp(2rem, 4vw, 4rem);
}

.theme-catl .contact-intake__form {
  padding: clamp(1.2rem, 3vw, 2.6rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: #fff;
}

.theme-catl .contact-intake__form .form-catl {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.theme-catl .form-catl__wide {
  grid-column: 1 / -1;
}

.theme-catl .contact-routing-panel {
  display: grid;
  gap: 1rem;
  position: sticky;
  top: 7rem;
}

.theme-catl .contact-routing-panel > div {
  padding: clamp(1.3rem, 2.5vw, 2rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background:
    radial-gradient(circle at 12% 0%, rgba(0,180,255,0.08), transparent 28%),
    #f8fbfd;
}

.theme-catl .contact-routing-panel span {
  display: block;
  margin-bottom: 1rem;
  color: var(--text-primary);
  font-weight: 650;
}

.theme-catl .contact-routing-panel ul,
.theme-catl .about-principles__copy ul {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.theme-catl .contact-routing-panel li,
.theme-catl .about-principles__copy li {
  position: relative;
  padding-left: 1.05rem;
  color: #51677a;
  line-height: 1.65;
}

.theme-catl .contact-routing-panel li::before,
.theme-catl .about-principles__copy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 0.36rem;
  height: 0.36rem;
  border-radius: 999px;
  background: var(--catl-blue);
}

.theme-catl .contact-routing-panel__emails {
  gap: 0;
  padding: 0 !important;
  overflow: hidden;
}

.theme-catl .contact-routing-panel__emails a {
  display: grid;
  gap: 0.25rem;
  padding: 1.15rem 1.4rem;
  color: var(--text-primary);
  text-decoration: none;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .contact-routing-panel__emails a:last-child {
  border-bottom: 0;
}

.theme-catl .contact-routing-panel__emails strong {
  font-size: 0.95rem;
  font-weight: 650;
}

.theme-catl .contact-routing-panel__emails em {
  color: var(--catl-blue);
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 750;
}

.theme-catl .about-signal__media,
.theme-catl .about-principles__visual {
  position: relative;
  min-height: clamp(380px, 42vw, 620px);
  overflow: hidden;
  background: #edf6fb;
}

.theme-catl .about-signal__media::after,
.theme-catl .about-principles__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 52%, rgba(4, 18, 30, 0.2)),
    linear-gradient(90deg, rgba(0,102,179,0.1), transparent 55%);
  pointer-events: none;
}

.theme-catl .about-signal__media img,
.theme-catl .about-principles__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.96) contrast(1.04);
}

.theme-catl .about-signal__media img {
  object-position: 62% 50%;
}

.theme-catl .about-signal__copy,
.theme-catl .about-principles__copy {
  align-self: center;
}

.theme-catl .about-signal__copy p + p {
  margin-top: 1rem;
}

.theme-catl .about-role-map > .container-catl,
.theme-catl .about-destinations > .container-catl,
.theme-catl .about-cta > .container-catl {
  display: grid;
  gap: clamp(2rem, 4vw, 3.4rem);
}

.theme-catl .about-role-map__head {
  display: grid;
  grid-template-columns: minmax(0, 0.35fr) minmax(0, 0.65fr);
  gap: clamp(1rem, 4vw, 4rem);
  align-items: end;
}

.theme-catl .about-role-map__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(16, 32, 51, 0.12);
  border-bottom: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .about-role-map__items article {
  padding: clamp(1.4rem, 3vw, 2.5rem);
  border-right: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .about-role-map__items article:last-child {
  border-right: 0;
}

.theme-catl .about-destinations__intro h2 {
  max-width: 18ch;
}

.theme-catl .about-destination-list {
  display: grid;
  border-top: 1px solid rgba(16, 32, 51, 0.14);
}

.theme-catl .about-destination-list article {
  display: grid;
  grid-template-columns: minmax(120px, 0.18fr) minmax(0, 1fr) auto;
  gap: clamp(1rem, 4vw, 3rem);
  align-items: center;
  padding: clamp(1.25rem, 2.7vw, 2.4rem) 0;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .about-principles > .container-catl {
  grid-template-columns: minmax(340px, 0.55fr) minmax(0, 0.85fr);
}

.theme-catl .about-principles__copy li {
  max-width: 56ch;
}

.theme-catl .about-cta > .container-catl {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}

.theme-catl .about-cta h2 {
  max-width: 17ch;
}

@media (max-width: 1100px) {
  .theme-catl .contact-router > .container-catl,
  .theme-catl .contact-intake > .container-catl,
  .theme-catl .about-signal > .container-catl,
  .theme-catl .about-principles > .container-catl,
  .theme-catl .about-role-map__head,
  .theme-catl .about-cta > .container-catl {
    grid-template-columns: 1fr;
  }

  .theme-catl .contact-router__intro,
  .theme-catl .contact-routing-panel {
    position: relative;
    top: auto;
  }

  .theme-catl .about-role-map__items {
    grid-template-columns: 1fr;
  }

  .theme-catl .about-role-map__items article,
  .theme-catl .about-role-map__items article:last-child {
    border-right: 0;
    border-bottom: 1px solid rgba(16, 32, 51, 0.1);
  }

  .theme-catl .about-role-map__items article:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 760px) {
  .theme-catl .contact-route-card,
  .theme-catl .about-destination-list article {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .theme-catl .contact-route-card span,
  .theme-catl .contact-route-card h3,
  .theme-catl .contact-route-card p,
  .theme-catl .contact-route-card a {
    grid-column: auto;
    grid-row: auto;
  }

  .theme-catl .contact-route-card a,
  .theme-catl .about-destination-list a {
    justify-self: start;
  }

  .theme-catl .about-signal__media,
  .theme-catl .about-principles__visual {
    min-height: 300px;
  }
}

/* Distinct inner page pass 37 - utility listings, search, archive, 404 */
.theme-catl .page-hero--utility,
.theme-catl .page-hero--insights {
  min-height: clamp(430px, 50vh, 610px);
  padding-top: clamp(5.2rem, 8vw, 7rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.2rem) !important;
}

.theme-catl .page-hero--insights .page-hero__title {
  max-width: 17ch;
}

.theme-catl .page-hero--notfound .page-hero__title {
  max-width: 15ch;
}

.theme-catl .utility-results > .container-catl,
.theme-catl .utility-archive > .container-catl {
  display: grid;
  gap: clamp(1.6rem, 4vw, 3rem);
}

.theme-catl .utility-results.section-catl,
.theme-catl .utility-archive.section-catl {
  padding-top: clamp(2.6rem, 5vw, 4.5rem);
}

.theme-catl .utility-results__head,
.theme-catl .insight-index-head {
  display: grid;
  grid-template-columns: minmax(150px, 0.25fr) minmax(0, 0.75fr);
  gap: clamp(1rem, 4vw, 4rem);
  align-items: end;
  padding-bottom: clamp(1.2rem, 2vw, 2rem);
  border-bottom: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .utility-results__head p,
.theme-catl .insight-index-head p {
  max-width: 62ch;
  margin: 0;
  color: #51677a;
  line-height: 1.72;
}

.theme-catl .insight-index-head h2 {
  max-width: 17ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 4vw, 4.25rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .insight-index-head p {
  grid-column: 2;
}

.theme-catl .utility-result-list {
  display: grid;
  border-top: 1px solid rgba(16, 32, 51, 0.14);
}

.theme-catl .utility-result-row {
  display: grid;
  grid-template-columns: minmax(120px, 0.16fr) minmax(0, 1fr) minmax(120px, 0.16fr) auto;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: center;
  padding: clamp(1.25rem, 2.5vw, 2.25rem) 0;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .utility-result-row > span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .utility-result-row h2 {
  margin: 0 0 0.55rem;
  font-size: clamp(1.25rem, 2vw, 2rem);
  font-weight: 520;
  line-height: 1.08;
}

.theme-catl .utility-result-row h2 a {
  color: var(--text-primary);
  text-decoration: none;
}

.theme-catl .utility-result-row p {
  max-width: 62ch;
  margin: 0;
  color: #51677a;
  line-height: 1.65;
}

.theme-catl .utility-result-row time {
  color: #71879a;
  font-size: 0.82rem;
}

.theme-catl .utility-result-row > a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--catl-blue);
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.theme-catl .utility-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.theme-catl .utility-archive-grid .post-card {
  min-height: 100%;
}

.theme-catl .utility-archive-grid .post-card__media > div {
  width: 100%;
  height: 100%;
  background:
    linear-gradient(145deg, rgba(0,102,179,0.12), rgba(0,160,233,0.08)),
    linear-gradient(90deg, rgba(0,102,179,0.06) 1px, transparent 1px),
    linear-gradient(rgba(0,102,179,0.05) 1px, transparent 1px);
  background-size: auto, 34px 34px, 34px 34px;
}

.theme-catl .utility-empty {
  display: grid;
  justify-items: start;
  gap: 1rem;
  max-width: 760px;
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background:
    radial-gradient(circle at 0% 0%, rgba(0,160,233,0.08), transparent 26%),
    #fff;
}

.theme-catl .utility-empty > span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 780;
}

.theme-catl .utility-empty h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: 430;
  line-height: 1.05;
}

.theme-catl .utility-empty p {
  max-width: 54ch;
  margin: 0;
  color: #51677a;
  line-height: 1.7;
}

.theme-catl .utility-empty__paths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  width: 100%;
  margin: 0.3rem 0 0.5rem;
}

.theme-catl .utility-empty__paths a {
  display: grid;
  gap: 0.35rem;
  min-height: 92px;
  padding: 0.85rem;
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: rgba(246, 251, 255, 0.76);
  color: var(--text-primary);
  text-decoration: none;
}

.theme-catl .utility-empty__paths strong {
  font-size: 0.94rem;
  font-weight: 680;
}

.theme-catl .utility-empty__paths em {
  align-self: end;
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 760;
}

.theme-catl .utility-quicklinks > .container-catl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(16, 32, 51, 0.12);
  border-bottom: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .utility-quicklinks a {
  display: grid;
  gap: 0.65rem;
  padding: clamp(1.35rem, 3vw, 2.5rem);
  color: var(--text-primary);
  text-decoration: none;
  border-right: 1px solid rgba(16, 32, 51, 0.1);
  transition: background-color 220ms ease, color 220ms ease;
}

.theme-catl .utility-quicklinks a:last-child {
  border-right: 0;
}

.theme-catl .utility-quicklinks a:hover {
  background: rgba(0,102,179,0.04);
}

.theme-catl .utility-quicklinks strong {
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  font-weight: 650;
}

.theme-catl .utility-quicklinks span {
  max-width: 38ch;
  color: #51677a;
  font-size: 0.92rem;
  line-height: 1.65;
}

@media (max-width: 1100px) {
  .theme-catl .utility-archive-grid,
  .theme-catl .utility-quicklinks > .container-catl {
    grid-template-columns: 1fr;
  }

  .theme-catl .utility-quicklinks a,
  .theme-catl .utility-quicklinks a:last-child {
    border-right: 0;
    border-bottom: 1px solid rgba(16, 32, 51, 0.1);
  }
}

@media (max-width: 820px) {
  .theme-catl .utility-results__head,
  .theme-catl .insight-index-head,
  .theme-catl .utility-result-row {
    grid-template-columns: 1fr;
  }

  .theme-catl .insight-index-head p {
    grid-column: auto;
  }

  .theme-catl .utility-empty__paths {
    grid-template-columns: 1fr;
  }
}

/* Distinct inner page pass 38 - article and standard page fallbacks */
.theme-catl .page-hero--article,
.theme-catl .page-hero--standard {
  min-height: clamp(430px, 50vh, 610px);
  padding-top: clamp(5.2rem, 8vw, 7rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.2rem) !important;
}

.theme-catl .page-hero--article .page-hero__title,
.theme-catl .page-hero--standard .page-hero__title {
  max-width: 18ch;
}

.theme-catl .article-shell > .container-catl {
  display: grid;
  grid-template-columns: minmax(180px, 0.25fr) minmax(0, 0.75fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.theme-catl .article-shell__meta {
  position: sticky;
  top: 7rem;
  display: grid;
  gap: 1.4rem;
  padding: 1.4rem;
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: #fff;
}

.theme-catl .article-shell__meta > span,
.theme-catl .article-tags > span,
.theme-catl .article-adjacent span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.theme-catl .article-shell__meta dl {
  display: grid;
  gap: 1rem;
  margin: 0;
}

.theme-catl .article-shell__meta dl > div {
  display: grid;
  gap: 0.2rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .article-shell__meta dt {
  color: #71879a;
  font-size: 0.78rem;
}

.theme-catl .article-shell__meta dd {
  margin: 0;
  color: var(--text-primary);
  font-size: 0.92rem;
  font-weight: 620;
}

.theme-catl .article-shell__meta > a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--catl-blue);
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
}

.theme-catl .article-shell__body,
.theme-catl .standard-page__content .entry-content {
  max-width: 880px;
}

.theme-catl .article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: 1.5rem;
  border-top: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .article-tags a {
  padding: 0.42rem 0.8rem;
  border: 1px solid rgba(0,102,179,0.14);
  border-radius: 999px;
  color: #51677a;
  font-size: 0.82rem;
  text-decoration: none;
}

.theme-catl .article-adjacent {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: rgba(16, 32, 51, 0.12);
}

.theme-catl .article-adjacent > div {
  display: grid;
  align-content: start;
  gap: 0.65rem;
  min-height: 140px;
  padding: clamp(1.2rem, 2.5vw, 2rem);
  background: #fff;
}

.theme-catl .article-adjacent > div:last-child {
  text-align: right;
}

.theme-catl .article-adjacent a {
  color: var(--text-primary);
  font-size: clamp(1rem, 1.8vw, 1.4rem);
  font-weight: 580;
  line-height: 1.18;
  text-decoration: none;
}

.theme-catl .standard-page__content > .container-catl {
  display: grid;
  justify-items: start;
}

.theme-catl .article-comments-panel {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  padding-top: 2rem;
  border-top: 1px solid rgba(16, 32, 51, 0.12);
}

.theme-catl .article-comments-panel h2,
.theme-catl .comment-reply-title {
  margin: 0 0 1rem;
  color: var(--text-primary);
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  font-weight: 520;
}

.theme-catl .comment-list {
  display: grid;
  gap: 1rem;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
}

.theme-catl .comment-list .comment-body {
  padding: 1rem;
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: #fff;
}

.theme-catl .comment-form {
  display: grid;
  gap: 1rem;
}

.theme-catl .comment-form label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--text-primary);
  font-size: 0.84rem;
  font-weight: 650;
}

.theme-catl .comment-form input,
.theme-catl .comment-form textarea {
  width: 100%;
  border: 1px solid rgba(16, 32, 51, 0.16);
  border-radius: 8px;
  padding: 0.85rem 1rem;
  color: var(--text-primary);
  background: #fff;
}

.theme-catl .comment-form .submit {
  width: auto;
  border: 1px solid var(--catl-blue);
  background: var(--catl-blue);
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}

@media (max-width: 960px) {
  .theme-catl .article-shell > .container-catl,
  .theme-catl .article-adjacent {
    grid-template-columns: 1fr;
  }

  .theme-catl .article-shell__meta {
    position: relative;
    top: auto;
  }

  .theme-catl .article-adjacent > div:last-child {
    text-align: left;
  }
}

/* White gateway shell refresh */
.theme-catl .hidden {
  display: none !important;
}

.theme-catl .yao-header {
  min-height: 80px;
}

.theme-catl .yao-header__inner {
  width: min(100%, 1440px);
  height: 100%;
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 3vw, 4rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1rem, 2.5vw, 2.4rem);
}

.theme-catl .yao-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  color: var(--text-primary);
  text-decoration: none;
  white-space: nowrap;
}

.theme-catl .yao-logo__mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(0, 102, 179, 0.62);
  border-radius: 6px;
  background: linear-gradient(145deg, rgba(0, 102, 179, 0.06), rgba(255, 255, 255, 0.96));
  overflow: hidden;
}

.theme-catl .yao-logo__mark span {
  grid-area: 1 / 1;
  display: block;
}

.theme-catl .yao-logo__mark span:first-child {
  width: 15px;
  height: 15px;
  border-radius: 4px;
  background: var(--catl-blue);
  transform: translate(-2px, -1px);
}

.theme-catl .yao-logo__mark span:last-child {
  width: 13px;
  height: 13px;
  border-radius: 999px;
  border: 3px solid rgba(255, 255, 255, 0.92);
  background: #17b7bd;
  transform: translate(5px, 5px);
}

.theme-catl .yao-logo__text {
  color: #102033 !important;
  font-family: var(--font-display);
  font-size: 0.94rem;
  font-weight: 760;
  letter-spacing: 0;
}

.theme-catl .yao-logo__text span {
  color: var(--catl-blue) !important;
}

.theme-catl .yao-nav {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}

.theme-catl .yao-nav > ul,
.theme-catl .yao-nav .menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1.15rem, 2vw, 2.2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.theme-catl .yao-nav li {
  position: relative;
  line-height: 1;
}

.theme-catl .yao-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 80px;
  color: #223044 !important;
  font-family: var(--font-display);
  font-size: 0.9rem;
  font-weight: 650;
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-catl);
}

.theme-catl .yao-nav > ul > li > a::after,
.theme-catl .yao-nav .menu > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  height: 2px;
  background: var(--catl-blue);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--dur-base) var(--ease-catl);
}

.theme-catl .yao-nav > ul > li:hover > a::after,
.theme-catl .yao-nav .menu > li:hover > a::after {
  transform: scaleX(1);
}

.theme-catl .yao-nav .mega-menu {
  position: fixed;
  top: 80px;
  left: 50%;
  z-index: 80;
  width: min(920px, calc(100vw - 3rem));
  min-height: 228px;
  padding: 0;
  border: 1px solid rgba(16, 32, 51, 0.1);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(245, 250, 255, 0.92), #fff 42%),
    radial-gradient(circle at 86% 20%, rgba(0, 160, 233, 0.14), transparent 34%);
  box-shadow: 0 14px 34px rgba(16, 32, 51, 0.08);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity var(--dur-base) var(--ease-catl), transform var(--dur-base) var(--ease-catl), visibility 0s linear var(--dur-base);
  overflow: hidden;
}

.admin-bar.theme-catl .yao-nav .mega-menu {
  top: 112px;
}

.theme-catl .yao-nav .has-mega:hover .mega-menu,
.theme-catl .yao-nav .has-mega:focus-within .mega-menu {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translate(-50%, 0);
  transition-delay: 0s;
}

.theme-catl .yao-nav .menu-item-has-children > a,
.theme-catl .yao-nav .page_item_has_children > a {
  gap: 0.38rem;
}

.theme-catl .yao-nav .menu-item-has-children > a::before,
.theme-catl .yao-nav .page_item_has_children > a::before {
  content: "";
  order: 2;
  width: 0.42rem;
  height: 0.42rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-0.14rem) rotate(45deg);
  opacity: 0.62;
}

.theme-catl .yao-nav .sub-menu,
.theme-catl .yao-nav .children {
  position: absolute;
  top: calc(100% - 10px);
  left: 50%;
  z-index: 70;
  display: grid;
  min-width: 260px;
  max-width: min(340px, calc(100vw - 2rem));
  margin: 0;
  padding: 0.62rem;
  list-style: none;
  border: 1px solid rgba(16, 32, 51, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 14px 34px rgba(16, 32, 51, 0.1);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity var(--dur-base) var(--ease-catl), transform var(--dur-base) var(--ease-catl), visibility 0s linear var(--dur-base);
}

.theme-catl .yao-nav .sub-menu .sub-menu,
.theme-catl .yao-nav .children .children {
  top: -0.62rem;
  left: calc(100% + 0.5rem);
  transform: translate(8px, 0);
}

.theme-catl .yao-nav li:hover > .sub-menu,
.theme-catl .yao-nav li:focus-within > .sub-menu,
.theme-catl .yao-nav li:hover > .children,
.theme-catl .yao-nav li:focus-within > .children {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translate(-50%, 0);
  transition-delay: 0s;
}

.theme-catl .yao-nav .sub-menu li:hover > .sub-menu,
.theme-catl .yao-nav .sub-menu li:focus-within > .sub-menu,
.theme-catl .yao-nav .children li:hover > .children,
.theme-catl .yao-nav .children li:focus-within > .children {
  transform: translate(0, 0);
}

.theme-catl .yao-nav .sub-menu a,
.theme-catl .yao-nav .children a {
  display: flex;
  justify-content: space-between;
  width: 100%;
  min-height: auto;
  padding: 0.78rem 0.82rem;
  border-radius: 6px;
  color: #223044 !important;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.25;
}

.theme-catl .yao-nav .sub-menu a:hover,
.theme-catl .yao-nav .sub-menu a:focus-visible,
.theme-catl .yao-nav .children a:hover,
.theme-catl .yao-nav .children a:focus-visible {
  background: rgba(0, 102, 179, 0.07);
  color: var(--catl-blue) !important;
}

.theme-catl .mega-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 228px;
}

.theme-catl .mega-menu__col {
  display: grid;
  align-content: start;
  gap: 0.72rem;
  padding: clamp(1.35rem, 2vw, 2rem);
  border-right: 1px solid rgba(16, 32, 51, 0.08);
}

.theme-catl .mega-menu__col h4 {
  margin: 0 0 0.35rem;
  color: var(--catl-blue);
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-catl .mega-menu__col a {
  min-height: auto;
  color: #223044 !important;
  font-size: 0.92rem;
  font-weight: 560;
  line-height: 1.35;
}

.theme-catl .mega-menu__col a:hover {
  color: var(--catl-blue) !important;
}

.theme-catl .mega-menu__visual {
  min-height: auto !important;
  position: relative;
  display: grid !important;
  align-content: end;
  padding: clamp(1.35rem, 2vw, 2rem);
  background:
    linear-gradient(135deg, rgba(0, 102, 179, 0.08), rgba(255, 255, 255, 0.42)),
    linear-gradient(90deg, rgba(0, 102, 179, 0.08) 1px, transparent 1px);
  background-size: auto, 36px 36px;
  overflow: hidden;
}

.theme-catl .mega-menu__visual::before {
  content: "";
  position: absolute;
  inset: 22% 14% auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0, 102, 179, 0.6), transparent);
  transform: rotate(-8deg);
}

.theme-catl .mega-menu__visual-label {
  position: relative;
  width: fit-content;
  max-width: 210px;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(0, 102, 179, 0.18);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.88);
  color: #102033;
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.25;
}

.theme-catl .mega-menu__visual {
  display: none !important;
}

/* 1.6.37 launch audit polish: keep gateway cards and grids aligned. */
.theme-catl .contact-route-card,
.theme-catl .contact-intake__form,
.theme-catl .contact-routing-panel > div,
.theme-catl .video-insights-frame,
.theme-catl .video-insight-card,
.theme-catl .whitepaper-card,
.theme-catl .resource-featured,
.theme-catl .resource-table a,
.theme-catl .case-featured,
.theme-catl .support-route-row {
  border-radius: 8px !important;
}

.theme-catl .video-insights-grid,
.theme-catl .whitepaper-grid {
  align-items: stretch;
}

.theme-catl .video-insight-card__thumb,
.theme-catl .yaolaser-lite-youtube,
.theme-catl .video-insights-frame,
.theme-catl .video-insight-detail__frame {
  border-radius: 8px;
}

.theme-catl .video-insight-card__body h3,
.theme-catl .whitepaper-card h3,
.theme-catl .resource-table strong {
  overflow-wrap: anywhere;
}

.theme-catl .resource-table a {
  grid-template-columns: 34px minmax(220px, 1fr) minmax(70px, 0.28fr) minmax(78px, 0.28fr) minmax(110px, 0.34fr);
  align-items: center;
}

.theme-catl .whitepaper-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
}

.theme-catl .whitepaper-card__actions {
  align-self: end;
}

.theme-catl .yao-header__actions {
  display: flex;
  align-items: center;
  gap: 0.62rem;
}

.theme-catl .yao-icon-button,
.theme-catl .utility-bar__search {
  border: 0;
  background: transparent;
  color: #223044;
  cursor: pointer;
}

.theme-catl .utility-bar__search {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0;
  color: inherit;
  font: inherit;
  letter-spacing: 0.05em;
}

.theme-catl .utility-bar__search:hover,
.theme-catl .utility-bar__search:focus-visible {
  color: var(--catl-blue-light);
}

.theme-catl .yao-icon-button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 6px;
  transition: border-color var(--dur-fast) var(--ease-catl), background var(--dur-fast) var(--ease-catl), color var(--dur-fast) var(--ease-catl);
}

.theme-catl .yao-icon-button:hover,
.theme-catl .yao-icon-button:focus-visible {
  border-color: rgba(0, 102, 179, 0.2);
  background: rgba(0, 102, 179, 0.06);
  color: var(--catl-blue);
}

.theme-catl .yao-icon-button svg {
  width: 20px;
  height: 20px;
}

.theme-catl .yao-menu-toggle {
  display: none;
}

.theme-catl .yao-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 1.35rem;
  border: 1px solid rgba(16, 32, 51, 0.14);
  border-radius: 0;
  background: #fff;
  color: #102033;
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color var(--dur-fast) var(--ease-catl), color var(--dur-fast) var(--ease-catl), background var(--dur-fast) var(--ease-catl);
}

.theme-catl .yao-contact-button:hover {
  border-color: var(--catl-blue);
  background: var(--catl-blue);
  color: #fff;
}

.theme-catl .yao-search-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  padding: clamp(5.5rem, 10vw, 8.5rem) 1.25rem 1.25rem;
  background: rgba(247, 251, 254, 0.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.theme-catl.search-open,
.theme-catl.mobile-menu-open {
  overflow: hidden;
}

.theme-catl .yao-search-modal__panel {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: clamp(1.3rem, 3vw, 2rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(16, 32, 51, 0.08);
}

.theme-catl .yao-search-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.2rem;
}

.theme-catl .yao-search-modal__head h3 {
  margin: 0;
  font-size: clamp(1.3rem, 3vw, 2rem);
  font-weight: 520;
}

.theme-catl .yao-search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.75rem;
}

.theme-catl .yao-search-form input {
  min-height: 56px;
  width: 100%;
  padding: 0 1rem;
  border: 1px solid rgba(16, 32, 51, 0.16);
  border-radius: 6px;
  color: var(--text-primary);
  background: #fff;
}

.theme-catl .yao-search-form input::placeholder {
  color: #617080;
}

.theme-catl .yao-search-form button {
  min-height: 56px;
  padding: 0 1.35rem;
  border: 1px solid var(--catl-blue);
  border-radius: 6px;
  background: var(--catl-blue);
  color: #fff;
  font-weight: 760;
  cursor: pointer;
}

.theme-catl .yao-search-modal__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1rem;
  color: #617080;
  font-size: 0.86rem;
}

.theme-catl .yao-search-modal__links a {
  padding: 0.38rem 0.68rem;
  border: 1px solid rgba(0, 102, 179, 0.14);
  border-radius: 999px;
  color: var(--catl-blue);
  text-decoration: none;
}

.theme-catl .yao-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 90;
  overflow-y: auto;
  padding: 1rem;
  background:
    linear-gradient(180deg, #fff, rgba(244, 250, 255, 0.96)),
    linear-gradient(90deg, rgba(0, 102, 179, 0.05) 1px, transparent 1px);
  background-size: auto, 48px 48px;
}

.theme-catl .yao-mobile-menu__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.theme-catl .yao-mobile-menu__nav {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .yao-mobile-menu__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.theme-catl .yao-mobile-menu__nav li {
  margin: 0;
}

.theme-catl .yao-mobile-menu__list {
  display: grid;
  gap: 0;
}

.theme-catl .yao-mobile-menu__nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
  color: #102033 !important;
  font-size: clamp(1.35rem, 8vw, 2.3rem);
  font-weight: 460;
  line-height: 1;
  text-decoration: none;
}

.theme-catl .yao-mobile-menu__nav .sub-menu,
.theme-catl .yao-mobile-menu__nav .children {
  display: grid;
  gap: 0;
  padding: 0.1rem 0 0.55rem clamp(1rem, 5vw, 1.5rem);
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .yao-mobile-menu__nav .sub-menu a,
.theme-catl .yao-mobile-menu__nav .children a {
  min-height: 44px;
  border-bottom: 0;
  color: var(--catl-muted);
  font-size: 0.95rem;
  font-weight: 560;
}

.theme-catl .yao-mobile-menu__nav .sub-menu .sub-menu,
.theme-catl .yao-mobile-menu__nav .children .children {
  padding-left: clamp(0.85rem, 4vw, 1.2rem);
  border-bottom: 0;
}

.theme-catl .yao-mobile-menu__routes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.theme-catl .yao-mobile-menu__routes a {
  display: grid;
  gap: 0.38rem;
  min-height: 112px;
  padding: 0.95rem;
  border: 1px solid rgba(0, 102, 179, 0.16);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(239, 248, 255, 0.82)),
    linear-gradient(90deg, rgba(0, 102, 179, 0.06) 1px, transparent 1px);
  background-size: auto, 32px 32px;
  color: #102033;
  text-decoration: none;
}

.theme-catl .yao-mobile-menu__routes span {
  color: var(--catl-blue);
  font-size: 0.76rem;
  font-weight: 780;
}

.theme-catl .yao-mobile-menu__routes strong {
  align-self: end;
  font-size: 1rem;
  font-weight: 560;
  line-height: 1.25;
}

.theme-catl .yao-mobile-menu__search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.7rem;
  margin-top: 1.4rem;
}

.theme-catl .yao-mobile-menu__search input {
  min-height: 48px;
  width: 100%;
  padding: 0 0.9rem;
  border: 1px solid rgba(16, 32, 51, 0.14);
  border-radius: 6px;
  background: #fff;
  color: var(--text-primary);
}

.theme-catl .yao-mobile-menu__search button {
  min-height: 48px;
  padding: 0 1rem;
  border: 1px solid var(--catl-blue);
  border-radius: 6px;
  background: var(--catl-blue);
  color: #fff;
  font-weight: 760;
}

.theme-catl .yao-live-search__item,
.theme-catl .yao-live-search__empty,
.theme-catl .yao-live-search__error {
  display: block;
  padding: 1rem;
  border-top: 1px solid rgba(16, 32, 51, 0.1);
  color: var(--text-primary);
  text-decoration: none;
}

.theme-catl .yao-live-search__item:hover {
  background: rgba(0, 102, 179, 0.05);
}

.theme-catl .yao-live-search__item h4 {
  margin: 0;
  font-size: 1rem;
  font-weight: 620;
}

.theme-catl .yao-live-search__item p {
  margin: 0.25rem 0 0;
  color: #657789;
  font-size: 0.86rem;
}

.theme-catl .yao-live-search__empty,
.theme-catl .yao-live-search__error {
  color: #657789;
  text-align: center;
}

.theme-catl .yao-live-search__error {
  color: #a06100;
}

.theme-catl .yao-footer {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(2rem, 4vw, 3rem);
  background:
    linear-gradient(180deg, rgba(246, 251, 255, 0.82), #fff 38%, rgba(237, 248, 255, 0.72)),
    linear-gradient(90deg, rgba(0, 102, 179, 0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0, 102, 179, 0.045) 1px, transparent 1px);
  background-size: auto, 48px 48px, 48px 48px;
  border-top: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .yao-footer__grid,
.theme-catl .yao-footer__bottom {
  position: relative;
  z-index: 1;
  width: min(100% - 2.5rem, 1280px);
  margin: 0 auto;
}

.theme-catl .yao-footer__grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.1fr) repeat(3, minmax(170px, 0.68fr));
  gap: clamp(1.5rem, 4vw, 3.4rem);
  padding: clamp(1.2rem, 2vw, 1.6rem);
  border: 1px solid rgba(0, 102, 179, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.theme-catl .yao-footer__brand {
  display: grid;
  align-content: start;
  gap: 1rem;
}

.theme-catl .yao-footer__brand p {
  max-width: 32ch;
  margin: 0;
  color: #536577 !important;
  font-size: 0.94rem;
  line-height: 1.75;
}

.theme-catl .yao-footer__col {
  display: grid;
  align-content: start;
  gap: 0.62rem;
}

.theme-catl .yao-footer__col h4 {
  margin: 0 0 0.4rem;
  color: var(--catl-blue) !important;
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-catl .yao-footer__col a,
.theme-catl .yao-footer__bottom a {
  color: #24344a !important;
  font-size: 0.92rem;
  text-decoration: none;
}

.theme-catl .yao-footer__col a:hover,
.theme-catl .yao-footer__bottom a:hover {
  color: var(--catl-blue) !important;
}

.theme-catl .yao-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.4rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(16, 32, 51, 0.1);
  color: #617080;
  font-size: 0.82rem;
}

.theme-catl .yao-footer__bottom span:last-child {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 1rem;
}

@media (max-width: 1100px) {
  .theme-catl .yao-nav {
    display: none;
  }

  .theme-catl .yao-menu-toggle {
    display: grid;
  }

  .theme-catl .yao-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .theme-catl .yao-header,
  .theme-catl .yao-header__inner {
    min-height: 72px;
  }

  .theme-catl .yao-header__inner {
    padding-inline: 1rem;
  }

  .theme-catl .yao-contact-button {
    display: none;
  }

  .theme-catl .yao-logo__mark {
    width: 32px;
    height: 32px;
  }

  .theme-catl .yao-search-form {
    grid-template-columns: 1fr;
  }

  .theme-catl .yao-mobile-menu {
    padding: 0.9rem;
  }

  .theme-catl .yao-mobile-menu__routes {
    grid-template-columns: 1fr;
  }

  .theme-catl .yao-mobile-menu__routes a {
    min-height: 86px;
  }

  .theme-catl .yao-mobile-menu__search {
    grid-template-columns: 1fr;
  }

  .theme-catl .yao-footer__grid {
    grid-template-columns: 1fr;
  }

  .theme-catl .yao-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .yao-nav .mega-menu,
  .theme-catl .yao-nav > ul > li > a::after,
  .theme-catl .yao-icon-button,
  .theme-catl .yao-contact-button {
    transition: none !important;
  }
}

/* Resource page evidence layer */
.theme-catl .resource-evidence {
  background:
    linear-gradient(180deg, #fff 0%, rgba(244, 250, 255, 0.76) 100%);
  border-top: 1px solid rgba(16, 32, 51, 0.08);
  border-bottom: 1px solid rgba(16, 32, 51, 0.08);
}

.theme-catl .resource-evidence__head {
  display: grid;
  grid-template-columns: minmax(0, 0.64fr) minmax(280px, 0.46fr);
  column-gap: clamp(2rem, 7vw, 8rem);
  row-gap: 1rem;
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.theme-catl .resource-evidence__head .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.theme-catl .resource-evidence__head h2 {
  max-width: 13ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2.3rem, 5vw, 5.6rem);
  font-weight: 360;
  line-height: 0.98;
}

.theme-catl .resource-evidence__head p {
  max-width: 46ch;
  margin: 0;
  color: #51677a;
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.75;
}

.theme-catl .resource-evidence__grid {
  display: grid;
  gap: 1px;
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: rgba(16, 32, 51, 0.12);
}

.theme-catl .resource-evidence__grid article {
  display: grid;
  grid-template-columns: minmax(260px, 0.46fr) minmax(0, 1fr);
  min-height: clamp(220px, 23vw, 330px);
  background: #fff;
}

.theme-catl .resource-evidence__grid article:nth-child(even) {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.46fr);
}

.theme-catl .resource-evidence__grid article:nth-child(even) figure {
  grid-column: 2;
}

.theme-catl .resource-evidence__grid article:nth-child(even) > div {
  grid-column: 1;
  grid-row: 1;
}

.theme-catl .resource-evidence__grid figure {
  position: relative;
  min-height: 220px;
  margin: 0;
  overflow: hidden;
  background-color: #dfeaf2;
  background-position: center;
  background-size: cover;
}

.theme-catl .resource-evidence__grid figure::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.36);
  pointer-events: none;
}

.theme-catl .resource-evidence__grid img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform 900ms var(--ease-catl), filter 900ms var(--ease-catl);
}

.theme-catl .resource-evidence__grid article:hover img {
  filter: saturate(1.08) contrast(1.02);
  transform: scale(1.045);
}

.theme-catl .resource-evidence__grid article > div {
  display: grid;
  align-content: center;
  gap: 0.85rem;
  padding: clamp(1.5rem, 4vw, 3.6rem);
}

.theme-catl .resource-evidence__grid span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-catl .resource-evidence__grid h3 {
  max-width: 22ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.45rem, 3vw, 2.5rem);
  font-weight: 430;
  line-height: 1.06;
}

.theme-catl .resource-evidence__grid p {
  max-width: 54ch;
  margin: 0;
  color: #51677a;
  line-height: 1.72;
}

@media (max-width: 960px) {
  .theme-catl .resource-evidence__head,
  .theme-catl .resource-evidence__grid article,
  .theme-catl .resource-evidence__grid article:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .theme-catl .resource-evidence__grid article:nth-child(even) figure,
  .theme-catl .resource-evidence__grid article:nth-child(even) > div {
    grid-column: auto;
    grid-row: auto;
  }

  .theme-catl .resource-evidence__head h2 {
    max-width: 16ch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .resource-evidence__grid img {
    transition: none !important;
    transform: none !important;
  }
}

/* Support page proof band */
.theme-catl .support-evidence-band {
  padding-top: clamp(3rem, 5vw, 5.5rem);
  padding-bottom: clamp(4rem, 7vw, 7rem);
  background:
    linear-gradient(180deg, #fff, rgba(246, 251, 255, 0.72));
}

.theme-catl .support-evidence-band > .container-catl {
  display: grid;
  grid-template-columns: minmax(280px, 0.48fr) minmax(0, 0.92fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: stretch;
}

.theme-catl .support-evidence-band__copy {
  display: grid;
  align-content: center;
  gap: 1rem;
}

.theme-catl .support-evidence-band__copy .eyebrow {
  margin-bottom: 0;
}

.theme-catl .support-evidence-band__copy h2 {
  max-width: 12ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2.25rem, 5vw, 5.25rem);
  font-weight: 360;
  line-height: 0.98;
}

.theme-catl .support-evidence-band__copy p {
  max-width: 48ch;
  margin: 0;
  color: #51677a;
  line-height: 1.75;
}

.theme-catl .support-evidence-band__media {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(220px, 0.42fr);
  gap: 1px;
  min-height: clamp(420px, 46vw, 660px);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: rgba(16, 32, 51, 0.12);
}

.theme-catl .support-evidence-band__media figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background-color: #dfeaf2;
  background-position: center;
  background-size: cover;
}

.theme-catl .support-evidence-band__media figure:first-child {
  grid-row: span 2;
}

.theme-catl .support-evidence-band__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 900ms var(--ease-catl), filter 900ms var(--ease-catl);
}

.theme-catl .support-evidence-band__media figure:hover img {
  filter: saturate(1.08) contrast(1.02);
  transform: scale(1.035);
}

.theme-catl .support-evidence-band__media figcaption {
  position: absolute;
  left: clamp(0.9rem, 2vw, 1.4rem);
  right: clamp(0.9rem, 2vw, 1.4rem);
  bottom: clamp(0.9rem, 2vw, 1.4rem);
  display: grid;
  gap: 0.45rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.9);
  color: #102033;
  font-size: clamp(0.9rem, 1.25vw, 1.05rem);
  font-weight: 650;
  line-height: 1.28;
}

.theme-catl .support-evidence-band__media figcaption span {
  color: var(--catl-blue);
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .theme-catl .support-evidence-band > .container-catl,
  .theme-catl .support-evidence-band__media {
    grid-template-columns: 1fr;
  }

  .theme-catl .support-evidence-band__copy h2 {
    max-width: 16ch;
  }

  .theme-catl .support-evidence-band__media {
    min-height: 0;
  }

  .theme-catl .support-evidence-band__media figure {
    min-height: 280px;
  }

  .theme-catl .support-evidence-band__media figure:first-child {
    grid-row: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .support-evidence-band__media img {
    transition: none !important;
    transform: none !important;
  }
}

/* Insights page editorial briefing */
.theme-catl .insight-briefing {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
  gap: 1px;
  min-height: clamp(300px, 28vw, 430px);
  margin: clamp(2rem, 4vw, 3.2rem) 0 clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: rgba(16, 32, 51, 0.12);
}

.theme-catl .insight-briefing figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background-color: #dfeaf2;
  background-position: center;
  background-size: cover;
}

.theme-catl .insight-briefing img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 900ms var(--ease-catl), filter 900ms var(--ease-catl);
}

.theme-catl .insight-briefing:hover img {
  filter: saturate(1.08) contrast(1.02);
  transform: scale(1.035);
}

.theme-catl .insight-briefing > div {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 0.95rem;
  padding: clamp(1.5rem, 4vw, 4rem);
  background:
    linear-gradient(135deg, rgba(246, 251, 255, 0.92), #fff 58%),
    linear-gradient(90deg, rgba(0, 102, 179, 0.055) 1px, transparent 1px);
  background-size: auto, 46px 46px;
}

.theme-catl .insight-briefing span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-catl .insight-briefing h3 {
  max-width: 18ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.8rem, 4vw, 4rem);
  font-weight: 360;
  line-height: 1;
}

.theme-catl .insight-briefing p {
  max-width: 58ch;
  margin: 0;
  color: #51677a;
  line-height: 1.72;
}

.theme-catl .insight-briefing a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 42px;
  margin-top: 0.4rem;
  padding: 0 1rem;
  border: 1px solid rgba(0, 102, 179, 0.18);
  border-radius: 6px;
  color: var(--catl-blue);
  font-weight: 760;
  text-decoration: none;
}

.theme-catl .utility-archive-grid .post-card__media {
  background: #e8f1f7;
}

.theme-catl .utility-archive-grid .post-card__media > div {
  background:
    linear-gradient(145deg, rgba(0, 102, 179, 0.1), rgba(0, 160, 233, 0.08)),
    linear-gradient(90deg, rgba(0, 102, 179, 0.08) 1px, transparent 1px);
  background-size: auto, 24px 24px;
}

@media (max-width: 860px) {
  .theme-catl .insight-briefing {
    grid-template-columns: 1fr;
  }

  .theme-catl .insight-briefing figure {
    min-height: 260px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .insight-briefing img {
    transition: none !important;
    transform: none !important;
  }
}

/* 404 route recovery */
.theme-catl .notfound-recovery {
  background:
    linear-gradient(180deg, #fff, rgba(246, 251, 255, 0.76));
  border-top: 1px solid rgba(16, 32, 51, 0.08);
}

.theme-catl .notfound-recovery > .container-catl {
  display: grid;
  grid-template-columns: minmax(260px, 0.48fr) minmax(0, 0.72fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: stretch;
}

.theme-catl .notfound-recovery figure {
  position: relative;
  min-height: clamp(320px, 38vw, 520px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(16, 32, 51, 0.12);
  background-color: #dfeaf2;
  background-position: center;
  background-size: cover;
}

.theme-catl .notfound-recovery figure::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.42);
  pointer-events: none;
}

.theme-catl .notfound-recovery img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.theme-catl .notfound-recovery > .container-catl > div {
  display: grid;
  align-content: center;
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 3rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: #fff;
}

.theme-catl .notfound-recovery h2 {
  max-width: 13ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 4vw, 4.4rem);
  font-weight: 360;
  line-height: 1;
}

.theme-catl .notfound-recovery ol {
  display: grid;
  gap: 0;
  margin: 1rem 0 0;
  padding: 0;
  counter-reset: route-recovery;
  list-style: none;
}

.theme-catl .notfound-recovery li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(16, 32, 51, 0.1);
  color: #51677a;
  line-height: 1.65;
  counter-increment: route-recovery;
}

.theme-catl .notfound-recovery li::before {
  content: counter(route-recovery, decimal-leading-zero);
  color: var(--catl-blue);
  font-weight: 780;
}

@media (max-width: 900px) {
  .theme-catl .notfound-recovery > .container-catl {
    grid-template-columns: 1fr;
  }
}

/* Video evidence article */
.theme-catl .video-article-shell {
  background:
    linear-gradient(180deg, #fff 0%, rgba(246, 251, 255, 0.84) 100%);
}

.theme-catl .video-evidence-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
  overflow: hidden;
  border: 1px solid rgba(16, 32, 51, 0.14);
  background-color: #e8f1f7;
  background-position: center;
  background-size: cover;
}

.theme-catl .video-evidence-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.5);
  pointer-events: none;
}

.theme-catl .video-evidence-frame iframe,
.theme-catl .video-evidence-frame video,
.theme-catl .video-evidence-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

.theme-catl .video-evidence-frame__empty {
  position: absolute;
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
  z-index: 1;
  width: min(280px, calc(100% - 2rem));
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.9);
  color: var(--text-primary);
  backdrop-filter: blur(10px);
}

.theme-catl .video-evidence-frame__empty span {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-catl .video-evidence-frame__empty strong {
  display: block;
  font-size: 0.95rem;
  line-height: 1.45;
}

.theme-catl .article-meta--video {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  margin-bottom: 1.5rem;
  color: #657789;
  font-size: 0.9rem;
}

.theme-catl .article-meta--video span,
.theme-catl .article-meta--video time {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.theme-catl .article-meta--video span::before,
.theme-catl .article-meta--video time::before {
  content: "";
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 999px;
  background: var(--catl-blue);
}

.theme-catl .video-transcript {
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background:
    linear-gradient(135deg, rgba(246, 251, 255, 0.92), #fff 70%),
    linear-gradient(90deg, rgba(0, 102, 179, 0.06) 1px, transparent 1px);
  background-size: auto, 42px 42px;
}

.theme-catl .video-transcript h2 {
  margin: 0 0 1rem;
  color: var(--text-primary);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  font-weight: 520;
}

.theme-catl .video-transcript div {
  max-height: 28rem;
  overflow: auto;
  color: #51677a;
  line-height: 1.72;
}

.theme-catl .article-route-cta {
  padding-top: clamp(2rem, 5vw, 4rem);
}

.theme-catl .article-route-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: #fff;
}

.theme-catl .article-route-cta h2 {
  max-width: 18ch;
  margin: 0.4rem 0 0;
  color: var(--text-primary);
  font-size: clamp(1.7rem, 3vw, 3.2rem);
  font-weight: 360;
  line-height: 1.05;
}

@media (max-width: 760px) {
  .theme-catl .article-route-cta__inner {
    display: grid;
  }

  .theme-catl .video-evidence-frame {
    aspect-ratio: 4 / 3;
  }
}

/* Portable content fragments */
.theme-catl .catl-content-card,
.theme-catl .catl-search-result-row {
  color: var(--text-primary);
}

.theme-catl .catl-content-card a,
.theme-catl .catl-search-result-row a {
  color: inherit;
  text-decoration: none;
}

.theme-catl .catl-content-card > a {
  display: grid;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(16, 32, 51, 0.12);
  background: #fff;
  transition: border-color 360ms var(--ease-catl), transform 360ms var(--ease-catl);
}

.theme-catl .catl-content-card > a:hover {
  border-color: rgba(0, 102, 179, 0.24);
  transform: translateY(-2px);
}

.theme-catl .catl-content-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  background-color: #e8f1f7;
  background-position: center;
  background-size: cover;
}

.theme-catl .catl-content-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 760ms var(--ease-catl), filter 760ms var(--ease-catl);
}

.theme-catl .catl-content-card > a:hover .catl-content-card__media img {
  filter: saturate(1.06) contrast(1.02);
  transform: scale(1.035);
}

.theme-catl .catl-content-card__badge {
  position: absolute;
  left: 0.85rem;
  top: 0.85rem;
  padding: 0.32rem 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.9);
  color: var(--catl-blue);
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.theme-catl .catl-content-card__body {
  display: grid;
  align-content: start;
  gap: 0.8rem;
  padding: clamp(1.1rem, 2.2vw, 1.6rem);
}

.theme-catl .catl-content-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  color: #718294;
  font-size: 0.78rem;
}

.theme-catl .catl-content-card__meta span {
  color: var(--catl-blue);
  font-weight: 780;
}

.theme-catl .catl-content-card h2,
.theme-catl .catl-content-card h3 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.2rem, 1.7vw, 1.55rem);
  font-weight: 520;
  line-height: 1.2;
  text-wrap: balance;
}

.theme-catl .catl-content-card p {
  margin: 0;
  color: #51677a;
  line-height: 1.62;
}

.theme-catl .catl-content-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.2rem;
  color: var(--catl-blue);
  font-weight: 760;
}

.theme-catl .catl-search-result-row > a {
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr) auto;
  gap: 1.2rem;
  align-items: center;
  padding: 1rem 0;
  border-top: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .catl-search-result-row__media {
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  background-color: #e8f1f7;
  background-position: center;
  background-size: cover;
}

.theme-catl .catl-search-result-row__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.theme-catl .catl-search-result-row__body {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.theme-catl .catl-search-result-row__body > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  color: #718294;
  font-size: 0.78rem;
}

.theme-catl .catl-search-result-row__body span {
  color: var(--catl-blue);
  font-weight: 780;
}

.theme-catl .catl-search-result-row h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  font-weight: 520;
}

.theme-catl .catl-search-result-row p {
  margin: 0;
  color: #51677a;
  line-height: 1.58;
}

.theme-catl .catl-search-result-row__link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--catl-blue);
  font-weight: 760;
}

@media (max-width: 680px) {
  .theme-catl .catl-search-result-row > a {
    grid-template-columns: 4.75rem minmax(0, 1fr);
  }

  .theme-catl .catl-search-result-row__link {
    grid-column: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .catl-content-card > a,
  .theme-catl .catl-content-card__media img {
    transition: none !important;
    transform: none !important;
  }
}

/* Notices and pagination */
.theme-catl .catl-newsletter-notice {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 80;
  width: min(360px, calc(100vw - 2rem));
  border: 1px solid rgba(16, 32, 51, 0.14);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(16, 32, 51, 0.1);
}

.theme-catl .catl-newsletter-notice__inner {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr) 1.25rem;
  gap: 0.75rem;
  align-items: start;
  padding: 1rem;
}

.theme-catl .catl-newsletter-notice__icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--catl-blue);
}

.theme-catl .catl-newsletter-notice--error .catl-newsletter-notice__icon {
  color: #a06100;
}

.theme-catl .catl-newsletter-notice p {
  margin: 0;
  color: var(--text-primary);
  font-size: 0.92rem;
  line-height: 1.45;
}

.theme-catl .catl-newsletter-notice button {
  display: inline-grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  border: 0;
  background: transparent;
  color: #718294;
  cursor: pointer;
}

.theme-catl .catl-newsletter-notice button:hover {
  color: var(--text-primary);
}

.theme-catl .catl-newsletter-notice button svg {
  width: 1rem;
  height: 1rem;
}

.theme-catl .catl-pagination {
  padding: clamp(2rem, 4vw, 3rem) 1.5rem;
}

.theme-catl .catl-pagination__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
  max-width: var(--container);
  margin: 0 auto;
}

.theme-catl .catl-pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0 0.85rem;
  border: 1px solid rgba(16, 32, 51, 0.12);
  color: #51677a;
  font-size: 0.9rem;
  font-weight: 720;
  text-decoration: none;
  transition: border-color 240ms var(--ease-catl), color 240ms var(--ease-catl), background-color 240ms var(--ease-catl);
}

.theme-catl .catl-pagination__link.is-current {
  border-color: var(--catl-blue);
  background: var(--catl-blue);
  color: #fff;
}

.theme-catl .catl-pagination__link.is-link:hover {
  border-color: rgba(0, 102, 179, 0.32);
  color: var(--catl-blue);
}

.theme-catl .catl-pagination__link.is-dots {
  border-color: transparent;
  color: #9aa9b6;
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .catl-pagination__link {
    transition: none !important;
  }
}

/* Portable breadcrumb and comments */
.theme-catl .catl-breadcrumb {
  border-bottom: 1px solid rgba(16, 32, 51, 0.08);
  background: rgba(255, 255, 255, 0.78);
}

.theme-catl .catl-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0.85rem var(--container-padding);
  color: #718294;
  font-size: 0.86rem;
  list-style: none;
}

.theme-catl .catl-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.theme-catl .catl-breadcrumb li + li::before {
  content: "/";
  color: #a8b5c0;
}

.theme-catl .catl-breadcrumb a {
  color: #51677a;
  text-decoration: none;
}

.theme-catl .catl-breadcrumb a:hover {
  color: var(--catl-blue);
}

.theme-catl .catl-breadcrumb span {
  color: var(--text-primary);
}

.theme-catl .catl-comments {
  border-top: 1px solid rgba(16, 32, 51, 0.1);
  background: #fff;
  padding: clamp(2.5rem, 5vw, 4rem) 0;
}

.theme-catl .catl-comments__inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

.theme-catl .catl-comments__title {
  margin: 0 0 1.5rem;
  color: var(--text-primary);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: 520;
}

.theme-catl .catl-comments__list {
  display: grid;
  gap: 1rem;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
}

.theme-catl .catl-comments .comment-body {
  padding: 1rem 0;
  border-top: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .catl-comments a {
  color: var(--catl-blue);
}

.theme-catl .catl-comments__closed,
.theme-catl .catl-comments__note,
.theme-catl .catl-comments .comment-notes {
  color: #657789;
}

.theme-catl .catl-comments label {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--text-primary);
  font-size: 0.88rem;
  font-weight: 720;
}

.theme-catl .catl-comments input,
.theme-catl .catl-comments textarea {
  width: 100%;
  border: 1px solid rgba(16, 32, 51, 0.14);
  background: #fff;
  color: var(--text-primary);
  padding: 0.8rem 0.9rem;
}

.theme-catl .catl-comments input:focus,
.theme-catl .catl-comments textarea:focus {
  border-color: rgba(0, 102, 179, 0.38);
  outline: 2px solid rgba(0, 102, 179, 0.12);
}

.theme-catl .catl-comments__submit {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 1.1rem;
  border: 1px solid var(--catl-blue);
  background: var(--catl-blue);
  color: #fff;
  font-weight: 760;
  cursor: pointer;
}

.theme-catl .article-evidence-cta {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(16, 32, 51, 0.12);
  background:
    linear-gradient(135deg, rgba(246, 251, 255, 0.92), #fff 72%),
    linear-gradient(90deg, rgba(0, 102, 179, 0.06) 1px, transparent 1px);
  background-size: auto, 42px 42px;
}

.theme-catl .article-evidence-cta span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 780;
}

.theme-catl .article-evidence-cta h2 {
  max-width: 17ch;
  margin: 0.35rem 0 0;
  color: var(--text-primary);
  font-size: clamp(1.5rem, 2.8vw, 2.8rem);
  font-weight: 360;
  line-height: 1.04;
}

.theme-catl .article-evidence-cta p {
  max-width: 48ch;
  margin: 0.8rem 0 0;
  color: #51677a;
  line-height: 1.62;
}

.theme-catl .article-evidence-cta a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 44px;
  flex: 0 0 auto;
  padding: 0 1.1rem;
  border: 1px solid var(--catl-blue);
  background: var(--catl-blue);
  color: #fff;
  font-weight: 760;
  text-decoration: none;
}

@media (max-width: 760px) {
  .theme-catl .article-evidence-cta {
    display: grid;
    align-items: start;
  }
}

/* Privacy policy page: legal clarity without losing the gateway visual system */
.theme-catl .form-catl__privacy {
  max-width: 62ch;
  margin: 1rem 0 0;
  color: var(--text-secondary);
  font-size: 0.86rem;
  line-height: 1.7;
}

.theme-catl .form-catl__privacy a {
  color: var(--catl-blue);
  font-weight: 650;
  text-decoration: none;
}

.theme-catl .form-catl__privacy a:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.theme-catl .page-hero--privacy {
  background:
    linear-gradient(120deg, rgba(255,255,255,0.98), rgba(241,248,253,0.92)),
    linear-gradient(90deg, rgba(0,102,179,0.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(0,102,179,0.05) 1px, transparent 1px);
  background-size: auto, 68px 68px, 68px 68px;
}

.theme-catl .privacy-principles > .container-catl,
.theme-catl .privacy-data > .container-catl,
.theme-catl .privacy-use > .container-catl,
.theme-catl .privacy-rights > .container-catl {
  max-width: 1180px;
}

.theme-catl .privacy-principles__lead {
  display: grid;
  grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1.5fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.theme-catl .privacy-principles__lead h2,
.theme-catl .privacy-data__copy h2,
.theme-catl .privacy-rights__card h2 {
  max-width: 720px;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 330;
  line-height: 1.05;
  text-wrap: balance;
}

.theme-catl .privacy-principles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(0, 102, 179, 0.16);
  border-bottom: 1px solid rgba(0, 102, 179, 0.16);
}

.theme-catl .privacy-principles__grid article {
  min-height: 260px;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid rgba(0, 102, 179, 0.14);
}

.theme-catl .privacy-principles__grid article:last-child {
  border-right: 0;
}

.theme-catl .privacy-principles__grid h3 {
  max-width: 12ch;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 430;
}

.theme-catl .privacy-principles__grid p,
.theme-catl .privacy-data__copy p,
.theme-catl .privacy-use__grid p,
.theme-catl .privacy-rights__card p {
  max-width: 64ch;
  margin: 0;
  color: #5f7080;
  line-height: 1.85;
}

.theme-catl .privacy-data {
  background: linear-gradient(180deg, #ffffff, #f5faff);
}

.theme-catl .privacy-data__panel {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding: clamp(2rem, 4vw, 4rem);
  border: 1px solid rgba(0, 102, 179, 0.18);
  background: rgba(255, 255, 255, 0.82);
}

.theme-catl .privacy-data__rows {
  border-top: 1px solid rgba(0, 102, 179, 0.14);
}

.theme-catl .privacy-data__rows article {
  display: grid;
  grid-template-columns: minmax(150px, 0.45fr) minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid rgba(0, 102, 179, 0.14);
}

.theme-catl .privacy-data__rows strong,
.theme-catl .privacy-use__grid span {
  color: var(--catl-blue);
  font-size: 0.82rem;
  font-weight: 750;
}

.theme-catl .privacy-data__rows p {
  margin: 0;
  color: #607284;
  line-height: 1.75;
}

.theme-catl .privacy-use__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(0, 102, 179, 0.14);
}

.theme-catl .privacy-use__grid article {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-right: 1px solid rgba(0, 102, 179, 0.12);
}

.theme-catl .privacy-use__grid article:last-child {
  border-right: 0;
}

.theme-catl .privacy-use__grid h2 {
  max-width: 14ch;
  margin: 1.5rem 0 1rem;
  font-size: clamp(1.45rem, 2.4vw, 2.35rem);
  font-weight: 360;
  line-height: 1.08;
}

.theme-catl .privacy-rights__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.75fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
  padding: clamp(2rem, 4vw, 4rem);
  border: 1px solid rgba(0, 102, 179, 0.18);
  background:
    linear-gradient(135deg, rgba(0,102,179,0.08), transparent 44%),
    #ffffff;
}

.theme-catl .privacy-rights__card ul {
  display: grid;
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.theme-catl .privacy-rights__card li {
  position: relative;
  padding-left: 1.4rem;
  color: #607284;
  line-height: 1.75;
}

.theme-catl .privacy-rights__card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 0.5rem;
  height: 0.5rem;
  border: 2px solid var(--catl-blue);
  border-radius: 50%;
}

.theme-catl .privacy-rights__card .button-catl {
  grid-column: 1 / -1;
  width: fit-content;
}

@media (max-width: 920px) {
  .theme-catl .privacy-principles__lead,
  .theme-catl .privacy-data__panel,
  .theme-catl .privacy-rights__card {
    grid-template-columns: 1fr;
  }

  .theme-catl .privacy-principles__grid,
  .theme-catl .privacy-use__grid {
    grid-template-columns: 1fr;
  }

  .theme-catl .privacy-principles__grid article,
  .theme-catl .privacy-use__grid article {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(0, 102, 179, 0.14);
  }

  .theme-catl .privacy-principles__grid article:last-child,
  .theme-catl .privacy-use__grid article:last-child {
    border-bottom: 0;
  }

  .theme-catl .privacy-data__rows article {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
}

/* Unified GSAP story state: shared progress drives rail, routing, evidence, and resources. */
.theme-catl .catl-process-flow {
  --routing-progress: 0;
  --section-story-progress: 0;
  --section-story-presence: 0;
}

.theme-catl .catl-process-flow .catl-process-proof__track {
  overflow: visible;
}

.theme-catl .catl-process-flow .catl-process-proof__track span {
  transform-origin: left center !important;
  transform: scaleX(calc(0.14 + var(--routing-progress, var(--scene-progress, 0)) * 0.86)) !important;
  filter: drop-shadow(0 0 calc(6px + var(--routing-progress, 0) * 18px) rgba(0, 132, 211, 0.34));
  transition: transform 180ms linear, filter 260ms ease;
}

.theme-catl .catl-process-proof__items span {
  transition: color 240ms ease, opacity 240ms ease, transform 240ms ease, background 240ms ease, box-shadow 240ms ease;
}

.theme-catl .catl-process-proof__items span.is-storyline-current {
  color: #003f73;
  opacity: 1;
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 36px rgba(0, 102, 179, 0.14);
}

.theme-catl .catl-process-proof__items span.is-storyline-muted {
  opacity: 0.48;
}

.theme-catl .catl-technology-vision {
  --evidence-progress: 0;
  --section-story-progress: 0;
  --section-story-presence: 0;
}

.theme-catl .catl-news-benchmark {
  --resources-progress: 0;
  --section-story-progress: 0;
  --section-story-presence: 0;
}

.theme-catl .catl-technology-vision.is-storyline-section .catl-technology-vision__proof {
  transform: translate3d(0, calc(14px - var(--evidence-progress, 0) * 22px), 0);
  filter: saturate(calc(0.88 + var(--evidence-progress, 0) * 0.2)) contrast(calc(0.98 + var(--evidence-progress, 0) * 0.04));
  transition: transform 260ms ease-out, filter 260ms ease-out;
}

.theme-catl .catl-news-benchmark.is-storyline-section .catl-news-layout {
  filter: saturate(calc(0.88 + var(--resources-progress, 0) * 0.18));
  transition: filter 260ms ease-out;
}

.theme-catl .section-catl.is-storyline-section,
.theme-catl .catl-process-flow.is-storyline-section,
.theme-catl .catl-technology-vision.is-storyline-section,
.theme-catl .catl-news-benchmark.is-storyline-section {
  --story-focus-shadow: calc(var(--section-story-presence, 0) * 1);
  box-shadow: inset 0 1px 0 rgba(0, 132, 211, 0.09), inset 0 -1px 0 rgba(0, 132, 211, 0.07);
}

.theme-catl .catl-solution-tile.is-storyline-current,
.theme-catl .catl-process-step.is-storyline-current,
.theme-catl .catl-technology-vision__proof > div.is-storyline-current,
.theme-catl .catl-news-layout .news-item.is-storyline-current {
  transition: transform 260ms ease, box-shadow 260ms ease, opacity 260ms ease, border-color 260ms ease;
}

.theme-catl .catl-solution-tile.is-storyline-muted,
.theme-catl .catl-process-step.is-storyline-muted,
.theme-catl .catl-technology-vision__proof > div.is-storyline-muted,
.theme-catl .catl-news-layout .news-item.is-storyline-muted {
  opacity: 0.56;
  filter: saturate(0.82);
}

@media (max-width: 960px) {
  .theme-catl .catl-process-flow .catl-process-proof__track span {
    transform: none !important;
    filter: none;
  }

  .theme-catl .catl-process-proof__items span.is-storyline-current {
    transform: none;
  }
}

/* Final routing flow composition after removing the decorative horizontal proof strip. */
.theme-catl .catl-process-flow .catl-section-header {
  margin-bottom: clamp(3.8rem, 7vw, 6.2rem);
}

.theme-catl .catl-process-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(16, 32, 51, 0.12);
  isolation: isolate;
}

.theme-catl .catl-process-steps::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, rgba(0, 132, 211, 0), rgba(0, 132, 211, 0.72), rgba(0, 132, 211, 0));
  transform: scaleX(calc(0.18 + var(--section-story-progress, 0) * 0.82));
  transform-origin: left center;
  opacity: calc(0.18 + var(--section-story-presence, 0) * 0.72);
  transition: opacity 260ms ease, transform 220ms linear;
  z-index: 2;
}

.theme-catl .catl-process-step {
  position: relative;
  min-height: 300px;
  padding: clamp(1.65rem, 2.4vw, 2.8rem);
  border-right: 1px solid rgba(16, 32, 51, 0.10);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 253, 0.72)),
    #ffffff;
  box-shadow: inset 0 0 0 0 rgba(0, 132, 211, 0);
  transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1), opacity 260ms ease, box-shadow 320ms ease, border-color 260ms ease, background 320ms ease;
}

.theme-catl .catl-process-step:last-child {
  border-right: 0;
}

.theme-catl .catl-process-step::before {
  content: "";
  position: absolute;
  inset: -1px auto auto 0;
  width: 34%;
  height: 2px;
  background: var(--catl-blue);
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;
  transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1), opacity 220ms ease;
}

.theme-catl .catl-process-step span {
  display: inline-grid;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  margin-bottom: clamp(1.35rem, 2vw, 2rem);
  color: var(--catl-blue);
  font-weight: 800;
  background: rgba(0, 132, 211, 0.06);
  border: 1px solid rgba(0, 132, 211, 0.14);
}

.theme-catl .catl-process-step h3 {
  max-width: 12ch;
}

.theme-catl .catl-process-step.is-storyline-current {
  transform: translateY(-10px);
  border-color: rgba(0, 132, 211, 0.42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(239, 248, 255, 0.82)),
    #ffffff;
  box-shadow: 0 28px 70px rgba(0, 102, 179, 0.12), inset 0 0 0 1px rgba(0, 132, 211, 0.3);
  z-index: 3;
}

.theme-catl .catl-process-step.is-storyline-current::before {
  transform: scaleX(1);
  opacity: 1;
}

.theme-catl .catl-process-step.is-storyline-current span {
  color: #ffffff;
  background: var(--catl-blue);
  border-color: var(--catl-blue);
  box-shadow: 0 12px 32px rgba(0, 132, 211, 0.2);
}

.theme-catl .catl-process-step.is-storyline-muted {
  opacity: 0.64;
}

@media (max-width: 960px) {
  .theme-catl .catl-process-flow .catl-section-header {
    margin-bottom: 2.6rem;
  }

  .theme-catl .catl-process-steps {
    grid-template-columns: 1fr;
  }

  .theme-catl .catl-process-steps::before {
    display: none;
  }

  .theme-catl .catl-process-step {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(16, 32, 51, 0.10);
  }

  .theme-catl .catl-process-step.is-storyline-current {
    transform: none;
  }
}

/* Taste pass: gateway dock with primary destinations and a lighter authority layer. */
.theme-catl .hero-catl__gateway.hero-catl__gateway--dock {
  left: 50%;
  right: auto;
  bottom: clamp(2rem, 5vw, 4.5rem);
  width: min(76vw, 1480px);
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 1.18fr) minmax(280px, 0.72fr);
  align-items: stretch;
  transform: translateX(-50%);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.theme-catl .hero-catl .hero-catl__actions {
  display: none;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card {
  position: relative;
  display: grid;
  align-content: end;
  min-height: clamp(132px, 13vw, 180px);
  padding: clamp(1.25rem, 2vw, 2rem);
  color: #ffffff;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0)),
    #071928;
  border: 1px solid rgba(255,255,255,0.10);
  overflow: hidden;
  transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1), border-color 260ms ease, background 260ms ease, box-shadow 320ms ease;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card + .hero-catl__gateway-card {
  border-left: 0;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(0, 132, 211, 0.22), transparent 38%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 96px);
  opacity: 0.52;
  pointer-events: none;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card::after {
  content: "";
  position: absolute;
  right: clamp(1.1rem, 1.8vw, 1.7rem);
  bottom: clamp(1.1rem, 1.8vw, 1.7rem);
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.03);
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card::selection {
  background: rgba(0, 132, 211, 0.3);
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card span,
.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card strong,
.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card em {
  position: relative;
  z-index: 1;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card span {
  color: rgba(162, 219, 255, 0.95);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card strong {
  max-width: 18ch;
  margin-top: 0.75rem;
  color: #ffffff;
  font-size: clamp(1.35rem, 2.1vw, 2rem);
  font-weight: 760;
  line-height: 1.06;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card em {
  max-width: 42ch;
  margin-top: 0.9rem;
  color: rgba(226, 239, 248, 0.68);
  font-style: normal;
  font-size: 0.88rem;
  line-height: 1.55;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card--resource {
  color: var(--yao-ink);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(240,248,255,0.86)),
    #ffffff;
  border-color: rgba(0, 102, 179, 0.18);
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card--resource::before {
  background: linear-gradient(135deg, rgba(0, 132, 211, 0.12), transparent 42%);
  opacity: 1;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card--resource::after {
  border-color: rgba(0, 102, 179, 0.22);
  background: rgba(0, 132, 211, 0.06);
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card--resource span,
.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card--resource strong {
  color: var(--yao-ink);
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card--resource em {
  color: #657789;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card:hover {
  transform: translateY(-8px);
  border-color: rgba(0, 160, 233, 0.48);
  box-shadow: 0 24px 70px rgba(0, 70, 120, 0.16);
}

.theme-catl .catl-evidence-briefs {
  --evidence-progress: 0;
  --section-story-progress: 0;
  --section-story-presence: 0;
  background:
    linear-gradient(180deg, #ffffff 0%, #f5faff 100%);
}

.theme-catl .catl-evidence-briefs__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
  gap: 1px;
  margin-top: clamp(2.8rem, 5vw, 5rem);
  background: rgba(0, 102, 179, 0.14);
  border: 1px solid rgba(0, 102, 179, 0.14);
}

.theme-catl .catl-evidence-brief {
  position: relative;
  display: grid;
  min-height: clamp(420px, 34vw, 560px);
  color: var(--yao-ink);
  background: #ffffff;
  overflow: hidden;
  text-decoration: none;
  transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 320ms ease, opacity 260ms ease;
}

.theme-catl .catl-evidence-brief:first-child {
  grid-row: span 2;
}

.theme-catl .catl-evidence-brief:not(:first-child) {
  min-height: clamp(250px, 17vw, 280px);
}

.theme-catl .catl-evidence-brief__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.theme-catl .catl-evidence-brief__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.2) 34%, rgba(255,255,255,0.96) 78%),
    linear-gradient(90deg, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.18) 44%, rgba(255,255,255,0) 100%);
}

.theme-catl .catl-evidence-brief__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: saturate(0.82) contrast(1.02);
  transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1), filter 420ms ease;
}

.theme-catl .catl-evidence-brief__body {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: end;
  gap: 1rem;
  min-height: 100%;
  padding: clamp(1.5rem, 2.6vw, 2.7rem);
}

.theme-catl .catl-evidence-brief__type {
  width: fit-content;
  padding: 0.42rem 0.62rem;
  color: var(--catl-blue);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(0, 102, 179, 0.16);
}

.theme-catl .catl-evidence-brief strong {
  max-width: 16ch;
  font-size: clamp(1.55rem, 2.3vw, 2.55rem);
  font-weight: 720;
  line-height: 1.05;
}

.theme-catl .catl-evidence-brief__body > span:last-child {
  max-width: 52ch;
  color: #637586;
  line-height: 1.7;
}

.theme-catl .catl-evidence-brief:hover,
.theme-catl .catl-evidence-brief.is-storyline-current {
  transform: translateY(-8px);
  box-shadow: 0 28px 78px rgba(0, 102, 179, 0.13);
  z-index: 2;
}

.theme-catl .catl-evidence-brief:hover img,
.theme-catl .catl-evidence-brief.is-storyline-current img {
  transform: scale(1.075);
  filter: saturate(0.98) contrast(1.04);
}

.theme-catl .catl-evidence-brief.is-storyline-muted {
  opacity: 0.86;
  filter: saturate(0.86);
}

.theme-catl .catl-evidence-brief.is-storyline-muted .catl-evidence-brief__media::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.28) 34%, rgba(255,255,255,0.94) 78%),
    linear-gradient(90deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.22) 44%, rgba(255,255,255,0.04) 100%);
}

@media (max-width: 1100px) {
  .theme-catl .hero-catl__gateway.hero-catl__gateway--dock {
    grid-template-columns: 1fr;
    width: min(88vw, 680px);
  }

  .theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card + .hero-catl__gateway-card {
    border-left: 1px solid rgba(255,255,255,0.10);
    border-top: 0;
  }

  .theme-catl .catl-evidence-briefs__grid {
    grid-template-columns: 1fr;
  }

  .theme-catl .catl-evidence-brief:first-child {
    grid-row: auto;
  }
}

/* Hero dock spacing correction: the dock is the CTA, so body copy must never sit underneath it. */
.theme-catl .hero-catl {
  min-height: clamp(820px, 92vh, 980px);
}

.theme-catl .hero-catl__content {
  padding-bottom: clamp(15rem, 25vh, 21rem) !important;
}

.theme-catl .hero-catl__lede {
  max-width: 43rem;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock {
  bottom: clamp(1.5rem, 3.4vw, 3.2rem);
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card {
  min-height: clamp(118px, 11vw, 154px);
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card strong {
  font-size: clamp(1.18rem, 1.65vw, 1.72rem);
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card em {
  font-size: 0.82rem;
}

@media (max-width: 1100px) {
  .theme-catl .hero-catl {
    min-height: 980px;
  }

  .theme-catl .hero-catl__content {
    padding-bottom: 23rem !important;
  }
}

/* Taste pass: make the knowledge section feel like a resource desk, not a generic blog grid. */
.theme-catl .catl-news-benchmark {
  background:
    linear-gradient(180deg, #f7fbff 0%, #ffffff 42%, #f4f9fd 100%);
}

.theme-catl .catl-news-benchmark .news-section__head {
  align-items: end;
  padding-bottom: clamp(2.4rem, 4vw, 4rem);
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .catl-news-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(460px, 1.05fr);
  gap: 1px;
  background: rgba(0, 102, 179, 0.14);
  border: 1px solid rgba(0, 102, 179, 0.14);
  box-shadow: none !important;
}

.theme-catl .catl-news-layout .news-item {
  background: #ffffff;
}

.theme-catl .catl-news-layout .news-item--featured {
  display: grid;
  grid-template-rows: minmax(300px, 0.9fr) auto;
  min-height: 720px;
  border: 0 !important;
}

.theme-catl .catl-news-layout .news-item__thumb {
  position: relative;
  min-height: 320px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.theme-catl .catl-news-layout .news-item__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 20%, rgba(255,255,255,0.78) 100%),
    linear-gradient(90deg, rgba(255,255,255,0.72), rgba(255,255,255,0.02));
}

.theme-catl .catl-news-layout .news-item__thumb img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  filter: saturate(0.88) contrast(1.02);
  transition: transform 720ms cubic-bezier(0.16, 1, 0.3, 1), filter 420ms ease;
}

.theme-catl .catl-news-layout .news-item--featured:hover .news-item__thumb img {
  transform: scale(1.06);
  filter: saturate(1) contrast(1.04);
}

.theme-catl .catl-news-layout .news-item__body {
  padding: clamp(1.6rem, 2.7vw, 2.8rem);
}

.theme-catl .news-item__meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  align-items: center;
  color: var(--catl-blue);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.theme-catl .news-item__meta-line span + span {
  color: rgba(16, 32, 51, 0.44);
}

.theme-catl .catl-news-layout .news-item__title--featured {
  max-width: 14ch;
  margin-top: 1.2rem;
  font-size: clamp(2.1rem, 3.2vw, 4rem);
  font-weight: 680;
  line-height: 0.98;
}

.theme-catl .catl-news-layout .news-item__excerpt {
  max-width: 54ch;
  color: #5f7284;
  line-height: 1.72;
}

.theme-catl .catl-news-list {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(0, 102, 179, 0.14);
}

.theme-catl .catl-news-list .news-item--compact {
  display: grid;
  grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 2rem);
  min-height: 238px;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden;
}

.theme-catl .news-item__mini-media {
  position: relative;
  min-height: 100%;
  overflow: hidden;
}

.theme-catl .news-item__mini-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0.08), rgba(255,255,255,0.76));
}

.theme-catl .news-item__mini-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.82);
  transition: transform 560ms cubic-bezier(0.16, 1, 0.3, 1), filter 320ms ease;
}

.theme-catl .news-item--compact:hover .news-item__mini-media img {
  transform: scale(1.08);
  filter: saturate(1);
}

.theme-catl .news-item__compact-body {
  display: grid;
  align-content: center;
  gap: 0.75rem;
  padding: clamp(1.2rem, 2vw, 2rem) clamp(1.2rem, 2.3vw, 2.4rem) clamp(1.2rem, 2vw, 2rem) 0;
}

.theme-catl .catl-news-list .news-item__title {
  max-width: 24ch;
  margin: 0;
  font-size: clamp(1.22rem, 1.75vw, 1.8rem);
  line-height: 1.12;
}

.theme-catl .news-item__excerpt--compact {
  max-width: 54ch;
  color: #657789;
  font-size: 0.9rem;
  line-height: 1.58;
}

.theme-catl .catl-news-list .news-item__cta {
  margin-top: 0.35rem;
  color: var(--catl-blue);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.theme-catl .catl-news-layout .news-item.is-storyline-current {
  transform: translateY(-6px);
  box-shadow: 0 22px 64px rgba(0, 102, 179, 0.12);
  z-index: 3;
}

.theme-catl .catl-news-layout .news-item.is-storyline-muted {
  opacity: 0.82;
  filter: saturate(0.86);
}

@media (max-width: 1100px) {
  .theme-catl .catl-news-layout {
    grid-template-columns: 1fr;
  }

  .theme-catl .catl-news-layout .news-item--featured {
    min-height: auto;
  }

  .theme-catl .catl-news-list .news-item--compact {
    grid-template-columns: 1fr;
  }

  .theme-catl .news-item__mini-media {
    min-height: 220px;
  }

  .theme-catl .news-item__compact-body {
    padding: 1.4rem;
  }
}

/* Taste pass: newsletter as a technical brief signup, not a generic email box. */
.theme-catl .newsletter-catl {
  background:
    linear-gradient(180deg, #ffffff 0%, #f3f9fe 100%);
  border-top: 1px solid rgba(0, 102, 179, 0.12);
}

.theme-catl .newsletter-catl__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.72fr) !important;
  align-items: end;
  gap: clamp(2rem, 5vw, 6rem);
}

.theme-catl .newsletter-catl__title {
  max-width: 12ch;
}

.theme-catl .newsletter-catl__topics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
}

.theme-catl .newsletter-catl__topics span {
  padding: 0.58rem 0.74rem;
  color: #24435d;
  font-size: 0.78rem;
  font-weight: 800;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(0, 102, 179, 0.16);
}

.theme-catl .newsletter-catl__panel {
  display: grid;
  gap: 1.1rem;
  padding: clamp(1.4rem, 2.4vw, 2.4rem);
  background:
    linear-gradient(135deg, rgba(0, 132, 211, 0.09), rgba(255,255,255,0) 46%),
    #ffffff;
  border: 1px solid rgba(0, 102, 179, 0.16);
  box-shadow: 0 24px 70px rgba(0, 70, 120, 0.08);
}

.theme-catl .newsletter-catl__panel-kicker {
  color: var(--catl-blue);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.theme-catl .newsletter-catl__panel p {
  max-width: 42ch;
  margin: 0;
  color: #657789;
  line-height: 1.62;
}

.theme-catl .newsletter-catl__panel .newsletter-catl__form {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0;
  padding: 0;
  border: 1px solid rgba(0, 102, 179, 0.16);
  background: #ffffff;
  box-shadow: none !important;
}

.theme-catl .newsletter-catl__panel .newsletter-catl__form input[type="email"] {
  min-height: 68px;
  padding: 0 1.1rem;
  border: 0;
}

.theme-catl .newsletter-catl__panel .newsletter-catl__form button {
  min-height: 68px;
  padding: 0 1.35rem;
  color: #ffffff;
  background: var(--catl-blue);
  border-left: 1px solid rgba(0, 102, 179, 0.16);
}

@media (max-width: 900px) {
  .theme-catl .newsletter-catl__grid {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .newsletter-catl__panel .newsletter-catl__form {
    grid-template-columns: 1fr;
  }

  .theme-catl .newsletter-catl__panel .newsletter-catl__form button {
    width: 100%;
    justify-content: center;
  }
}

/* Taste pass: footer becomes a decision close, not a decorative link warehouse. */
.theme-catl .yao-footer.yao-footer--gateway {
  position: relative;
  padding: clamp(3rem, 6vw, 6rem) 0 2rem;
  background:
    linear-gradient(180deg, #f3f9fe 0%, #ffffff 28%, #f2f8fd 100%);
  border-top: 1px solid rgba(0, 102, 179, 0.12);
  overflow: hidden;
}

.theme-catl .yao-footer.yao-footer--gateway::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(0, 102, 179, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 102, 179, 0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(180deg, transparent 0%, #000 16%, #000 70%, transparent 100%);
  pointer-events: none;
}

.theme-catl .yao-footer--gateway .catl-footer__twin {
  display: none !important;
}

.theme-catl .yao-footer__decision,
.theme-catl .yao-footer__grid,
.theme-catl .yao-footer__bottom {
  position: relative;
  z-index: 1;
  width: min(76vw, 1480px);
  margin-inline: auto;
}

.theme-catl .yao-footer__decision {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: end;
  padding-bottom: clamp(2.8rem, 5vw, 5rem);
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .yao-footer--gateway .yao-footer__brand {
  max-width: 620px;
}

.theme-catl .yao-footer--gateway .yao-footer__brand h2 {
  max-width: 11ch;
  margin: clamp(1.4rem, 3vw, 2.4rem) 0 1.1rem;
  color: var(--yao-ink);
  font-size: clamp(2.4rem, 5vw, 5.8rem);
  font-weight: 360;
  line-height: 0.98;
}

.theme-catl .yao-footer--gateway .yao-footer__brand p {
  max-width: 48ch;
  color: #607284;
  font-size: 1rem;
  line-height: 1.72;
}

.theme-catl .yao-footer__routes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgba(0, 102, 179, 0.16);
  border: 1px solid rgba(0, 102, 179, 0.16);
}

.theme-catl .yao-footer__routes a {
  display: grid;
  align-content: end;
  min-height: clamp(260px, 22vw, 360px);
  padding: clamp(1.4rem, 2.6vw, 2.8rem);
  color: #ffffff;
  text-decoration: none;
  background:
    linear-gradient(140deg, rgba(0, 132, 211, 0.2), transparent 42%),
    #071928;
  transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 320ms ease, background 260ms ease;
}

.theme-catl .yao-footer__routes a:nth-child(2) {
  background:
    linear-gradient(140deg, rgba(0, 160, 233, 0.16), transparent 44%),
    #102033;
}

.theme-catl .yao-footer__routes a:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 72px rgba(0, 70, 120, 0.16);
  z-index: 2;
}

.theme-catl .yao-footer__routes span {
  color: rgba(162, 219, 255, 0.94);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.theme-catl .yao-footer__routes strong {
  margin-top: 0.8rem;
  color: #ffffff;
  font-size: clamp(1.7rem, 2.8vw, 3rem);
  line-height: 1;
}

.theme-catl .yao-footer__routes em {
  max-width: 36ch;
  margin-top: 1rem;
  color: rgba(226, 239, 248, 0.68);
  font-style: normal;
  line-height: 1.62;
}

.theme-catl .yao-footer--gateway .yao-footer__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 1px;
  padding: 0;
  margin-top: 0;
  background: rgba(0, 102, 179, 0.12);
  border-left: 1px solid rgba(0, 102, 179, 0.12);
  border-right: 1px solid rgba(0, 102, 179, 0.12);
}

.theme-catl .yao-footer--gateway .yao-footer__col {
  display: grid;
  align-content: start;
  gap: 0.9rem;
  min-height: 260px;
  padding: clamp(1.35rem, 2.2vw, 2.2rem);
  background: rgba(255, 255, 255, 0.9);
}

.theme-catl .yao-footer--gateway .yao-footer__col h4 {
  margin: 0 0 0.6rem;
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.theme-catl .yao-footer--gateway .yao-footer__col a {
  color: #26394b;
  text-decoration: none;
  line-height: 1.45;
}

.theme-catl .yao-footer--gateway .yao-footer__col a:hover {
  color: var(--catl-blue);
}

.theme-catl .yao-footer--gateway .yao-footer__col p {
  margin: 0;
  color: #657789;
  line-height: 1.68;
}

.theme-catl .yao-footer--gateway .yao-footer__col--inquiry a {
  width: fit-content;
  margin-top: 0.5rem;
  padding: 0.8rem 1rem;
  color: #ffffff;
  font-weight: 800;
  background: var(--catl-blue);
}

.theme-catl .yao-footer--gateway .yao-footer__bottom {
  padding-top: 1.4rem;
}

@media (max-width: 1100px) {
  .theme-catl .yao-footer__decision,
  .theme-catl .yao-footer__grid,
  .theme-catl .yao-footer__bottom {
    width: min(88vw, 760px);
  }

  .theme-catl .yao-footer__decision,
  .theme-catl .yao-footer__routes,
  .theme-catl .yao-footer--gateway .yao-footer__grid {
    grid-template-columns: 1fr;
  }

  .theme-catl .yao-footer--gateway .yao-footer__col {
    min-height: auto;
  }
}

/* Modern restraint pass: less sci-fi UI, more calm industrial brand surface. */
.theme-catl .hero-catl__showcase-media.has-gsap-signature::after {
  background:
    linear-gradient(90deg, rgba(0, 102, 179, 0.08), transparent 34%),
    radial-gradient(circle at 72% 34%, rgba(0, 132, 211, calc(0.04 + var(--scan-glow, 0) * 0.08)), transparent 26%),
    linear-gradient(180deg, transparent 68%, rgba(4, 20, 36, 0.08));
}

.theme-catl .hero-catl__showcase-media .gsap-scan-beam {
  width: 13%;
  min-width: 54px;
  opacity: 0.54;
  background:
    linear-gradient(90deg, transparent 0%, rgba(0, 132, 211, 0.08) 24%, rgba(255, 255, 255, 0.58) 50%, rgba(0, 132, 211, 0.12) 66%, transparent 100%);
  filter:
    blur(0.7px)
    drop-shadow(0 0 calc(8px + var(--scan-glow, 0) * 10px) rgba(0, 132, 211, 0.38));
  transform: skewX(-10deg);
}

.theme-catl .hero-catl__showcase-media .gsap-scan-target {
  opacity: 0.42;
  filter: saturate(0.82);
}

.theme-catl .catl-section-kicker,
.theme-catl .hero-catl__eyebrow,
.theme-catl .eyebrow,
.theme-catl .news-item__meta-line,
.theme-catl .catl-evidence-brief__type,
.theme-catl .newsletter-catl__panel-kicker,
.theme-catl .yao-footer__routes span,
.theme-catl .yao-footer--gateway .yao-footer__col h4 {
  letter-spacing: 0.01em;
  text-transform: none;
}

.theme-catl .catl-section-kicker,
.theme-catl .hero-catl__eyebrow,
.theme-catl .eyebrow {
  color: #0066b3;
  background: transparent;
  border-color: rgba(0, 102, 179, 0.16);
}

.gsap-storyline {
  right: clamp(1rem, 2.2vw, 2.4rem);
  width: auto;
  min-width: 84px;
  padding: 0.65rem 0.5rem;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.gsap-storyline__track {
  left: 0.35rem;
  background: rgba(0, 102, 179, 0.14);
}

.gsap-storyline__track i {
  background: rgba(0, 132, 211, 0.86);
  box-shadow: none;
}

.gsap-storyline__node {
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: 0.56rem;
  padding: 0.18rem 0;
}

.gsap-storyline__node::before {
  width: 0.42rem;
  height: 0.42rem;
  border-color: rgba(0, 132, 211, 0.34);
  background: #ffffff;
  box-shadow: none;
}

.gsap-storyline__node b {
  display: none;
}

.gsap-storyline__node em {
  color: rgba(36, 67, 93, 0.54);
  font-size: 0.68rem;
  font-weight: 680;
  letter-spacing: 0;
  text-transform: none;
}

.gsap-storyline__node.is-current em {
  color: var(--catl-blue);
}

.gsap-storyline__node.is-current::before {
  background: var(--catl-blue);
  box-shadow: 0 0 0 5px rgba(0, 132, 211, 0.1);
}

.theme-catl .catl-solution-tile.is-storyline-current,
.theme-catl .catl-process-step.is-storyline-current,
.theme-catl .catl-evidence-brief.is-storyline-current,
.theme-catl .catl-news-layout .news-item.is-storyline-current {
  box-shadow: 0 18px 48px rgba(0, 102, 179, 0.08);
}

.theme-catl .catl-solution-tile.is-storyline-muted,
.theme-catl .catl-process-step.is-storyline-muted,
.theme-catl .catl-evidence-brief.is-storyline-muted,
.theme-catl .catl-news-layout .news-item.is-storyline-muted {
  opacity: 0.9;
  filter: saturate(0.92);
}

/* Real-material editorial pass - factory photography as trust evidence */
.theme-catl .catl-solution-tile__photo,
.theme-catl .catl-evidence-brief__media,
.theme-catl .catl-news-layout .news-item__thumb,
.theme-catl .news-item__mini-media {
  background: #f7fbfd;
  border-color: rgba(16, 46, 73, 0.11);
  box-shadow: 0 24px 60px rgba(21, 55, 82, 0.08);
  isolation: isolate;
}

.theme-catl .catl-solution-tile__photo img,
.theme-catl .catl-evidence-brief__media img,
.theme-catl .catl-news-layout .news-item__thumb img,
.theme-catl .news-item__mini-media img {
  filter: saturate(0.92) contrast(1.03);
}

.theme-catl .catl-solution-tile__photo::before,
.theme-catl .catl-evidence-brief__media::before,
.theme-catl .catl-news-layout .news-item__thumb::before,
.theme-catl .news-item__mini-media::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0) 44%),
    linear-gradient(0deg, rgba(4,22,38,0.18), rgba(4,22,38,0) 42%);
}

.theme-catl .catl-solution-tile:hover .catl-solution-tile__photo img,
.theme-catl .catl-evidence-brief:hover .catl-evidence-brief__media img,
.theme-catl .catl-news-layout .news-item--featured:hover .news-item__thumb img,
.theme-catl .news-item--compact:hover .news-item__mini-media img {
  transform: scale(1.035);
}

.theme-catl .catl-solution-tile__photo {
  min-height: clamp(210px, 26vw, 360px);
}

.theme-catl .catl-solution-tile:nth-child(2) .catl-solution-tile__photo img,
.theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__photo img {
  object-position: center 42%;
}

.theme-catl .catl-evidence-brief__media {
  aspect-ratio: 16 / 10;
}

.theme-catl .catl-news-layout .news-item__thumb {
  min-height: clamp(260px, 28vw, 420px);
}

.theme-catl .news-item__mini-media {
  flex: 0 0 clamp(104px, 11vw, 150px);
}

@media (max-width: 760px) {
  .theme-catl .catl-solution-tile__photo {
    min-height: 220px;
  }

  .theme-catl .catl-news-layout .news-item__thumb {
    min-height: 240px;
  }
}

/* Focused visual QA pass - compact hero, stable media, unclipped resource text */
.theme-catl .hero-catl {
  min-height: clamp(700px, calc(100vh - 32px), 840px) !important;
  overflow: hidden;
}

.theme-catl .hero-catl__content {
  top: clamp(4.8rem, 11vh, 7.4rem) !important;
  max-width: min(38rem, 42vw) !important;
  padding-bottom: clamp(8rem, 15vh, 12rem) !important;
}

.theme-catl .hero-catl__title {
  font-size: clamp(4rem, 5.4vw, 6.8rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.025em !important;
}

.theme-catl .hero-catl__lede {
  max-width: 36rem !important;
  margin-top: clamp(1.4rem, 2.2vh, 2rem) !important;
  color: rgba(65, 83, 101, 0.74) !important;
}

.theme-catl .hero-catl__showcase {
  top: clamp(5.4rem, 12vh, 8.2rem) !important;
  right: clamp(2rem, 5vw, 7rem) !important;
  width: min(43vw, 760px) !important;
  transform: none !important;
}

.theme-catl .hero-catl__showcase-media {
  aspect-ratio: 16 / 10.3 !important;
  height: auto !important;
  min-height: 0 !important;
  border: 1px solid rgba(0, 102, 179, 0.12) !important;
  background: #f7fbff !important;
  box-shadow: 0 28px 80px rgba(20, 74, 111, 0.12) !important;
  contain: paint;
}

.theme-catl .hero-catl__showcase-media video,
.theme-catl .hero-catl__showcase-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.theme-catl .hero-catl__showcase-caption {
  display: none !important;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock {
  left: auto !important;
  right: clamp(2rem, 5vw, 7rem) !important;
  bottom: clamp(2.2rem, 5vh, 4rem) !important;
  width: min(48vw, 880px) !important;
  max-width: calc(100vw - 14rem) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  transform: none !important;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card {
  min-height: 128px !important;
  padding: clamp(1.3rem, 1.6vw, 1.8rem) !important;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card--resource {
  display: none !important;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card strong {
  max-width: 17ch;
  font-size: clamp(1.24rem, 1.35vw, 1.58rem) !important;
  line-height: 1.04 !important;
}

.theme-catl .hero-catl__gateway.hero-catl__gateway--dock .hero-catl__gateway-card em {
  max-width: 28ch;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
}

.theme-catl .hero-catl__showcase-media .gsap-scan-beam {
  width: 24% !important;
  opacity: 0 !important;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.42) 42%, rgba(0,160,233,0.16) 52%, transparent 100%) !important;
  filter: blur(16px) !important;
  mix-blend-mode: screen !important;
}

.theme-catl .hero-catl__showcase-media.has-gsap-signature::after {
  opacity: 0.18 !important;
}

.theme-catl .hero-catl__showcase-media .gsap-scan-target {
  opacity: 0.24 !important;
}

.theme-catl .catl-news-layout {
  grid-template-columns: minmax(0, 0.92fr) minmax(520px, 1.08fr) !important;
  align-items: stretch !important;
  overflow: visible !important;
}

.theme-catl .catl-news-layout .news-item,
.theme-catl .catl-news-list .news-item--compact {
  overflow: visible !important;
}

.theme-catl .catl-news-layout .news-item--featured {
  min-height: 620px !important;
  grid-template-rows: minmax(260px, 0.76fr) auto !important;
}

.theme-catl .catl-news-layout .news-item__body {
  min-width: 0;
  padding: clamp(1.7rem, 2.2vw, 2.4rem) !important;
}

.theme-catl .catl-news-layout .news-item__title--featured {
  max-width: 18ch !important;
  font-size: clamp(1.9rem, 2.45vw, 3.1rem) !important;
  line-height: 1.04 !important;
  overflow-wrap: anywhere;
}

.theme-catl .catl-news-list {
  grid-template-rows: none !important;
  align-content: stretch !important;
}

.theme-catl .catl-news-list .news-item--compact {
  grid-template-columns: minmax(132px, 0.34fr) minmax(0, 1fr) !important;
  min-height: 0 !important;
}

.theme-catl .news-item__compact-body {
  min-width: 0;
  align-content: start !important;
  padding: clamp(1.25rem, 1.6vw, 1.75rem) clamp(1.25rem, 2vw, 2rem) !important;
}

.theme-catl .catl-news-list .news-item__title {
  max-width: none !important;
  font-size: clamp(1.08rem, 1.28vw, 1.42rem) !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere;
}

.theme-catl .news-item__excerpt--compact {
  display: block !important;
  max-width: none !important;
  font-size: 0.84rem !important;
  line-height: 1.5 !important;
}

.theme-catl .catl-news-list .news-item__cta {
  position: static !important;
  align-self: end;
}

@media (max-width: 1280px) {
  .theme-catl .hero-catl__content {
    max-width: 40rem !important;
  }

  .theme-catl .hero-catl__showcase {
    width: min(45vw, 700px) !important;
  }

  .theme-catl .hero-catl__gateway.hero-catl__gateway--dock {
    width: min(51vw, 820px) !important;
  }
}

@media (max-width: 1100px) {
  .theme-catl .hero-catl {
    min-height: 980px !important;
  }

  .theme-catl .hero-catl__content,
  .theme-catl .hero-catl__showcase,
  .theme-catl .hero-catl__gateway.hero-catl__gateway--dock {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
  }

  .theme-catl .hero-catl__content {
    padding-bottom: 2rem !important;
  }

  .theme-catl .hero-catl__gateway.hero-catl__gateway--dock {
    margin-top: 1rem;
  }

  .theme-catl .catl-news-layout {
    grid-template-columns: 1fr !important;
  }
}

/* Resource evidence cards - keep the image-led idea without text collisions */
.theme-catl .catl-evidence-briefs__grid {
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr) !important;
  align-items: stretch;
  overflow: visible;
}

.theme-catl .catl-evidence-brief {
  grid-template-rows: auto auto !important;
  align-content: start !important;
  min-height: auto !important;
  overflow: visible !important;
  background: #ffffff;
}

.theme-catl .catl-evidence-brief:first-child {
  grid-row: span 2;
}

.theme-catl .catl-evidence-brief:first-child .catl-evidence-brief__media {
  min-height: clamp(310px, 24vw, 430px);
}

.theme-catl .catl-evidence-brief:not(:first-child) .catl-evidence-brief__media {
  min-height: clamp(160px, 12vw, 210px);
}

.theme-catl .catl-evidence-brief__media {
  position: relative !important;
  inset: auto !important;
  display: block;
  overflow: hidden;
  background: #eef7ff;
}

.theme-catl .catl-evidence-brief__media::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.08) 48%, rgba(255,255,255,0.3) 100%),
    linear-gradient(110deg, rgba(255,255,255,0.58), rgba(255,255,255,0.08) 38%, rgba(0,132,211,0.10) 100%) !important;
}

.theme-catl .catl-evidence-brief__body {
  min-height: auto !important;
  align-content: start !important;
  gap: clamp(0.65rem, 1vw, 0.95rem) !important;
  padding: clamp(1.35rem, 2vw, 2.15rem) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), #ffffff 46%),
    #ffffff;
}

.theme-catl .catl-evidence-brief strong {
  max-width: 24ch !important;
  font-size: clamp(1.28rem, 1.7vw, 2.05rem) !important;
  line-height: 1.12 !important;
}

.theme-catl .catl-evidence-brief__body > span:last-child {
  max-width: 58ch !important;
  font-size: clamp(0.9rem, 0.95vw, 1rem);
  line-height: 1.62 !important;
}

.theme-catl .catl-evidence-brief:not(:first-child) strong {
  font-size: clamp(1.12rem, 1.22vw, 1.45rem) !important;
}

.theme-catl .catl-evidence-brief:not(:first-child) .catl-evidence-brief__body > span:last-child {
  font-size: 0.88rem;
  line-height: 1.55 !important;
}

@media (min-width: 1400px) {
  .theme-catl .hero-catl__showcase {
    right: clamp(2rem, 3.2vw, 4.8rem) !important;
    width: min(46vw, 940px) !important;
  }
}

@media (max-width: 1100px) {
  .theme-catl .catl-evidence-briefs__grid {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .catl-evidence-brief:first-child {
    grid-row: auto;
  }

  .theme-catl .catl-evidence-brief:first-child .catl-evidence-brief__media,
  .theme-catl .catl-evidence-brief:not(:first-child) .catl-evidence-brief__media {
    min-height: clamp(190px, 46vw, 320px);
  }
}

/* Inner page differentiation pass - resources and case evidence */
.theme-catl .page-hero--resources,
.theme-catl .page-hero--case-studies {
  min-height: clamp(560px, 62vh, 720px);
  display: grid;
  align-items: center;
  padding-top: clamp(5rem, 8vw, 7.2rem) !important;
  padding-bottom: clamp(4rem, 7vw, 6.8rem) !important;
}

.theme-catl .page-hero--resources .page-hero__inner,
.theme-catl .page-hero--case-studies .page-hero__inner {
  width: min(100% - 2.5rem, 1280px);
  max-width: none !important;
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(360px, 0.84fr);
  column-gap: clamp(3rem, 9vw, 9rem);
  row-gap: 2rem;
  align-items: center;
}

.theme-catl .page-hero--resources .breadcrumb-catl,
.theme-catl .page-hero--case-studies .breadcrumb-catl,
.theme-catl .page-hero--resources .page-hero__eyebrow,
.theme-catl .page-hero--case-studies .page-hero__eyebrow,
.theme-catl .page-hero--resources .page-hero__title,
.theme-catl .page-hero--case-studies .page-hero__title,
.theme-catl .page-hero--resources .page-hero__lede,
.theme-catl .page-hero--case-studies .page-hero__lede {
  grid-column: 1;
}

.theme-catl .page-hero--resources .page-hero__title,
.theme-catl .page-hero--case-studies .page-hero__title {
  max-width: 13.4ch !important;
  font-size: clamp(3.3rem, 6.2vw, 6rem) !important;
  font-weight: 360;
  line-height: 0.98;
  text-wrap: balance;
}

.theme-catl .page-hero--resources .page-hero__lede,
.theme-catl .page-hero--case-studies .page-hero__lede {
  max-width: 54ch;
  color: #506579;
}

.theme-catl .page-hero__visual {
  grid-column: 2;
  grid-row: 1 / span 4;
  position: relative;
  min-height: clamp(360px, 37vw, 520px);
}

.theme-catl .page-hero__visual--resources {
  display: grid;
  align-content: center;
  gap: 1px;
  padding: clamp(1rem, 1.8vw, 1.5rem);
  border: 1px solid rgba(0, 102, 179, 0.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(241,249,255,0.86)),
    linear-gradient(90deg, rgba(0,102,179,0.055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(0,102,179,0.045) 1px, transparent 1px);
  background-size: auto, 44px 44px, 44px 44px;
  box-shadow: 0 22px 70px rgba(0, 102, 179, 0.12);
  overflow: hidden;
}

.theme-catl .resource-console__rail {
  position: absolute;
  inset: 1.2rem auto 1.2rem 1.2rem;
  width: 2px;
  background: linear-gradient(180deg, rgba(0,132,211,0), rgba(0,132,211,0.72), rgba(0,132,211,0));
}

.theme-catl .resource-console__header,
.theme-catl .resource-console__stack span,
.theme-catl .resource-console__matrix {
  position: relative;
  margin-left: clamp(1.4rem, 2vw, 2.2rem);
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(0, 102, 179, 0.12);
}

.theme-catl .resource-console__header {
  display: grid;
  gap: 0.45rem;
  padding: clamp(1rem, 1.7vw, 1.45rem);
}

.theme-catl .resource-console__header span,
.theme-catl .resource-console__stack b,
.theme-catl .resource-console__matrix span {
  color: var(--catl-blue);
  font-size: 0.76rem;
  font-weight: 820;
}

.theme-catl .resource-console__header strong {
  max-width: 18ch;
  color: var(--text-primary);
  font-size: clamp(1.45rem, 2.4vw, 2.4rem);
  font-weight: 560;
  line-height: 1.06;
}

.theme-catl .resource-console__stack {
  display: grid;
  gap: 0.72rem;
  margin: clamp(1.3rem, 2.4vw, 2rem) 0;
}

.theme-catl .resource-console__stack span {
  --shift: calc(var(--i) * 1rem);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  width: calc(100% - var(--shift));
  min-height: 54px;
  margin-left: calc(clamp(1.4rem, 2vw, 2.2rem) + var(--shift));
  padding: 1rem;
  color: #24364a;
  font-weight: 620;
}

.theme-catl .resource-console__matrix {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding: 0;
  background: rgba(0, 102, 179, 0.12);
}

.theme-catl .resource-console__matrix span {
  min-height: 72px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.92);
}

.theme-catl .page-hero__visual--cases {
  display: grid;
  grid-template-rows: minmax(260px, 1fr) auto;
  border: 1px solid rgba(0, 102, 179, 0.16);
  background: #fff;
  box-shadow: 0 22px 70px rgba(0, 102, 179, 0.12);
}

.theme-catl .page-hero__visual--cases figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #eaf4fb;
}

.theme-catl .page-hero__visual--cases figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.32)),
    linear-gradient(110deg, rgba(0,102,179,0.18), transparent 52%);
  pointer-events: none;
}

.theme-catl .page-hero__visual--cases img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.92) contrast(1.02);
}

.theme-catl .case-hero-record {
  display: grid;
  gap: 0.55rem;
  padding: clamp(1rem, 2vw, 1.6rem);
  border-top: 1px solid rgba(0, 102, 179, 0.12);
}

.theme-catl .case-hero-record span,
.theme-catl .page-hero__visual--cases li {
  color: var(--catl-blue);
  font-size: 0.76rem;
  font-weight: 820;
}

.theme-catl .case-hero-record strong {
  color: var(--text-primary);
  font-size: clamp(1.25rem, 1.7vw, 1.8rem);
  line-height: 1.1;
}

.theme-catl .case-hero-record em {
  color: #607284;
  font-style: normal;
  font-size: 0.9rem;
}

.theme-catl .page-hero__visual--cases ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(0, 102, 179, 0.12);
}

.theme-catl .page-hero__visual--cases li {
  min-height: 58px;
  display: grid;
  place-items: center;
  padding: 0.75rem;
  text-align: center;
  border-right: 1px solid rgba(0, 102, 179, 0.12);
}

.theme-catl .page-hero__visual--cases li:last-child {
  border-right: 0;
}

.theme-catl .resource-library > .container-catl {
  display: grid;
  grid-template-columns: minmax(230px, 0.32fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5.5rem);
}

.theme-catl .resource-library__index {
  position: sticky;
  top: 112px;
  align-self: start;
  padding: 1.1rem;
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: rgba(255, 255, 255, 0.9);
}

.theme-catl .resource-library__index h2 {
  max-width: 13ch;
  margin: 0.55rem 0 1.2rem;
  color: var(--text-primary);
  font-size: clamp(1.45rem, 2vw, 2.05rem);
  line-height: 1.08;
}

.theme-catl .resource-library__index nav {
  display: grid;
  gap: 0.35rem;
}

.theme-catl .resource-library__index nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 0 0.75rem;
  color: #30445a;
  text-decoration: none;
  border: 1px solid rgba(16, 32, 51, 0.08);
  background: rgba(246, 251, 255, 0.72);
}

.theme-catl .resource-library__index nav a::after {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border: 1px solid rgba(0, 102, 179, 0.42);
}

.theme-catl .resource-library__index nav a:hover {
  color: var(--catl-blue);
  background: #fff;
}

.theme-catl .resource-featured {
  position: relative;
  display: grid;
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 3rem);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(0, 102, 179, 0.96), rgba(4, 24, 42, 0.98)),
    linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: auto, 44px 44px;
  overflow: hidden;
}

.theme-catl .resource-featured::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, #00a0e9, rgba(255,255,255,0.24));
}

.theme-catl .resource-featured span,
.theme-catl .resource-featured a {
  color: #a8dcff;
}

.theme-catl .resource-featured h2 {
  max-width: 18ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 4.2rem);
  font-weight: 480;
  line-height: 1;
}

.theme-catl .resource-featured p {
  max-width: 58ch;
  margin: 0;
  color: rgba(236, 247, 255, 0.78);
  line-height: 1.7;
}

.theme-catl .resource-featured a {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-weight: 820;
  text-decoration: none;
}

.theme-catl .resource-section {
  padding: clamp(2rem, 4vw, 3.4rem) 0;
  border-bottom: 1px solid rgba(16, 32, 51, 0.1);
}

.theme-catl .resource-section__head {
  display: grid;
  grid-template-columns: minmax(160px, 0.25fr) minmax(0, 0.75fr);
  gap: 1rem;
  align-items: end;
  margin-bottom: 1rem;
}

.theme-catl .resource-section__head span {
  color: var(--catl-blue);
  font-weight: 820;
}

.theme-catl .resource-section__head h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.7rem, 2.8vw, 3rem);
  line-height: 1.04;
}

.theme-catl .resource-section__head p {
  grid-column: 2;
  max-width: 58ch;
  margin: 0;
  color: #5c7082;
  line-height: 1.68;
}

.theme-catl .resource-table {
  display: grid;
  border: 1px solid rgba(16, 32, 51, 0.1);
  background: rgba(16, 32, 51, 0.08);
  gap: 1px;
}

.theme-catl .resource-table a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px 92px minmax(120px, 0.28fr);
  gap: 1rem;
  align-items: center;
  min-height: 76px;
  padding: 1rem 1.2rem;
  color: #26384b;
  background: #fff;
  text-decoration: none;
}

.theme-catl .resource-table a:hover {
  background: rgba(246, 251, 255, 0.9);
}

.theme-catl .resource-table strong {
  color: var(--text-primary);
  font-size: clamp(1rem, 1.1vw, 1.1rem);
  line-height: 1.25;
}

.theme-catl .resource-table span,
.theme-catl .resource-table small,
.theme-catl .resource-table em {
  color: #647789;
  font-size: 0.84rem;
  font-style: normal;
}

.theme-catl .resource-table em {
  color: var(--catl-blue);
  font-weight: 760;
}

.theme-catl .case-editorial__intro {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(280px, 0.42fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  margin-bottom: clamp(2.2rem, 5vw, 4.4rem);
}

.theme-catl .case-editorial__intro h2,
.theme-catl .case-study-proof__head h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2.2rem, 4.8vw, 5rem);
  font-weight: 400;
  line-height: 1;
  text-wrap: balance;
}

.theme-catl .case-editorial__intro h2 {
  max-width: 12ch;
}

.theme-catl .case-editorial__intro p {
  max-width: 48ch;
  margin: 0;
  color: #51677a;
  line-height: 1.72;
}

.theme-catl .case-featured {
  display: grid;
  grid-template-columns: minmax(360px, 0.98fr) minmax(320px, 0.62fr);
  min-height: clamp(430px, 42vw, 620px);
  border: 1px solid rgba(16, 32, 51, 0.11);
  background: #fff;
}

.theme-catl .case-featured__media {
  position: relative;
  overflow: hidden;
  background: #eaf4fb;
}

.theme-catl .case-featured__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.22)),
    linear-gradient(115deg, rgba(0,102,179,0.18), transparent 54%);
  pointer-events: none;
}

.theme-catl .case-featured__media img,
.theme-catl .case-row-list__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(0.94) contrast(1.03);
  transform: scale(1.01);
  transition: transform 900ms var(--ease-catl), filter 900ms var(--ease-catl);
}

.theme-catl .case-featured:hover img,
.theme-catl .case-row-list article:hover img {
  filter: saturate(1.04) contrast(1.04);
  transform: scale(1.045);
}

.theme-catl .case-featured__body {
  display: grid;
  align-content: end;
  gap: 0.9rem;
  padding: clamp(1.6rem, 3vw, 3.2rem);
}

.theme-catl .case-featured__body > span,
.theme-catl .case-row-list article > div > span {
  color: var(--catl-blue);
  font-size: 0.78rem;
  font-weight: 820;
}

.theme-catl .case-featured__body h3 {
  max-width: 17ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 3.5vw, 4rem);
  line-height: 1;
}

.theme-catl .case-featured__body p,
.theme-catl .case-row-list p {
  margin: 0;
  color: #51677a;
  line-height: 1.7;
}

.theme-catl .case-featured__body small,
.theme-catl .case-row-list small {
  color: #748597;
  font-size: 0.84rem;
}

.theme-catl .case-featured__body a,
.theme-catl .case-row-list article > a:last-child {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  color: var(--catl-blue);
  font-weight: 820;
  text-decoration: none;
}

.theme-catl .case-row-list {
  display: grid;
  margin-top: clamp(1.6rem, 3vw, 2.6rem);
  border: 1px solid rgba(16, 32, 51, 0.1);
  background: rgba(16, 32, 51, 0.08);
  gap: 1px;
}

.theme-catl .case-row-list article {
  display: grid;
  grid-template-columns: minmax(210px, 0.34fr) minmax(0, 1fr) minmax(150px, 0.24fr) auto;
  gap: clamp(1rem, 2.4vw, 2.4rem);
  align-items: center;
  min-height: 190px;
  padding: 0;
  background: #fff;
}

.theme-catl .case-row-list__thumb {
  height: 100%;
  min-height: 190px;
  overflow: hidden;
  background: #eaf4fb;
}

.theme-catl .case-row-list article > div {
  display: grid;
  gap: 0.5rem;
  padding-block: 1.3rem;
}

.theme-catl .case-row-list h3 {
  max-width: 28ch;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.25rem, 1.9vw, 2rem);
  line-height: 1.08;
}

.theme-catl .case-row-list small {
  max-width: 18ch;
}

.theme-catl .case-row-list article > a:last-child {
  margin-right: 1.2rem;
}

@media (max-width: 1100px) {
  .theme-catl .page-hero--resources .page-hero__inner,
  .theme-catl .page-hero--case-studies .page-hero__inner,
  .theme-catl .resource-library > .container-catl,
  .theme-catl .case-editorial__intro,
  .theme-catl .case-featured {
    grid-template-columns: 1fr;
  }

  .theme-catl .page-hero__visual {
    grid-column: 1;
    grid-row: auto;
  }

  .theme-catl .resource-library__index {
    position: relative;
    top: auto;
  }

  .theme-catl .case-featured__media {
    min-height: clamp(260px, 48vw, 420px);
  }
}

@media (max-width: 820px) {
  .theme-catl .resource-section__head,
  .theme-catl .resource-table a,
  .theme-catl .case-row-list article {
    grid-template-columns: 1fr;
  }

  .theme-catl .resource-section__head p {
    grid-column: auto;
  }

  .theme-catl .resource-table a {
    gap: 0.45rem;
  }

  .theme-catl .case-row-list article {
    gap: 0;
  }

  .theme-catl .case-row-list article > div,
  .theme-catl .case-row-list small,
  .theme-catl .case-row-list article > a:last-child {
    margin: 0;
    padding: 1.1rem;
  }
}

@media (max-width: 640px) {
  .theme-catl .page-hero--resources,
  .theme-catl .page-hero--case-studies {
    overflow: hidden;
  }

  .theme-catl .page-hero--resources .page-hero__inner,
  .theme-catl .page-hero--case-studies .page-hero__inner {
    width: calc(100% - 2rem);
    min-width: 0;
  }

  .theme-catl .page-hero--resources .page-hero__inner > *,
  .theme-catl .page-hero--case-studies .page-hero__inner > * {
    min-width: 0;
  }

  .theme-catl .page-hero--resources .page-hero__title,
  .theme-catl .page-hero--case-studies .page-hero__title {
    max-width: 100% !important;
    font-size: clamp(2.45rem, 10.4vw, 3.2rem) !important;
    line-height: 1.05 !important;
  }

  .theme-catl .page-hero--resources .page-hero__lede,
  .theme-catl .page-hero--case-studies .page-hero__lede,
  .theme-catl .page-hero__visual {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .theme-catl .page-hero--resources .page-hero__lede,
  .theme-catl .page-hero--case-studies .page-hero__lede {
    max-width: min(31ch, calc(100vw - 2rem)) !important;
    overflow-wrap: break-word;
  }

  .theme-catl .resource-console__matrix {
    grid-template-columns: 1fr;
  }

  .theme-catl .page-hero__visual--cases ul {
    grid-template-columns: 1fr;
  }

  .theme-catl .page-hero__visual--cases li {
    border-right: 0;
    border-bottom: 1px solid rgba(0, 102, 179, 0.12);
  }

  .theme-catl .page-hero__visual--cases li:last-child {
    border-bottom: 0;
  }
}

/* MIT-style SVG accent pass - technical line symbols */
.theme-catl .yao-svg-icon {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  color: currentColor;
}

.theme-catl .yao-svg-icon path {
  vector-effect: non-scaling-stroke;
}

.theme-catl .yao-svg-icon--hero {
  width: clamp(2.35rem, 4vw, 3.25rem);
  height: clamp(2.35rem, 4vw, 3.25rem);
  padding: 0.55rem;
  color: var(--catl-blue);
  border: 1px solid rgba(0, 102, 179, 0.16);
  background: rgba(255, 255, 255, 0.72);
}

.theme-catl .resource-console__header .yao-svg-icon--hero,
.theme-catl .case-hero-record .yao-svg-icon--hero {
  margin-bottom: clamp(0.5rem, 1vw, 0.85rem);
}

.theme-catl .resource-console__stack span {
  align-items: center;
}

.theme-catl .resource-console__stack span .yao-svg-icon {
  color: var(--catl-blue);
}

.theme-catl .resource-console__stack span b {
  margin-left: auto;
}

.theme-catl .resource-console__matrix span,
.theme-catl .page-hero__visual--cases li {
  gap: 0.45rem;
}

.theme-catl .resource-console__matrix .yao-svg-icon,
.theme-catl .page-hero__visual--cases li .yao-svg-icon {
  width: 1.3rem;
  height: 1.3rem;
  color: rgba(0, 102, 179, 0.74);
}

.theme-catl .resource-table a {
  grid-template-columns: 42px minmax(0, 1fr) 96px 92px minmax(120px, 0.28fr) !important;
}

.theme-catl .resource-table__icon {
  width: 2.45rem;
  height: 2.45rem;
  display: grid;
  place-items: center;
  color: var(--catl-blue) !important;
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: rgba(241, 249, 255, 0.88);
}

.theme-catl .resource-table__icon .yao-svg-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.theme-catl .case-study-proof__items span {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem;
}

.theme-catl .case-study-proof__items span .yao-svg-icon {
  width: 1.2rem;
  height: 1.2rem;
}

@media (max-width: 820px) {
  .theme-catl .resource-table a {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .resource-table__icon {
    width: 2.2rem;
    height: 2.2rem;
  }
}

/* About and support SVG narrative pass - distinct gateway pages */
.theme-catl .page-hero--about,
.theme-catl .page-hero--support {
  min-height: clamp(500px, 56vh, 680px);
  padding-top: clamp(5.4rem, 8vw, 7.2rem) !important;
  padding-bottom: clamp(3.2rem, 5vw, 4.4rem) !important;
}

.theme-catl .page-hero--about .page-hero__inner,
.theme-catl .page-hero--support .page-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 0.78fr);
  align-items: center;
  column-gap: clamp(2rem, 6vw, 7rem);
}

.theme-catl .page-hero--about .breadcrumb-catl,
.theme-catl .page-hero--about .page-hero__eyebrow,
.theme-catl .page-hero--about .page-hero__title,
.theme-catl .page-hero--about .page-hero__lede,
.theme-catl .page-hero--support .breadcrumb-catl,
.theme-catl .page-hero--support .page-hero__eyebrow,
.theme-catl .page-hero--support .page-hero__title,
.theme-catl .page-hero--support .page-hero__lede {
  grid-column: 1;
}

.theme-catl .page-hero--about .page-hero__title,
.theme-catl .page-hero--support .page-hero__title {
  max-width: 12.8ch !important;
  font-size: clamp(3.35rem, 6vw, 5.8rem) !important;
  font-weight: 360;
  letter-spacing: -0.032em;
  text-wrap: balance;
}

.theme-catl .page-hero--about .page-hero__lede,
.theme-catl .page-hero--support .page-hero__lede {
  max-width: 55ch;
  color: #506579;
}

.theme-catl .page-hero--about .page-hero__visual,
.theme-catl .page-hero--support .page-hero__visual {
  grid-column: 2;
  grid-row: 1 / span 4;
  width: 100%;
}

.theme-catl .page-hero__visual--about,
.theme-catl .page-hero__visual--support {
  position: relative;
  min-height: clamp(310px, 28vw, 430px);
  border: 1px solid rgba(120, 190, 235, 0.34);
  background:
    linear-gradient(90deg, rgba(0, 160, 233, 0.07) 1px, transparent 1px),
    linear-gradient(0deg, rgba(0, 160, 233, 0.06) 1px, transparent 1px),
    radial-gradient(circle at 25% 24%, rgba(0, 160, 233, 0.14), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(238, 248, 255, 0.78));
  background-size: 48px 48px, 48px 48px, auto, auto;
  overflow: hidden;
}

.theme-catl .about-system-map,
.theme-catl .support-routing-console {
  position: absolute;
  inset: clamp(1.1rem, 2vw, 1.8rem);
}

.theme-catl .about-system-map__node {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 142px;
  padding: 0.82rem 0.9rem;
  border: 1px solid rgba(0, 102, 179, 0.16);
  background: rgba(255, 255, 255, 0.88);
  color: var(--text-primary);
  font-size: 0.84rem;
  font-weight: 760;
  box-shadow: 0 8px 18px rgba(31, 81, 120, 0.08);
}

.theme-catl .about-system-map__node--source {
  top: 42%;
  left: 6%;
  transform: translateY(-50%);
  color: var(--catl-blue);
}

.theme-catl .about-system-map__node--laser {
  top: 12%;
  right: 4%;
}

.theme-catl .about-system-map__node--battery {
  right: 0;
  bottom: 16%;
}

.theme-catl .about-system-map__node--proof {
  left: 33%;
  bottom: 2%;
}

.theme-catl .about-system-map__line {
  position: absolute;
  left: 34%;
  width: 44%;
  height: 1px;
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(0, 102, 179, 0.1), rgba(0, 160, 233, 0.9), rgba(0, 102, 179, 0.08));
}

.theme-catl .about-system-map__line--one {
  top: 36%;
  transform: rotate(-17deg);
}

.theme-catl .about-system-map__line--two {
  top: 48%;
  transform: rotate(20deg);
}

.theme-catl .support-routing-console {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: clamp(1rem, 2vw, 1.5rem);
}

.theme-catl .support-routing-console__header {
  display: grid;
  gap: 0.5rem;
  max-width: 260px;
  padding: clamp(1rem, 1.8vw, 1.45rem);
  border: 1px solid rgba(0, 102, 179, 0.18);
  background: rgba(255, 255, 255, 0.9);
}

.theme-catl .support-routing-console__header span,
.theme-catl .support-routing-console__destinations b {
  color: var(--catl-blue);
  font-size: 0.75rem;
  font-weight: 820;
}

.theme-catl .support-routing-console__header strong {
  max-width: 12ch;
  color: var(--text-primary);
  font-size: clamp(1.4rem, 2.2vw, 2.2rem);
  line-height: 1.06;
}

.theme-catl .support-routing-console__flow {
  align-self: center;
  display: grid;
  grid-template-columns: minmax(74px, auto) 1fr minmax(74px, auto) 1fr minmax(74px, auto);
  align-items: center;
  gap: clamp(0.55rem, 1vw, 0.9rem);
}

.theme-catl .support-routing-console__flow span,
.theme-catl .support-routing-console__destinations span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.72rem 0.78rem;
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: rgba(255, 255, 255, 0.86);
  color: var(--text-primary);
  font-size: 0.78rem;
  font-weight: 760;
}

.theme-catl .support-routing-console__flow i {
  display: block;
  height: 1px;
  background: linear-gradient(90deg, rgba(0, 102, 179, 0.12), rgba(0, 160, 233, 0.82));
}

.theme-catl .support-routing-console__destinations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: rgba(0, 102, 179, 0.12);
}

.theme-catl .support-routing-console__destinations span {
  display: grid;
  gap: 0.4rem;
  border: 0;
  min-height: 96px;
}

.theme-catl .support-router__intake li {
  display: flex;
  align-items: flex-start;
  gap: 0.72rem;
  padding-left: 0;
}

.theme-catl .support-router__intake li::before {
  display: none;
}

.theme-catl .support-route-row > strong,
.theme-catl .inner-step-list strong {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.theme-catl .support-route-row > strong .yao-svg-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--catl-blue);
}

.theme-catl .inner-step-list strong .yao-svg-icon {
  width: 1rem;
  height: 1rem;
}

.theme-catl .about-role-map__items article .yao-svg-icon,
.theme-catl .about-destination-list article > span .yao-svg-icon,
.theme-catl .support-router__intake li .yao-svg-icon {
  flex: 0 0 auto;
  color: var(--catl-blue);
}

.theme-catl .about-destination-list article > span {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

@media (max-width: 1100px) {
  .theme-catl .page-hero--about .page-hero__inner,
  .theme-catl .page-hero--support .page-hero__inner {
    grid-template-columns: 1fr;
    row-gap: clamp(2rem, 5vw, 3.4rem);
  }

  .theme-catl .page-hero--about .page-hero__visual,
  .theme-catl .page-hero--support .page-hero__visual {
    grid-column: 1;
    grid-row: auto;
    max-width: 720px;
  }
}

@media (max-width: 760px) {
  .theme-catl .page-hero--about,
  .theme-catl .page-hero--support {
    overflow: hidden;
  }

  .theme-catl .page-hero--about .page-hero__title,
  .theme-catl .page-hero--support .page-hero__title {
    max-width: 100% !important;
    font-size: clamp(2.4rem, 10vw, 3.15rem) !important;
    line-height: 1.05 !important;
  }

  .theme-catl .page-hero--about .page-hero__lede,
  .theme-catl .page-hero--support .page-hero__lede {
    max-width: min(32ch, calc(100vw - 2rem)) !important;
    overflow-wrap: break-word;
  }

  .theme-catl .page-hero__visual--about,
  .theme-catl .page-hero__visual--support {
    min-height: 330px;
  }

  .theme-catl .support-routing-console__flow {
    grid-template-columns: 1fr;
  }

  .theme-catl .support-routing-console__flow i {
    width: 1px;
    height: 20px;
    margin-left: 1.2rem;
  }

  .theme-catl .support-routing-console__destinations {
    grid-template-columns: 1fr;
  }

  .theme-catl .support-routing-console__destinations span {
    min-height: 0;
  }

  .theme-catl .about-system-map__node {
    min-width: 128px;
    font-size: 0.76rem;
  }

  .theme-catl .about-system-map__node--source {
    top: 8%;
    left: 4%;
    transform: none;
  }

  .theme-catl .about-system-map__node--laser {
    top: 38%;
    right: 2%;
  }

  .theme-catl .about-system-map__node--battery {
    right: 7%;
    bottom: 16%;
  }

  .theme-catl .about-system-map__node--proof {
    left: 4%;
    bottom: 3%;
  }

  .theme-catl .about-system-map__line {
    left: 24%;
    width: 58%;
  }
}

/* Homepage resources layout lock: keep editorial motion without text collisions */
.theme-catl .news-section.catl-news-benchmark {
  overflow: hidden;
  background:
    linear-gradient(180deg, #f8fcff 0%, #ffffff 70%),
    #ffffff;
}

.theme-catl .news-section.catl-news-benchmark .container-catl {
  position: relative;
  overflow: hidden;
}

.theme-catl .news-section.catl-news-benchmark .news-section__head {
  position: relative;
  z-index: 2;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.6rem);
  padding-bottom: clamp(1.5rem, 2.4vw, 2.2rem);
  border-bottom: 1px solid rgba(12, 54, 88, 0.1);
}

.theme-catl .news-section.catl-news-benchmark .news-section__head > div {
  min-width: 0;
}

.theme-catl .news-section.catl-news-benchmark .news-section__title {
  max-width: min(760px, 74vw) !important;
  margin: 0;
  font-size: clamp(3.3rem, 5.3vw, 6.2rem) !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal;
}

.theme-catl .news-section.catl-news-benchmark .news-section__more {
  align-self: center;
  white-space: nowrap;
}

.theme-catl .news-section.catl-news-benchmark .catl-news-layout {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr) !important;
  gap: 1px !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border: 1px solid rgba(12, 54, 88, 0.12);
  background: rgba(12, 54, 88, 0.1);
  box-shadow: 0 26px 70px rgba(10, 58, 95, 0.08);
}

.theme-catl .news-section.catl-news-benchmark .news-item {
  min-width: 0;
  min-height: 0 !important;
  transform: none;
}

.theme-catl .news-section.catl-news-benchmark .news-item--featured {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.05fr) minmax(280px, 0.95fr) !important;
  grid-template-rows: auto !important;
  overflow: hidden !important;
  min-height: clamp(430px, 32vw, 560px) !important;
  background: #ffffff;
}

.theme-catl .news-section.catl-news-benchmark .news-item--featured .news-item__thumb {
  position: relative !important;
  inset: auto !important;
  z-index: 0;
  display: block !important;
  width: 100%;
  height: 100%;
  min-height: clamp(430px, 32vw, 560px) !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item--featured .news-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.theme-catl .news-section.catl-news-benchmark .news-item--featured .news-item__body {
  position: relative !important;
  z-index: 2;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  height: 100%;
  padding: clamp(2.1rem, 3.1vw, 3.4rem) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.96), rgba(238,248,255,0.88)),
    #ffffff;
}

.theme-catl .news-section.catl-news-benchmark .news-item__meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
  align-items: center;
  margin-bottom: 0.95rem;
}

.theme-catl .news-section.catl-news-benchmark .news-item__title--featured {
  max-width: 18ch !important;
  margin: 0 0 1.1rem;
  font-size: clamp(2rem, 2.8vw, 3.5rem) !important;
  line-height: 1.02 !important;
  overflow-wrap: normal;
}

.theme-catl .news-section.catl-news-benchmark .news-item__excerpt {
  max-width: 42ch;
  margin: 0 0 clamp(1.4rem, 2vw, 2rem);
}

.theme-catl .news-section.catl-news-benchmark .catl-news-list {
  display: grid !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  min-width: 0;
  background: rgba(12, 54, 88, 0.1);
}

.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item--compact {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(110px, 0.28fr) minmax(0, 1fr) !important;
  gap: 0 !important;
  min-height: clamp(142px, 10.5vw, 190px) !important;
  overflow: hidden !important;
  background: rgba(255,255,255,0.9);
}

.theme-catl .news-section.catl-news-benchmark .news-item__mini-media {
  position: relative !important;
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  border: 0;
  border-radius: 0;
  opacity: 0.78;
}

.theme-catl .news-section.catl-news-benchmark .news-item__compact-body {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(1.3rem, 1.8vw, 2rem) !important;
}

.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item__title {
  max-width: 34ch !important;
  margin: 0 0 0.65rem;
  font-size: clamp(1.12rem, 1.25vw, 1.45rem) !important;
  line-height: 1.18 !important;
  overflow-wrap: normal;
}

.theme-catl .news-section.catl-news-benchmark .news-item__excerpt--compact {
  display: block !important;
  max-width: 54ch !important;
  margin-bottom: 1rem;
  color: rgba(47, 69, 88, 0.7);
  font-size: 0.88rem !important;
  line-height: 1.52 !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__cta {
  position: static !important;
  margin-top: auto;
}

@media (max-width: 1180px) {
  .theme-catl .news-section.catl-news-benchmark .catl-news-layout,
  .theme-catl .news-section.catl-news-benchmark .news-item--featured {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .news-section.catl-news-benchmark .news-item--featured .news-item__thumb {
    min-height: clamp(260px, 44vw, 420px) !important;
  }
}

@media (max-width: 760px) {
  .theme-catl .news-section.catl-news-benchmark .news-section__head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .theme-catl .news-section.catl-news-benchmark .news-section__title {
    max-width: 100% !important;
    font-size: clamp(2.55rem, 11vw, 3.7rem) !important;
    line-height: 1.02 !important;
  }

  .theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item--compact {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .news-section.catl-news-benchmark .news-item__mini-media {
    min-height: 180px;
  }
}

/* Homepage resources readability refinement */
.theme-catl .news-section.catl-news-benchmark {
  padding-top: clamp(6rem, 9vw, 9rem) !important;
}

.theme-catl .news-section.catl-news-benchmark .news-section__title {
  max-width: min(820px, 76vw) !important;
  font-size: clamp(3rem, 4.8vw, 5.25rem) !important;
  line-height: 1 !important;
}

.theme-catl .news-section.catl-news-benchmark .catl-news-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr) !important;
  max-width: 100%;
}

.theme-catl .news-section.catl-news-benchmark .news-item--featured {
  grid-template-columns: minmax(360px, 1.12fr) minmax(320px, 0.88fr) !important;
  min-height: clamp(420px, 30vw, 520px) !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item--featured .news-item__thumb {
  min-height: clamp(420px, 30vw, 520px) !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item--featured .news-item__body {
  padding: clamp(2rem, 2.6vw, 3rem) !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__title--featured {
  max-width: 23ch !important;
  font-size: clamp(1.75rem, 2vw, 2.45rem) !important;
  line-height: 1.08 !important;
}

.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item--compact {
  grid-template-columns: minmax(0, 1fr) !important;
  min-height: clamp(150px, 10vw, 176px) !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__mini-media {
  display: none !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__compact-body {
  padding: clamp(1.45rem, 1.9vw, 2.15rem) clamp(1.65rem, 2.5vw, 2.6rem) !important;
}

.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item__title {
  max-width: 38ch !important;
  font-size: clamp(1.22rem, 1.45vw, 1.62rem) !important;
  line-height: 1.16 !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__excerpt--compact {
  max-width: 58ch !important;
}

@media (max-width: 1180px) {
  .theme-catl .news-section.catl-news-benchmark .news-item--featured {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .news-section.catl-news-benchmark .news-item__title--featured {
    max-width: 28ch !important;
  }
}

.theme-catl .news-section.catl-news-benchmark {
  scroll-margin-top: 118px;
}

.theme-catl .news-section.catl-news-benchmark .gsap-storyline {
  display: none !important;
}

.theme-catl .gsap-storyline.is-resources-stage {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.theme-catl .gsap-storyline {
  display: none !important;
}

/* Section-to-section SVG transitions: visual routing, not image overlays */
.theme-catl .catl-svg-transition {
  position: relative;
  z-index: 1;
  width: min(100% - 2rem, 1520px);
  margin-inline: auto;
  pointer-events: none;
  contain: layout paint;
}

.theme-catl .catl-svg-transition--route {
  margin-top: clamp(1.2rem, 3vw, 3.2rem);
  margin-bottom: clamp(-5.5rem, -5vw, -3rem);
}

.theme-catl .catl-svg-transition--evidence {
  margin-top: clamp(2.2rem, 4vw, 4.2rem);
  margin-bottom: clamp(-3.5rem, -3vw, -1.8rem);
}

.theme-catl .catl-svg-transition__canvas {
  display: block;
  width: 100%;
  height: clamp(110px, 12vw, 210px);
  overflow: visible;
}

.theme-catl .catl-svg-transition__path {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-catl .catl-svg-transition__path--soft {
  stroke: rgba(0, 102, 179, 0.16);
  stroke-width: 1.25;
}

.theme-catl .catl-svg-transition__path--main {
  stroke: url(#routeTransitionGradient);
  stroke-width: 2;
  filter: drop-shadow(0 0 10px rgba(0, 132, 211, 0.18));
}

.theme-catl .catl-svg-transition--evidence .catl-svg-transition__path--main {
  stroke: rgba(0, 132, 211, 0.62);
}

.theme-catl .catl-svg-transition__path--scan {
  stroke: rgba(11, 49, 78, 0.18);
  stroke-width: 1;
  stroke-dasharray: 8 10;
}

.theme-catl .catl-svg-transition__nodes circle {
  fill: #ffffff;
  stroke: rgba(0, 132, 211, 0.62);
  stroke-width: 2;
  transform-box: fill-box;
  transform-origin: center;
}

.theme-catl .catl-svg-transition::before,
.theme-catl .catl-svg-transition::after {
  content: "";
  position: absolute;
  inset: 42% auto auto 8%;
  width: clamp(120px, 18vw, 280px);
  height: 1px;
  background: linear-gradient(90deg, rgba(0,132,211,0), rgba(0,132,211,0.32), rgba(0,132,211,0));
  opacity: var(--transition-glow, 0);
  transform: translate3d(calc(var(--transition-progress, 0) * 34vw), 0, 0);
  filter: blur(0.2px);
}

.theme-catl .catl-svg-transition::after {
  inset: auto 10% 35% auto;
  width: clamp(80px, 12vw, 190px);
  opacity: calc(var(--transition-glow, 0) * 0.72);
  transform: translate3d(calc(var(--transition-progress, 0) * -24vw), 0, 0);
}

@media (max-width: 860px) {
  .theme-catl .catl-svg-transition {
    width: calc(100% - 1rem);
  }

  .theme-catl .catl-svg-transition--route,
  .theme-catl .catl-svg-transition--evidence {
    margin-block: 1.4rem;
  }

  .theme-catl .catl-svg-transition__canvas {
    height: 88px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .catl-svg-transition::before,
  .theme-catl .catl-svg-transition::after {
    display: none;
  }
}

/* Taste/impeccable pass: turn the gateway grid into a custom route atlas */
.theme-catl .catl-solution-panorama {
  overflow: hidden;
  scroll-margin-top: 180px;
}

.theme-catl .catl-solution-panorama .catl-section-header--split {
  grid-template-columns: minmax(0, 0.7fr) minmax(320px, 0.3fr);
  align-items: end;
}

.theme-catl .catl-solution-wall {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-auto-rows: clamp(150px, 12vw, 220px);
  gap: 1px !important;
  width: min(100% - 3rem, 1540px);
  margin: clamp(3rem, 5vw, 5.5rem) auto 0;
  overflow: visible !important;
  background: rgba(0, 102, 179, 0.16);
  border: 1px solid rgba(0, 102, 179, 0.14);
  box-shadow: none !important;
}

.theme-catl .catl-solution-tile {
  min-height: auto !important;
  border: 0 !important;
  box-shadow: none !important;
  isolation: isolate;
}

.theme-catl .catl-solution-tile:nth-child(1) {
  grid-column: 1 / span 6;
  grid-row: span 3;
}

.theme-catl .catl-solution-tile:nth-child(2) {
  grid-column: 7 / span 6;
  grid-row: span 3;
  transform: translateY(clamp(1.5rem, 3vw, 3rem));
}

.theme-catl .catl-solution-tile:nth-child(3) {
  grid-column: 1 / span 5;
  grid-row: span 2;
}

.theme-catl .catl-solution-tile:nth-child(4) {
  grid-column: 6 / span 7;
  grid-row: span 2;
  transform: translateY(clamp(-1rem, -1.5vw, -0.35rem));
}

.theme-catl .catl-solution-tile__photo {
  position: absolute !important;
  inset: 0;
  min-height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.theme-catl .catl-solution-tile__photo::before {
  background:
    linear-gradient(180deg, rgba(4, 19, 32, 0.08), rgba(4, 19, 32, 0.72)),
    linear-gradient(90deg, rgba(4, 19, 32, 0.68), rgba(4, 19, 32, 0.08) 72%) !important;
}

.theme-catl .catl-solution-tile__body {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100%;
  padding: clamp(1.5rem, 2.8vw, 3.25rem);
  color: #ffffff;
}

.theme-catl .catl-solution-tile__kicker,
.theme-catl .catl-solution-tile__copy,
.theme-catl .catl-solution-tile__meta {
  color: rgba(255, 255, 255, 0.78) !important;
}

.theme-catl .catl-solution-tile__body strong {
  max-width: 15ch;
  color: #ffffff;
  font-size: clamp(2.1rem, 3.3vw, 4.4rem);
  font-weight: 660;
  line-height: 0.98;
  letter-spacing: 0;
}

.theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
  max-width: 22ch;
  font-size: clamp(1.5rem, 2.2vw, 2.8rem);
  line-height: 1.04;
}

.theme-catl .catl-solution-tile__copy {
  max-width: 46ch;
  margin-top: 1rem;
}

.theme-catl .catl-solution-tile__index {
  z-index: 6;
  color: rgba(255,255,255,0.86) !important;
}

.theme-catl .catl-solution-tile__arrow {
  z-index: 7;
  border-color: rgba(255,255,255,0.42) !important;
  color: #ffffff !important;
  background: rgba(255,255,255,0.08) !important;
  backdrop-filter: blur(10px);
}

.theme-catl .catl-solution-tile .material-motion-svg {
  display: none !important;
}

.theme-catl .catl-route-atlas {
  position: absolute;
  inset: -4% -2% -8%;
  z-index: 4;
  width: 104%;
  height: 112%;
  pointer-events: none;
  mix-blend-mode: screen;
  opacity: 0.64;
}

.theme-catl .catl-route-atlas__path {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-catl .catl-route-atlas__path--primary {
  stroke: rgba(0, 181, 255, 0.86);
  stroke-width: 2.2;
  filter: drop-shadow(0 0 14px rgba(0, 181, 255, 0.28));
}

.theme-catl .catl-route-atlas__path--secondary {
  stroke: rgba(255, 255, 255, 0.46);
  stroke-width: 1.3;
}

.theme-catl .catl-route-atlas__path--branch {
  stroke: rgba(0, 181, 255, 0.32);
  stroke-width: 1.2;
  stroke-dasharray: 8 12;
}

.theme-catl .catl-route-atlas__nodes circle {
  fill: rgba(255,255,255,0.92);
  stroke: rgba(0, 181, 255, 0.86);
  stroke-width: 2;
  transform-box: fill-box;
  transform-origin: center;
}

.theme-catl .catl-solution-tile:hover {
  z-index: 8;
}

.theme-catl .catl-solution-tile:hover .catl-solution-tile__photo img {
  transform: scale(1.055);
  filter: saturate(1.02) contrast(1.06);
}

@media (max-width: 1180px) {
  .theme-catl .catl-solution-panorama .catl-section-header--split,
  .theme-catl .catl-solution-wall {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .catl-solution-tile:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    min-height: clamp(360px, 58vw, 560px) !important;
    transform: none;
  }

  .theme-catl .catl-route-atlas {
    display: none;
  }
}

@media (max-width: 720px) {
  .theme-catl .catl-solution-panorama .catl-section-header--split {
    gap: 1.3rem;
  }

  .theme-catl .catl-solution-wall {
    width: calc(100% - 1.5rem);
    grid-auto-rows: auto !important;
  }

  .theme-catl .catl-solution-tile:nth-child(n) {
    display: block !important;
    height: 500px !important;
    min-height: 500px !important;
    overflow: hidden !important;
  }

  .theme-catl .catl-solution-tile__photo::before {
    background:
      linear-gradient(180deg, rgba(4, 19, 32, 0.08) 0%, rgba(4, 19, 32, 0.24) 34%, rgba(4, 19, 32, 0.92) 100%),
      linear-gradient(90deg, rgba(4, 19, 32, 0.62), rgba(4, 19, 32, 0.1) 72%) !important;
  }

  .theme-catl .catl-solution-tile__kicker,
  .theme-catl .catl-solution-tile__body strong,
  .theme-catl .catl-solution-tile__copy,
  .theme-catl .catl-solution-tile__meta {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .theme-catl .catl-solution-tile__body strong {
    max-width: 15ch;
    font-size: clamp(1.9rem, 8vw, 2.45rem);
    line-height: 1.02;
  }

  .theme-catl .catl-solution-tile__copy {
    max-width: 30ch;
    margin-top: 0.85rem;
    font-size: 0.9rem;
    line-height: 1.55;
  }

  .theme-catl .catl-solution-tile__body {
    position: absolute;
    inset: auto 0 0;
    padding: 1.25rem 1.35rem 1.8rem;
    min-height: auto;
    justify-content: flex-end;
  }

  .theme-catl .catl-solution-tile__meta {
    font-size: 0.72rem;
    line-height: 1.35;
  }
}

/* Brand system pass: YaoLaser industrial routing language */
.theme-catl {
  --yl-system-ink: #071828;
  --yl-system-blue: #0076c8;
  --yl-system-cyan: #22b8f0;
  --yl-system-line: rgba(0, 118, 200, 0.22);
}

.theme-catl .catl-section-kicker--system,
.theme-catl .catl-solution-tile__kicker,
.theme-catl .news-item__meta-line,
.theme-catl .hero-catl__gateway-card span {
  font-size: 0.72rem !important;
  font-weight: 820 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase;
}

.theme-catl .hero-catl__identity {
  position: absolute;
  left: auto;
  right: clamp(2rem, 5vw, 6rem);
  top: clamp(6.8rem, 11vh, 8.6rem);
  z-index: 5;
  display: grid;
  gap: 0.42rem;
  width: min(24rem, 34vw);
  color: var(--yl-system-ink);
  pointer-events: none;
}

.theme-catl .hero-catl__identity span {
  color: var(--yl-system-blue);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.06em;
}

.theme-catl .hero-catl__identity strong {
  max-width: 25ch;
  color: rgba(7, 24, 40, 0.62);
  font-size: clamp(0.82rem, 0.9vw, 0.98rem);
  font-weight: 620;
  line-height: 1.45;
}

.theme-catl .hero-catl__identity i {
  display: block;
  width: clamp(4.5rem, 8vw, 8rem);
  height: 1px;
  margin-top: 0.6rem;
  background: linear-gradient(90deg, var(--yl-system-blue), rgba(0,118,200,0));
  transform-origin: left center;
}

.theme-catl .hero-catl__gateway-card span {
  color: rgba(142, 215, 255, 0.9) !important;
}

.theme-catl .hero-catl__gateway-card--resource span {
  color: var(--yl-system-blue) !important;
}

.theme-catl .catl-solution-wall::before {
  content: "YL ROUTING ATLAS";
  position: absolute;
  right: 0;
  top: -2.25rem;
  z-index: 5;
  color: rgba(7, 24, 40, 0.42);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.theme-catl .catl-route-atlas__legend {
  position: absolute;
  left: clamp(1rem, 2vw, 2rem);
  top: clamp(1rem, 2vw, 2rem);
  z-index: 9;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  max-width: min(520px, 58vw);
  pointer-events: none;
}

.theme-catl .catl-route-atlas__legend span {
  padding: 0.45rem 0.55rem;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.66rem;
  font-weight: 820;
  letter-spacing: 0.06em;
  background: rgba(4, 19, 32, 0.34);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(8px);
}

.theme-catl .catl-route-atlas__path--primary {
  stroke-width: 2.6;
}

.theme-catl .catl-route-atlas__nodes circle {
  filter: drop-shadow(0 0 10px rgba(34, 184, 240, 0.45));
}

.theme-catl .catl-process-flow .catl-section-kicker::before,
.theme-catl .catl-evidence-briefs .catl-section-kicker::before,
.theme-catl .catl-technology-vision .catl-section-kicker::before {
  content: "";
  display: inline-block;
  width: 0.48rem;
  height: 0.48rem;
  margin-right: 0.5rem;
  background: var(--yl-system-blue);
  vertical-align: 0.05em;
}

.theme-catl .news-section.catl-news-benchmark .catl-news-layout {
  overflow: visible !important;
}

.theme-catl .catl-evidence-system-map {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(36px, 1fr) auto minmax(36px, 1fr) auto minmax(36px, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  padding: 0.9rem 1.2rem;
  color: rgba(7, 24, 40, 0.52);
  background: rgba(244, 250, 255, 0.82);
  border-bottom: 1px solid rgba(0, 118, 200, 0.12);
}

.theme-catl .catl-evidence-system-map span {
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.07em;
}

.theme-catl .catl-evidence-system-map i {
  height: 1px;
  background: linear-gradient(90deg, rgba(0,118,200,0.2), rgba(0,118,200,0.68), rgba(0,118,200,0.08));
  transform-origin: left center;
}

.theme-catl .news-section.catl-news-benchmark .news-item--featured,
.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item--compact {
  border-radius: 0 !important;
}

@media (max-width: 1180px) {
  .theme-catl .hero-catl__identity {
    display: none;
  }
}

@media (max-width: 760px) {
  .theme-catl .catl-solution-wall::before,
  .theme-catl .catl-route-atlas__legend,
  .theme-catl .catl-evidence-system-map {
    display: none !important;
  }

  .theme-catl .catl-section-kicker--system {
    font-size: 0.72rem !important;
    letter-spacing: 0.035em !important;
  }
}

/* New-industrial SVG polish: make routing graphics feel like brand assets, not UI labels. */
html {
  scroll-padding-top: 112px;
}

.theme-catl #solutions,
.theme-catl #line-explorer,
.theme-catl #evidence-briefs,
.theme-catl .news-section.catl-news-benchmark {
  scroll-margin-top: 128px;
}

.theme-catl .hero-catl {
  min-height: clamp(760px, 88vh, 920px) !important;
}

.theme-catl .hero-catl__showcase {
  transform: translateY(clamp(-1.2rem, -1.4vw, -0.4rem));
}

.theme-catl .catl-route-atlas__legend {
  top: clamp(1.1rem, 1.8vw, 1.8rem);
  left: clamp(1.1rem, 1.8vw, 1.8rem);
  gap: 0.72rem;
  align-items: center;
}

.theme-catl .catl-route-atlas__legend::before {
  content: "";
  width: clamp(42px, 6vw, 92px);
  height: 1px;
  background: linear-gradient(90deg, rgba(34,184,240,0), rgba(34,184,240,0.72));
}

.theme-catl .catl-route-atlas__legend span {
  padding: 0;
  color: rgba(255,255,255,0.68);
  background: transparent;
  border: 0;
  backdrop-filter: none;
  text-shadow: 0 1px 14px rgba(0,0,0,0.45);
}

.theme-catl .catl-route-atlas__path--primary {
  stroke: rgba(31, 185, 244, 0.78);
  stroke-width: 1.85;
  filter: drop-shadow(0 0 16px rgba(0, 181, 255, 0.22));
}

.theme-catl .catl-route-atlas__path--secondary {
  stroke: rgba(255,255,255,0.24);
  stroke-width: 1;
}

.theme-catl .catl-route-atlas__path--branch {
  stroke: rgba(31, 185, 244, 0.24);
  stroke-width: 0.9;
  stroke-dasharray: 2 12;
}

.theme-catl .catl-route-atlas__nodes circle {
  r: 6px;
  fill: rgba(255,255,255,0.84);
  stroke: rgba(31, 185, 244, 0.86);
  stroke-width: 1.45;
  filter: drop-shadow(0 0 12px rgba(34, 184, 240, 0.42));
}

.theme-catl .catl-svg-transition {
  width: min(100% - 5rem, 1480px);
  opacity: 0.92;
}

.theme-catl .catl-svg-transition--route {
  margin-top: clamp(0.6rem, 1.8vw, 2rem);
  margin-bottom: clamp(-4.2rem, -4vw, -2.2rem);
}

.theme-catl .catl-svg-transition--evidence {
  margin-top: clamp(1.6rem, 3vw, 3.2rem);
  margin-bottom: clamp(-2.6rem, -2.4vw, -1.2rem);
}

.theme-catl .catl-svg-transition__canvas {
  height: clamp(92px, 10vw, 168px);
  mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.theme-catl .catl-svg-transition__path--soft {
  stroke: rgba(0, 118, 200, 0.12);
  stroke-width: 0.9;
}

.theme-catl .catl-svg-transition__path--main {
  stroke-width: 1.35;
  filter: drop-shadow(0 0 8px rgba(0, 132, 211, 0.13));
}

.theme-catl .catl-svg-transition__path--scan {
  stroke: rgba(7, 24, 40, 0.16);
  stroke-width: 0.8;
  stroke-dasharray: 1 10;
}

.theme-catl .catl-svg-transition__nodes circle {
  r: 4.4px;
  stroke-width: 1.35;
}

.theme-catl .catl-svg-transition::before,
.theme-catl .catl-svg-transition::after {
  width: clamp(84px, 13vw, 210px);
  background: linear-gradient(90deg, rgba(0,132,211,0), rgba(0,132,211,0.26), rgba(34,184,240,0.72), rgba(0,132,211,0));
  filter: blur(0.4px);
}

.theme-catl .catl-evidence-system-map {
  background: linear-gradient(90deg, rgba(244,250,255,0.92), rgba(255,255,255,0.84));
  border-top: 1px solid rgba(0, 118, 200, 0.1);
  border-bottom-color: rgba(0, 118, 200, 0.16);
}

.theme-catl .catl-evidence-system-map span {
  color: rgba(7, 24, 40, 0.48);
}

@media (max-width: 860px) {
  .theme-catl .catl-svg-transition {
    width: calc(100% - 1.5rem);
  }

  .theme-catl .hero-catl {
    min-height: 800px !important;
  }

  .theme-catl .hero-catl__showcase {
    transform: none;
  }
}
/* Video Insights */
.theme-catl .page-hero--video-insights .page-hero__visual--video {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  border: 1px solid rgba(0, 102, 179, 0.16);
  border-radius: 18px;
  background: #f5f8fb;
  box-shadow: 0 30px 70px rgba(10, 28, 45, 0.14);
}
.theme-catl .page-hero__visual--video figure {
  position: absolute;
  inset: 0;
  margin: 0;
}
.theme-catl .page-hero__visual--video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.78;
}
.theme-catl .page-hero__visual--video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.18), rgba(0,102,179,0.22));
}
.theme-catl .video-signal-card {
  position: absolute;
  left: 26px;
  bottom: 26px;
  z-index: 1;
  width: min(330px, calc(100% - 52px));
  padding: 20px;
  border: 1px solid rgba(255,255,255,0.66);
  border-radius: 14px;
  background: rgba(255,255,255,0.88);
  box-shadow: 0 18px 42px rgba(10, 28, 45, 0.16);
}
.theme-catl .video-signal-card span,
.theme-catl .video-signal-card em {
  display: block;
  color: #526171;
  font-size: 12px;
  font-style: normal;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.theme-catl .video-signal-card strong {
  display: block;
  margin: 8px 0;
  color: #101820;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.05;
}
.theme-catl .video-insights-feature > .container-catl {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(420px, 1fr);
  gap: clamp(28px, 6vw, 82px);
  align-items: center;
}
.theme-catl .video-insights-feature__copy {
  display: grid;
  gap: 18px;
  align-content: start;
}
.theme-catl .video-route-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.theme-catl .video-route-tags span {
  padding: 7px 10px;
  border: 1px solid rgba(0,102,179,.22);
  border-radius: 999px;
  color: #004f8c;
  background: rgba(0,102,179,.07);
  font-size: 12px;
  font-weight: 760;
}
.theme-catl .video-insights-frame {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(16,24,32,.12);
  border-radius: 18px;
  background: #08111d;
  box-shadow: 0 24px 48px rgba(12,35,56,.18);
  aspect-ratio: 16 / 9;
}
.theme-catl .yaolaser-lite-youtube,
.theme-catl .video-insights-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.theme-catl .yaolaser-lite-youtube {
  display: block;
  padding: 0;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(0, 102, 179, 0.14), transparent 34%),
    radial-gradient(circle at 74% 36%, rgba(34, 184, 240, 0.22), transparent 26%),
    linear-gradient(145deg, #08111d, #102235);
  border: 0;
  cursor: pointer;
}

.theme-catl .yaolaser-lite-youtube__poster {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  transform: scale(1.01);
  transition: transform .48s cubic-bezier(.16, 1, .3, 1), opacity .48s cubic-bezier(.16, 1, .3, 1);
}

.theme-catl .yaolaser-lite-youtube__poster img,
.theme-catl .video-insight-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.theme-catl .video-insight-card__signal {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  background:
    radial-gradient(circle at 74% 28%, rgba(34, 184, 240, .24), transparent 24%),
    linear-gradient(145deg, rgba(0, 102, 179, .2), transparent 42%),
    linear-gradient(145deg, #071321, #12263a);
}

.theme-catl .video-insight-card__signal-grid {
  position: absolute;
  inset: 0;
  opacity: .24;
  background-image:
    linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
  background-size: 38px 38px;
}

.theme-catl .video-insight-card__signal-line {
  position: absolute;
  left: 14%;
  right: 16%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(112, 207, 255, .9), transparent);
  transform: rotate(-4deg);
}

.theme-catl .video-insight-card__signal-line--one {
  top: 36%;
}

.theme-catl .video-insight-card__signal-line--two {
  top: 46%;
  opacity: .58;
}

.theme-catl .video-insight-card__signal-dot {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #7ed7ff;
  box-shadow: 0 0 18px rgba(126, 215, 255, .72);
}

.theme-catl .video-insight-card__signal-dot--one {
  left: 22%;
  top: 48%;
}

.theme-catl .video-insight-card__signal-dot--two {
  right: 24%;
  top: 34%;
}

.theme-catl .video-insight-card__signal-copy {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 18px;
  z-index: 1;
  color: #fff;
  text-shadow: 0 12px 32px rgba(0,0,0,.36);
}

.theme-catl .video-insight-card__signal-copy span {
  display: block;
  margin-bottom: 6px;
  color: #7ed7ff;
  font-size: 11px;
  font-weight: 860;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.theme-catl .video-insight-card__signal-copy strong {
  display: block;
  max-width: 82%;
  font-size: clamp(18px, 2.2vw, 28px);
  line-height: 1.08;
}

.theme-catl .yaolaser-lite-youtube:hover .yaolaser-lite-youtube__poster,
.theme-catl .yaolaser-lite-youtube:focus-visible .yaolaser-lite-youtube__poster {
  transform: scale(1.045);
  opacity: .9;
}

.theme-catl .yaolaser-lite-youtube__overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  gap: 12px;
  background: linear-gradient(180deg, rgba(8,17,29,.1) 0%, rgba(8,17,29,.52) 100%);
}

.theme-catl .yaolaser-lite-youtube__play {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  color: #0066b3;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 999px;
  transform: translateZ(0);
  transition: transform .28s cubic-bezier(.16, 1, .3, 1);
}

.theme-catl .yaolaser-lite-youtube:hover .yaolaser-lite-youtube__play,
.theme-catl .yaolaser-lite-youtube:focus-visible .yaolaser-lite-youtube__play {
  transform: scale(1.08);
}

.theme-catl .yaolaser-lite-youtube__label {
  padding: 6px 10px;
  color: #fff;
  background: rgba(8,17,29,.72);
  font-size: 12px;
  font-weight: 820;
  letter-spacing: .02em;
}

.theme-catl .video-insights-frame iframe {
  border: 0;
}
.theme-catl .video-insights-library {
  background: #f4f7fb;
  border-block: 1px solid rgba(16,24,32,.1);
}
.theme-catl .video-insights-library__head {
  max-width: 880px;
  margin-bottom: clamp(26px, 4vw, 48px);
}
.theme-catl .video-insights-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.theme-catl .video-insight-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(16,24,32,.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(12,35,56,.08);
}
.theme-catl .video-insight-card__thumb {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background:
    radial-gradient(circle at 78% 28%, rgba(34,184,240,.2), transparent 24%),
    linear-gradient(135deg, rgba(0,102,179,.16), transparent 38%),
    linear-gradient(145deg, #071321, #12263a);
}

.theme-catl .video-insight-card__thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8,17,29,.04) 0%, rgba(8,17,29,.56) 100%),
    linear-gradient(90deg, rgba(0,102,179,.08), transparent 44%);
  opacity: .78;
  transform: scale(1.01);
  transition: transform .36s cubic-bezier(.16,1,.3,1), opacity .36s cubic-bezier(.16,1,.3,1);
}

.theme-catl .video-insight-card:hover .video-insight-card__thumb::before {
  transform: scale(1.045);
  opacity: .86;
}

.theme-catl .video-insight-card__play {
  position: absolute;
  left: 18px;
  bottom: 14px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #0066b3;
  background: rgba(255,255,255,.94);
  border-radius: 999px;
  box-shadow: 0 16px 30px rgba(0,0,0,.16);
  transition: transform .24s cubic-bezier(.16,1,.3,1);
}

.theme-catl .video-insight-card:hover .video-insight-card__play {
  transform: scale(1.08);
}
.theme-catl .video-insight-card__time {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 4px 7px;
  border-radius: 4px;
  color: #fff;
  background: rgba(8,17,29,.82);
  font-size: 12px;
  font-weight: 760;
}
.theme-catl .video-insight-card__body {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 22px;
}
.theme-catl .video-insight-card__body > span {
  color: #00a86b;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.theme-catl .video-insight-card__body h3 {
  margin: 0;
  font-size: clamp(20px, 1.6vw, 25px);
  line-height: 1.14;
}
.theme-catl .video-insight-card__body p {
  margin: 0 0 4px;
  color: #475467;
}
.theme-catl .video-insight-card__body small {
  display: block;
  padding-top: 10px;
  border-top: 1px solid rgba(16,24,32,.1);
  color: #344253;
  font-size: 13px;
  line-height: 1.48;
}
.theme-catl .video-insight-card__body a {
  color: #0066b3;
  font-weight: 780;
}

.theme-catl .page-hero--video-insight-detail {
  min-height: clamp(500px, 56vh, 660px);
  padding-top: clamp(5rem, 8vw, 7rem) !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.9) 52%, rgba(229,245,252,.78) 100%),
    url('../images/real/real-process-overhead.jpg') center/cover no-repeat;
}

.theme-catl .page-hero--video-insight-detail .page-hero__inner {
  width: min(100% - 2.5rem, 1180px);
}

.theme-catl .page-hero--video-insight-detail .page-hero__title {
  max-width: 17ch !important;
}

.theme-catl .video-insight-detail > .container-catl {
  display: grid;
  grid-template-columns: minmax(320px, .42fr) minmax(0, .58fr);
  gap: clamp(32px, 7vw, 92px);
  align-items: start;
}

.theme-catl .video-insight-detail__rail {
  position: sticky;
  top: 8rem;
  display: grid;
  gap: 18px;
}

.theme-catl .video-insight-detail__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #08111d;
  border: 1px solid rgba(16,24,32,.12);
}

.theme-catl .video-insight-detail__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.theme-catl .video-insight-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.theme-catl .video-insight-detail__meta span {
  padding: 6px 9px;
  color: #344253;
  background: #f2f6f9;
  font-size: 12px;
  font-weight: 780;
}

.theme-catl .video-insight-detail__article {
  display: grid;
  gap: clamp(22px, 4vw, 36px);
}

.theme-catl .video-insight-detail__article > section {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: clamp(18px, 4vw, 42px);
  padding-bottom: clamp(20px, 4vw, 34px);
  border-bottom: 1px solid rgba(16,24,32,.12);
}

.theme-catl .video-insight-detail__article > section > span {
  color: #0066b3;
  font-weight: 850;
}

.theme-catl .video-insight-detail__article p {
  max-width: 68ch;
  margin: 0;
  color: #344253;
  font-size: clamp(17px, 1.35vw, 19px);
  line-height: 1.78;
}

.theme-catl .video-insight-detail__checklist {
  display: grid;
  gap: 14px;
  padding: clamp(22px, 4vw, 34px);
  color: #fff;
  background: #08111d;
}

.theme-catl .video-insight-detail__checklist h2 {
  max-width: 13ch;
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.04;
  letter-spacing: -.02em;
}

.theme-catl .video-insight-detail__checklist p {
  color: rgba(255,255,255,.78);
}

.theme-catl .video-insight-detail__related {
  display: grid;
  gap: 16px;
}

.theme-catl .video-insight-detail__related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.theme-catl .video-insight-detail__related-card {
  display: grid;
  gap: 9px;
  min-height: 150px;
  padding: 18px;
  color: #101820;
  text-decoration: none;
  border: 1px solid #dfe6ee;
  background: linear-gradient(180deg, #fff 0%, #f7fafc 100%);
  transition: transform .24s ease, border-color .24s ease, background-color .24s ease;
}

.theme-catl .video-insight-detail__related-card:hover,
.theme-catl .video-insight-detail__related-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(0,102,179,.45);
  background: #fff;
}

.theme-catl .video-insight-detail__related-card span {
  color: #0066b3;
  font-size: 12px;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.theme-catl .video-insight-detail__related-card strong {
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.24;
}

.theme-catl .video-insight-detail__related-card small {
  align-self: end;
  color: #526173;
  font-weight: 700;
}

.theme-catl .video-insight-detail__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.theme-catl .video-insight-detail__secondary {
  color: #344253;
  font-weight: 760;
  text-decoration: none;
}

.theme-catl .video-article-format > .container-catl {
  display: grid;
  grid-template-columns: minmax(240px, .36fr) minmax(0, 1fr);
  gap: clamp(32px, 7vw, 96px);
  align-items: start;
}
.theme-catl .video-article-format__rail {
  position: sticky;
  top: 110px;
  border-top: 2px solid #0066b3;
  padding-top: 18px;
}
.theme-catl .video-article-format__steps {
  display: grid;
  border-top: 1px solid rgba(16,24,32,.12);
}
.theme-catl .video-article-format__steps article {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: clamp(20px, 5vw, 58px);
  padding: 30px 0;
  border-bottom: 1px solid rgba(16,24,32,.12);
}
.theme-catl .video-article-format__steps span {
  color: #0066b3;
  font-size: 12px;
  font-weight: 780;
  letter-spacing: .1em;
}
.theme-catl .video-article-format__steps p {
  margin: 0;
  color: #475467;
}
.theme-catl .video-insights-cta {
  color: #fff;
  background: #08111d;
}
.theme-catl .video-insights-cta > .container-catl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.theme-catl .video-insights-cta p {
  max-width: 720px;
  color: rgba(255,255,255,.72);
}
@media (max-width: 1040px) {
  .theme-catl .video-insights-feature > .container-catl,
  .theme-catl .video-insight-detail > .container-catl,
  .theme-catl .video-article-format > .container-catl {
    grid-template-columns: 1fr;
  }
  .theme-catl .video-insights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .theme-catl .video-insight-detail__rail,
  .theme-catl .video-article-format__rail {
    position: relative;
    top: auto;
  }
  .theme-catl .video-insight-detail__related-grid {
    grid-template-columns: 1fr;
  }
  .theme-catl .video-insights-cta > .container-catl {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* White Papers pillar and download library */
.theme-catl .page-hero--white-papers {
  min-height: clamp(560px, 62vh, 720px);
  padding-top: clamp(5.2rem, 8vw, 7rem) !important;
  background:
    radial-gradient(circle at 78% 22%, rgba(0,160,233,.16), transparent 28rem),
    linear-gradient(180deg, #fff 0%, #f4f8fb 100%);
}

.theme-catl .page-hero--white-papers .page-hero__inner {
  width: min(100% - 2.5rem, 1280px);
  display: grid;
  grid-template-columns: minmax(0, .58fr) minmax(360px, .42fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.theme-catl .page-hero--white-papers .breadcrumb-catl,
.theme-catl .page-hero--white-papers .page-hero__eyebrow,
.theme-catl .page-hero--white-papers .page-hero__title,
.theme-catl .page-hero--white-papers .page-hero__lede {
  grid-column: 1;
}

.theme-catl .page-hero--white-papers .page-hero__title {
  max-width: 14ch !important;
}

.theme-catl .page-hero__visual--white-papers {
  grid-column: 2;
  grid-row: 1 / span 4;
  position: relative;
  min-height: 420px;
  border: 1px solid rgba(0,102,179,.14);
  background:
    linear-gradient(90deg, rgba(0,102,179,.06) 1px, transparent 1px),
    linear-gradient(rgba(0,102,179,.06) 1px, transparent 1px),
    #fff;
  background-size: 38px 38px;
  box-shadow: 0 24px 60px rgba(10,28,45,.1);
  overflow: hidden;
}

.theme-catl .whitepaper-console {
  position: absolute;
  inset: 38px;
  display: grid;
  align-content: end;
  gap: 16px;
}

.theme-catl .whitepaper-console span {
  color: #0066b3;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.theme-catl .whitepaper-console strong {
  max-width: 9ch;
  color: #101820;
  font-size: clamp(42px, 5vw, 74px);
  line-height: .96;
}

.theme-catl .whitepaper-console i {
  display: block;
  height: 56px;
  border: 1px solid rgba(16,24,32,.12);
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 24px rgba(12,35,56,.08);
  transform: translateX(calc(var(--paper-i, 0) * 16px));
}

.theme-catl .whitepaper-console i:nth-of-type(1) { --paper-i: 0; }
.theme-catl .whitepaper-console i:nth-of-type(2) { --paper-i: 1; }
.theme-catl .whitepaper-console i:nth-of-type(3) { --paper-i: 2; }

.theme-catl .whitepaper-pillar > .container-catl {
  display: grid;
  grid-template-columns: minmax(260px, .32fr) minmax(0, 1fr);
  gap: clamp(34px, 7vw, 92px);
  align-items: start;
}

.theme-catl .whitepaper-pillar__intro {
  position: sticky;
  top: 8rem;
  display: grid;
  gap: 16px;
}

.theme-catl .whitepaper-pillar__intro h2,
.theme-catl .whitepaper-upload-guide h2 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(34px, 4.8vw, 68px);
  line-height: 1;
}

.theme-catl .whitepaper-pillar__intro p {
  max-width: 38ch;
  color: #526171;
}

.theme-catl .whitepaper-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgba(16,24,32,.14);
  border: 1px solid rgba(16,24,32,.14);
}

.theme-catl .whitepaper-card {
  display: grid;
  gap: 16px;
  min-height: 320px;
  padding: clamp(22px, 3vw, 34px);
  background: #fff;
}

.theme-catl .whitepaper-card__category {
  color: #0066b3;
  font-size: 12px;
  font-weight: 820;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.theme-catl .whitepaper-card h3 {
  max-width: 17ch;
  margin: 0;
  font-size: clamp(23px, 2.2vw, 32px);
  line-height: 1.08;
}

.theme-catl .whitepaper-card p {
  margin: 0;
  color: #526171;
}

.theme-catl .whitepaper-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.theme-catl .whitepaper-card__meta span {
  padding: 5px 8px;
  color: #344253;
  background: #f2f6f9;
  border: 1px solid rgba(16,24,32,.1);
  font-size: 12px;
  font-weight: 760;
}

.theme-catl .whitepaper-card__download {
  display: inline-flex;
  width: fit-content;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  color: #fff;
  background: #0066b3;
  font-weight: 820;
}

.theme-catl .whitepaper-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: auto;
}

.theme-catl .whitepaper-card__detail {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  color: #101820;
  font-weight: 820;
  text-decoration: none;
}

.theme-catl .whitepaper-card__detail::after {
  content: "";
  width: 24px;
  height: 1px;
  margin-left: 10px;
  background: currentColor;
  transform-origin: left center;
  transition: transform .24s ease;
}

.theme-catl .whitepaper-card__detail:hover::after {
  transform: scaleX(1.35);
}

.theme-catl .whitepaper-card__download--request {
  color: #0066b3;
  background: #fff;
  border: 1px solid rgba(0,102,179,.28);
}

.theme-catl .page-hero--white-paper-detail {
  min-height: clamp(520px, 58vh, 680px);
  padding-top: clamp(5rem, 8vw, 7rem) !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.82) 48%, rgba(236,246,252,.74) 100%),
    url('../images/real/real-process-overhead.jpg') center/cover no-repeat;
}

.theme-catl .page-hero--white-paper-detail .page-hero__inner {
  width: min(100% - 2.5rem, 1240px);
  display: grid;
  grid-template-columns: minmax(0, .62fr) minmax(300px, .38fr);
  gap: clamp(32px, 6vw, 86px);
  align-items: center;
}

.theme-catl .page-hero--white-paper-detail .breadcrumb-catl,
.theme-catl .page-hero--white-paper-detail .page-hero__eyebrow,
.theme-catl .page-hero--white-paper-detail .page-hero__title,
.theme-catl .page-hero--white-paper-detail .page-hero__lede {
  grid-column: 1;
}

.theme-catl .page-hero--white-paper-detail .page-hero__title {
  max-width: 17ch !important;
}

.theme-catl .page-hero__visual--white-paper-detail {
  grid-column: 2;
  grid-row: 1 / span 4;
  min-height: clamp(300px, 36vw, 480px);
}

.theme-catl .whitepaper-detail-device {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: clamp(300px, 36vw, 480px);
  padding: clamp(24px, 4vw, 44px);
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(16,24,32,.12);
}

.theme-catl .whitepaper-detail-device span {
  color: #0066b3;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.theme-catl .whitepaper-detail-device strong {
  color: #101820;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .95;
  max-width: 8ch;
}

.theme-catl .whitepaper-detail-device i {
  display: block;
  height: 1px;
  background: rgba(0,102,179,.32);
}

.theme-catl .whitepaper-detail-brief > .container-catl {
  display: grid;
  grid-template-columns: minmax(260px, .34fr) minmax(0, .66fr);
  gap: clamp(34px, 7vw, 96px);
}

.theme-catl .whitepaper-detail-brief__panel {
  position: sticky;
  top: 8rem;
  align-self: start;
  display: grid;
  gap: 22px;
}

.theme-catl .whitepaper-detail-brief__panel h2,
.theme-catl .whitepaper-detail-brief__body h2 {
  margin: 0;
  color: #101820;
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -.02em;
  text-wrap: balance;
}

.theme-catl .whitepaper-detail-brief__meta {
  display: grid;
  gap: 1px;
  background: rgba(16,24,32,.08);
  border: 1px solid rgba(16,24,32,.08);
}

.theme-catl .whitepaper-detail-brief__meta span {
  padding: 14px 16px;
  color: #344253;
  background: #fff;
  font-size: 14px;
  font-weight: 720;
}

.theme-catl .whitepaper-detail-brief__body {
  display: grid;
  gap: clamp(24px, 4vw, 42px);
}

.theme-catl .whitepaper-detail-points {
  counter-reset: detail-point;
  display: grid;
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: rgba(16,24,32,.08);
  border: 1px solid rgba(16,24,32,.08);
}

.theme-catl .whitepaper-detail-points li {
  counter-increment: detail-point;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 18px;
  padding: clamp(18px, 3vw, 28px);
  color: #344253;
  background: #fff;
  line-height: 1.65;
}

.theme-catl .whitepaper-detail-points li::before {
  content: counter(detail-point, decimal-leading-zero);
  color: #0066b3;
  font-weight: 850;
}

.theme-catl .whitepaper-detail-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.theme-catl .whitepaper-detail-actions__secondary {
  color: #344253;
  font-weight: 760;
  text-decoration: none;
}

.theme-catl .whitepaper-upload-guide {
  background: #08111d;
  color: #fff;
}

.theme-catl .whitepaper-upload-guide > .container-catl {
  display: grid;
  grid-template-columns: minmax(0, .5fr) minmax(0, .5fr);
  gap: clamp(28px, 7vw, 96px);
  align-items: start;
}

.theme-catl .whitepaper-upload-guide .eyebrow {
  color: #22b8f0;
}

.theme-catl .whitepaper-upload-guide h2 {
  color: #fff;
}

.theme-catl .whitepaper-upload-guide ol {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: upload-step;
}

.theme-catl .whitepaper-upload-guide li {
  counter-increment: upload-step;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.76);
}

.theme-catl .whitepaper-upload-guide li::before {
  content: counter(upload-step, decimal-leading-zero);
  color: #22b8f0;
  font-weight: 850;
}

@media (max-width: 980px) {
  .theme-catl .page-hero--white-papers .page-hero__inner,
  .theme-catl .page-hero--white-paper-detail .page-hero__inner,
  .theme-catl .whitepaper-pillar > .container-catl,
  .theme-catl .whitepaper-detail-brief > .container-catl,
  .theme-catl .whitepaper-upload-guide > .container-catl {
    grid-template-columns: 1fr;
  }

  .theme-catl .page-hero--white-papers .breadcrumb-catl,
  .theme-catl .page-hero--white-papers .page-hero__eyebrow,
  .theme-catl .page-hero--white-papers .page-hero__title,
  .theme-catl .page-hero--white-papers .page-hero__lede,
  .theme-catl .page-hero--white-paper-detail .breadcrumb-catl,
  .theme-catl .page-hero--white-paper-detail .page-hero__eyebrow,
  .theme-catl .page-hero--white-paper-detail .page-hero__title,
  .theme-catl .page-hero--white-paper-detail .page-hero__lede,
  .theme-catl .page-hero__visual--white-papers,
  .theme-catl .page-hero__visual--white-paper-detail {
    grid-column: auto;
    grid-row: auto;
  }

  .theme-catl .whitepaper-pillar__intro,
  .theme-catl .whitepaper-detail-brief__panel {
    position: relative;
    top: auto;
  }

  .theme-catl .whitepaper-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 680px) {
  .theme-catl .video-insights-grid,
  .theme-catl .video-article-format__steps article {
    grid-template-columns: 1fr;
  }
}

/* Approved homepage hero: video-led background with Power inquiry mascot. */
.theme-catl .hero-catl.hero-catl--approved {
  position: relative;
  min-height: 100dvh !important;
  height: auto !important;
  padding: 110px clamp(16px, 3vw, 40px) 34px;
  overflow: hidden;
  color: #101820;
  background: #e8eef2;
  isolation: isolate;
}

.theme-catl .hero-catl-approved__video-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #dce6eb;
}

.theme-catl .hero-catl-approved__video-bg video,
.theme-catl .hero-catl-approved__video-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.015);
}

.theme-catl .hero-catl-approved__fallback {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.98), rgba(255,255,255,0.4)),
    linear-gradient(135deg, #dce6eb, #ffffff 46%, #b9ddeb);
}

.theme-catl .hero-catl-approved__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.94) 34%, rgba(255,255,255,0.64) 52%, rgba(255,255,255,0.08) 78%, rgba(255,255,255,0) 100%),
    radial-gradient(circle at 74% 48%, rgba(0,102,179,0.04), rgba(9,17,26,0.18) 64%, rgba(9,17,26,0.26) 100%),
    linear-gradient(0deg, rgba(9,17,26,0.18), rgba(9,17,26,0));
  pointer-events: none;
}

.theme-catl .hero-catl-approved__brand-lockup {
  position: absolute;
  z-index: 4;
  top: clamp(104px, 12vw, 150px);
  right: clamp(18px, 5vw, 72px);
  display: grid;
  grid-template-columns: 24px auto;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  max-width: min(320px, calc(100% - 32px));
  padding: 12px 14px;
  color: #07111f;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(16,24,32,.12);
  box-shadow: 0 18px 50px rgba(16,24,32,.16);
  backdrop-filter: blur(16px);
}

.theme-catl .hero-catl-approved__brand-mark {
  grid-row: 1 / span 2;
  width: 24px;
  height: 24px;
  border-radius: 5px;
  background: linear-gradient(135deg,#0066b3 0 58%,#00a86b 58% 100%);
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.78);
}

.theme-catl .hero-catl-approved__brand-lockup strong {
  display: block;
  font-size: 13px;
  font-weight: 820;
  line-height: 1;
  letter-spacing: .04em;
}

.theme-catl .hero-catl-approved__brand-lockup strong span {
  color: #0066b3;
}

.theme-catl .hero-catl-approved__brand-lockup small {
  display: block;
  margin-top: 4px;
  color: #475467;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: 0;
}

.theme-catl .hero-catl-approved__flow {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
}

.theme-catl .hero-catl-approved__flow span {
  position: absolute;
  left: 33%;
  width: min(42vw, 760px);
  height: 2px;
  background: linear-gradient(90deg, rgba(0,102,179,0), rgba(0,102,179,0.36), rgba(23,183,189,0.62), rgba(255,255,255,0));
  opacity: 0.54;
  filter: blur(0.2px);
  transform: translateX(-38%) skewX(-24deg);
  will-change: transform, opacity;
}

.theme-catl .hero-catl-approved__flow span:nth-child(1) { top: 36%; }
.theme-catl .hero-catl-approved__flow span:nth-child(2) { top: 48%; width: min(48vw, 860px); opacity: 0.36; }
.theme-catl .hero-catl-approved__flow span:nth-child(3) { top: 62%; width: min(34vw, 640px); opacity: 0.3; }

.theme-catl .hero-catl-approved__grid {
  position: relative;
  z-index: 3;
  min-height: calc(100dvh - 144px);
  display: grid;
  grid-template-columns: minmax(152px, 0.18fr) minmax(360px, 0.82fr) minmax(390px, 0.72fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: end;
}

.theme-catl .hero-catl-approved__path {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 22px;
  padding-bottom: 42px;
  color: #243140;
}

.theme-catl .hero-catl-approved__path p,
.theme-catl .hero-catl-approved__eyebrow {
  margin: 0;
  color: #0066b3;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-catl .hero-catl-approved__path ol {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  font-weight: 700;
}

.theme-catl .hero-catl-approved__path li {
  display: grid;
  gap: 5px;
  padding-top: 13px;
  border-top: 1px solid rgba(16,24,32,0.24);
}

.theme-catl .hero-catl-approved__path span {
  color: #f36f21;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.theme-catl .hero-catl-approved__copy {
  position: relative;
  max-width: 760px;
  padding: 0 0 clamp(30px, 7vw, 92px);
}

.theme-catl .hero-catl-approved__copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -34px -42px -38px -34px;
  border-left: 1px solid rgba(255,255,255,0.88);
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(255,255,255,0.88), rgba(255,255,255,0.62) 72%, rgba(255,255,255,0));
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.theme-catl .hero-catl-approved__copy h1 {
  max-width: 760px;
  margin: 12px 0 22px;
  color: #101820;
  font-size: clamp(54px, 7.2vw, 96px);
  line-height: 0.98;
  letter-spacing: 0;
  text-wrap: balance;
}

.theme-catl .hero-catl-approved__lede {
  max-width: 620px;
  margin: 0;
  color: #344253;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.48;
  text-wrap: pretty;
}

.theme-catl .hero-catl-approved__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.theme-catl .hero-catl-approved__btn {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid rgba(16,24,32,0.24);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1), background-color 180ms cubic-bezier(0.16, 1, 0.3, 1), border-color 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .hero-catl-approved__btn:active {
  transform: translateY(1px);
}

.theme-catl .hero-catl-approved__btn--primary {
  color: #fff;
  background: #0066b3;
  border-color: #0066b3;
}

.theme-catl .hero-catl-approved__btn--primary:hover {
  background: #054d86;
}

.theme-catl .hero-catl-approved__btn--secondary {
  color: #101820;
  background: rgba(255,255,255,0.62);
}

.theme-catl .hero-catl-approved__btn--secondary:hover {
  color: #0066b3;
  border-color: #0066b3;
}

.theme-catl .hero-catl-approved__motion-space {
  position: relative;
  align-self: center;
  justify-self: stretch;
  min-height: min(50vw, 620px);
  overflow: hidden;
  pointer-events: none;
}

.theme-catl .hero-catl-approved__scanline {
  position: absolute;
  inset: -10%;
  background: linear-gradient(115deg, transparent 0 45%, rgba(255,255,255,0.42) 49%, rgba(23,183,189,0.26) 51%, transparent 56% 100%);
  mix-blend-mode: screen;
  pointer-events: none;
  transform: translateX(-100%);
}

.theme-catl .power-mascot {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 45;
  display: grid;
  width: 112px;
  justify-items: center;
  gap: 5px;
  padding: 7px 8px 10px;
  color: #101820;
  font-size: 11px;
  font-weight: 800;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(16,24,32,0.14);
  border-radius: 12px;
  box-shadow: 0 6px 8px rgba(9,17,26,0.12);
  cursor: pointer;
  isolation: isolate;
  pointer-events: auto;
  transform: translate3d(calc(100vw - 148px), calc(100dvh - 150px), 0);
  will-change: transform;
}

.theme-catl .power-mascot__aura {
  position: absolute;
  inset: 8px;
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 45%, rgba(23,183,189,0.25), rgba(255,255,255,0) 66%);
  opacity: 0.76;
  transform: scale(0.82);
}

.theme-catl .power-mascot__stage,
.theme-catl .power-mascot__pet {
  position: relative;
  display: grid;
  place-items: center;
  transform-origin: 50% 88%;
  will-change: transform;
}

.theme-catl .power-mascot__stage {
  width: 82px;
  height: 78px;
}

.theme-catl .power-mascot__pet {
  width: 78px;
  height: 74px;
}

.theme-catl .power-sprite {
  position: relative;
  display: block;
  width: 78px;
  height: 110px;
  transform-origin: 50% 82%;
  will-change: transform;
}

.theme-catl .power-sprite svg,
.theme-catl .power-sprite__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  overflow: visible;
}

.theme-catl .power-mascot__shadow {
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 48px;
  height: 7px;
  border-radius: 999px;
  background: rgba(16,24,32,0.16);
  filter: blur(3px);
  transform: translateX(-50%);
  will-change: transform, opacity;
}

.theme-catl .power-mascot__label {
  position: relative;
  transition: opacity 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .power-mascot__label::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: #0066b3;
  transform: translateX(-50%);
  transition: width 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-catl .power-mascot:hover .power-mascot__label::after {
  width: 72%;
}

.theme-catl .power-mascot.is-running .power-mascot__label {
  opacity: 0.72;
}

.theme-catl .power-mascot.is-curious .power-mascot__aura {
  background: radial-gradient(circle at 50% 45%, rgba(0,102,179,0.3), rgba(255,255,255,0) 68%);
}

@media (max-width: 1120px) {
  .theme-catl .hero-catl-approved__grid {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .theme-catl .hero-catl-approved__path {
    display: none;
  }

  .theme-catl .hero-catl-approved__copy {
    padding-bottom: 10px;
  }

  .theme-catl .hero-catl-approved__motion-space {
    width: 100%;
    max-width: 680px;
    min-height: 360px;
  }
}

@media (max-width: 720px) {
  .theme-catl .hero-catl.hero-catl--approved {
    padding: 126px 16px 28px;
  }

  .theme-catl .hero-catl-approved__brand-lockup {
    top: 86px;
    right: 16px;
    padding: 10px 12px;
    grid-template-columns: 22px auto;
  }

  .theme-catl .hero-catl-approved__brand-mark {
    width: 22px;
    height: 22px;
  }

  .theme-catl .hero-catl-approved__brand-lockup small {
    display: none;
  }

  .theme-catl .hero-catl-approved__copy h1 {
    font-size: clamp(42px, 14vw, 62px);
  }

  .theme-catl .hero-catl-approved__lede {
    font-size: 17px;
  }

  .theme-catl .power-mascot {
    width: 92px;
    transform: translate3d(calc(100vw - 112px), calc(100dvh - 120px), 0);
  }

  .theme-catl .power-mascot__stage {
    width: 66px;
    height: 62px;
  }

  .theme-catl .power-mascot__pet {
    width: 62px;
    height: 58px;
  }

  .theme-catl .power-sprite {
    width: 62px;
    height: 88px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-catl .hero-catl-approved__flow span,
  .theme-catl .hero-catl-approved__scanline,
  .theme-catl .power-mascot,
  .theme-catl .power-mascot * {
    animation: none !important;
    transition-duration: 0.001ms !important;
  }
}

/* 1.6.37 final launch audit overrides */
.theme-catl .contact-route-card,
.theme-catl .contact-intake__form,
.theme-catl .contact-routing-panel > div,
.theme-catl .video-insights-frame,
.theme-catl .video-insight-card,
.theme-catl .whitepaper-card,
.theme-catl .resource-featured,
.theme-catl .resource-table a,
.theme-catl .case-featured,
.theme-catl .support-route-row {
  border-radius: 8px !important;
}

.theme-catl .video-insight-card__thumb,
.theme-catl .yaolaser-lite-youtube,
.theme-catl .video-insights-frame,
.theme-catl .video-insight-detail__frame {
  border-radius: 8px !important;
}

.theme-catl .video-insights-grid,
.theme-catl .whitepaper-grid {
  align-items: stretch;
}

.theme-catl .video-insight-card__body h3,
.theme-catl .whitepaper-card h3,
.theme-catl .resource-table strong {
  overflow-wrap: anywhere;
}

.theme-catl .resource-table a {
  grid-template-columns: 34px minmax(220px, 1fr) minmax(70px, 0.28fr) minmax(78px, 0.28fr) minmax(110px, 0.34fr) !important;
  align-items: center;
}

.theme-catl .whitepaper-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
}

.theme-catl .whitepaper-card__actions {
  align-self: end;
}

@media (max-width: 860px) {
  .theme-catl .resource-table a {
    grid-template-columns: 30px 1fr !important;
  }

  .theme-catl .resource-table span,
  .theme-catl .resource-table small,
  .theme-catl .resource-table em {
    grid-column: 2;
  }
}

/* 1.6.38 annotation pass: make routing menus, official logo, and resource paths production-ready. */
.theme-catl .yao-logo__official-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(0, 102, 179, 0.34);
  border-radius: 6px;
  background: #fff;
}

.theme-catl .yao-logo__official-mark img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  object-position: top center;
}

.theme-catl .yao-logo__text {
  color: #102033 !important;
}

.theme-catl .yao-logo__text span {
  color: #102033 !important;
}

.theme-catl .yao-nav .has-mega::after,
.theme-catl .yao-nav .menu-item-has-children::after,
.theme-catl .yao-nav .page_item_has_children::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  width: min(920px, calc(100vw - 3rem));
  height: 44px;
  transform: translateX(-50%);
  pointer-events: none;
}

.theme-catl .yao-nav .has-mega:hover::after,
.theme-catl .yao-nav .has-mega:focus-within::after,
.theme-catl .yao-nav .menu-item-has-children:hover::after,
.theme-catl .yao-nav .menu-item-has-children:focus-within::after,
.theme-catl .yao-nav .page_item_has_children:hover::after,
.theme-catl .yao-nav .page_item_has_children:focus-within::after {
  pointer-events: auto;
}

.theme-catl .yao-nav .mega-menu {
  z-index: 1000 !important;
  overflow: visible !important;
}

.theme-catl .yao-nav .sub-menu,
.theme-catl .yao-nav .children {
  z-index: 1000 !important;
}

.theme-catl .mega-menu__col:last-child {
  border-right: 0;
}

.theme-catl .yao-contact-button,
.theme-catl .yao-contact-button:visited {
  color: #102033 !important;
}

.theme-catl .yao-contact-button:hover,
.theme-catl .yao-contact-button:focus-visible {
  border-color: var(--catl-blue);
  background: var(--catl-blue);
  color: #fff !important;
}

.theme-catl .page-hero--video-insights .page-hero__inner,
.theme-catl .page-hero--resources .page-hero__inner {
  grid-template-columns: minmax(0, 0.62fr) minmax(340px, 0.38fr);
}

.theme-catl .page-hero--video-insights .page-hero__inner {
  display: block;
  max-width: 760px;
  min-height: auto;
  padding-block: clamp(6rem, 12vw, 9rem);
}

.theme-catl .page-hero--video-insights::after {
  display: none !important;
}

.theme-catl .page-hero--video-insights .page-hero__title,
.theme-catl .page-hero--video-insights .page-hero__lede {
  margin-inline: 0;
}

.theme-catl .video-insight-detail__intro {
  display: grid;
  gap: 0.9rem;
  padding: clamp(1.2rem, 2.6vw, 1.8rem);
  border: 1px solid rgba(16, 32, 51, 0.1);
  border-radius: 8px;
  background: rgba(247, 251, 254, 0.72);
}

.theme-catl .video-insight-detail__intro h2,
.theme-catl .video-insight-detail__article > section h2 {
  margin: 0;
  color: #102033;
  font-size: clamp(1.18rem, 1.6vw, 1.55rem);
  line-height: 1.18;
}

.theme-catl .video-insight-detail__intro p,
.theme-catl .video-insight-detail__article > section p {
  margin: 0;
}

.theme-catl .video-insight-detail__checklist ul {
  margin: 1rem 0 0;
  padding-left: 1.1rem;
  color: #475467;
  line-height: 1.65;
}

.theme-catl .catl-solution-panorama .catl-section-header--split {
  display: block;
  max-width: 980px;
  margin-inline: auto;
  text-align: center;
}

.theme-catl .catl-solution-panorama .catl-section-header--split p {
  max-width: 680px;
  margin: 1rem auto 0;
}

.theme-catl .catl-solution-wall {
  width: min(100% - 3rem, 1240px) !important;
  grid-auto-rows: clamp(220px, 17vw, 300px) !important;
  margin-top: clamp(2rem, 4vw, 3.6rem) !important;
  background: transparent !important;
  border: 0 !important;
}

.theme-catl .catl-solution-wall::before,
.theme-catl .catl-route-atlas,
.theme-catl .catl-route-atlas__legend,
.theme-catl .catl-svg-transition {
  display: none !important;
}

.theme-catl .catl-solution-tile:nth-child(n) {
  transform: none !important;
}

.theme-catl .catl-solution-tile__kicker,
.theme-catl .catl-solution-tile__copy,
.theme-catl .catl-solution-tile__meta {
  display: none !important;
}

.theme-catl .catl-solution-tile__body {
  align-items: center;
  justify-content: center;
  text-align: center;
}

.theme-catl .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
  max-width: 18ch;
  margin-inline: auto;
  font-size: clamp(1.8rem, 3vw, 3.45rem);
  line-height: 1.04;
}

.theme-catl .catl-process-flow {
  overflow: visible !important;
}

.theme-catl .catl-process-flow .catl-section-header {
  max-width: 860px;
  margin-inline: auto;
  text-align: center;
}

.theme-catl .catl-process-steps {
  margin-top: clamp(2rem, 4vw, 3.2rem);
}

/* 1.6.39 content-template pass: split Resources/Insights and tighten inner-page templates. */
.theme-catl .resource-table a {
  grid-template-columns: 42px minmax(320px, 1fr) 82px 72px minmax(104px, 0.22fr) !important;
  gap: clamp(0.65rem, 1.2vw, 1rem) !important;
}

.theme-catl .resource-table strong {
  max-width: 54ch;
}

.theme-catl .resource-table span,
.theme-catl .resource-table small {
  white-space: nowrap;
}

.theme-catl .resource-table em {
  justify-self: start !important;
  max-width: 13ch;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #62778a !important;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
}

.theme-catl .about-signal__media,
.theme-catl .about-principles__visual {
  display: block;
  min-height: clamp(360px, 42vw, 560px);
  border-radius: 8px;
}

.theme-catl .about-signal__media img,
.theme-catl .about-principles__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.theme-catl .page-hero--about .page-hero__visual,
.theme-catl .page-hero--support .page-hero__visual,
.theme-catl .page-hero--resources .page-hero__visual {
  min-height: clamp(320px, 34vw, 500px);
}

.theme-catl .page-hero--about .page-hero__visual {
  background:
    linear-gradient(90deg, rgba(247,251,254,0.94), rgba(247,251,254,0.45)),
    url("../images/real/engineering-team.jpg") center / cover no-repeat;
}

.theme-catl .page-hero--support .page-hero__visual {
  background:
    linear-gradient(90deg, rgba(247,251,254,0.93), rgba(247,251,254,0.42)),
    url("../images/real/real-process-overhead.jpg") center / cover no-repeat;
}

.theme-catl .page-hero--resources .page-hero__visual {
  background:
    linear-gradient(90deg, rgba(247,251,254,0.94), rgba(247,251,254,0.5)),
    url("../images/real/solution-automation-line.jpg") center / cover no-repeat;
}

.theme-catl .whitepaper-detail-section {
  display: grid;
  gap: 1rem;
  padding: clamp(1.2rem, 2.5vw, 1.7rem);
  border: 1px solid rgba(16, 32, 51, 0.1);
  border-radius: 8px;
  background: #fff;
}

.theme-catl .whitepaper-detail-section h2 {
  margin: 0;
  color: #101820;
  font-size: clamp(1.25rem, 1.9vw, 1.8rem);
  line-height: 1.15;
}

.theme-catl .whitepaper-detail-section p {
  margin: 0;
  color: #51677a;
  line-height: 1.65;
}

.theme-catl .whitepaper-detail-checks,
.theme-catl .whitepaper-detail-rfq,
.theme-catl .whitepaper-detail-faq {
  display: grid;
  gap: 1px;
  margin: 0;
  padding: 0;
  background: rgba(16, 32, 51, 0.08);
  border: 1px solid rgba(16, 32, 51, 0.08);
}

.theme-catl .whitepaper-detail-checks li,
.theme-catl .whitepaper-detail-rfq li,
.theme-catl .whitepaper-detail-faq li {
  display: grid;
  gap: 0.35rem;
  padding: 1rem 1.1rem;
  background: #fff;
  color: #51677a;
  line-height: 1.55;
}

.theme-catl .whitepaper-detail-checks li {
  grid-template-columns: 3.2rem minmax(0, 1fr);
}

.theme-catl .whitepaper-detail-checks li::before {
  color: var(--catl-blue);
  font-weight: 850;
}

.theme-catl .whitepaper-detail-rfq {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-catl .whitepaper-detail-rfq li {
  color: #102033;
  font-weight: 680;
}

.theme-catl .whitepaper-detail-faq strong {
  color: #102033;
  font-size: 0.98rem;
}

@media (max-width: 980px) {
  .theme-catl .resource-table a,
  .theme-catl .whitepaper-detail-rfq {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .resource-table span,
  .theme-catl .resource-table small,
  .theme-catl .resource-table em {
    white-space: normal;
  }

  .theme-catl .whitepaper-detail-checks li {
    grid-template-columns: 2.6rem minmax(0, 1fr);
  }
}

.theme-catl .standard-page__content {
  padding-top: clamp(3.5rem, 8vw, 6.5rem);
}

.theme-catl .standard-page .entry-content {
  max-width: 1040px;
  margin: 0 auto;
}

.theme-catl .legacy-landing-page {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
}

.theme-catl .legacy-landing-page__lead {
  max-width: 760px;
  margin: 0;
  color: #51677a;
  font-size: clamp(1.08rem, 1.45vw, 1.28rem);
  line-height: 1.75;
}

.theme-catl .legacy-landing-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
  gap: 1px;
  background: rgba(0, 102, 179, 0.18);
  border: 1px solid rgba(0, 102, 179, 0.18);
}

.theme-catl .legacy-landing-page section {
  display: grid;
  gap: 1.1rem;
  margin: 0;
  padding: clamp(1.4rem, 3vw, 2.25rem);
  background: rgba(255, 255, 255, 0.92);
}

.theme-catl .legacy-landing-page section > span {
  color: var(--catl-blue);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-catl .legacy-landing-page h2 {
  margin: 0;
  color: #101820;
  font-size: clamp(1.35rem, 2vw, 2.1rem);
  line-height: 1.15;
}

.theme-catl .legacy-landing-page ul,
.theme-catl .legacy-landing-page ol {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.theme-catl .legacy-landing-page li {
  color: #51677a;
  line-height: 1.6;
}

.theme-catl .legacy-landing-page li::before {
  content: "";
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-right: 0.65rem;
  border-radius: 50%;
  background: var(--catl-blue);
  transform: translateY(-0.08rem);
}

.theme-catl .legacy-landing-page__chips {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-catl .legacy-landing-page__chips li {
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: rgba(240, 248, 255, 0.72);
  color: #102033;
  font-weight: 720;
}

.theme-catl .legacy-landing-page__chips li::before {
  display: none;
}

.theme-catl .legacy-landing-page__process {
  border: 1px solid rgba(16, 32, 51, 0.08);
}

.theme-catl .legacy-landing-page__process li {
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(16, 32, 51, 0.08);
}

.theme-catl .legacy-landing-page__process li::before {
  display: none;
}

.theme-catl .legacy-landing-page__process strong {
  color: var(--catl-blue);
  font-size: 0.9rem;
  letter-spacing: 0.05em;
}

.theme-catl .legacy-landing-page__quality {
  background: #f5f9fc !important;
  border: 1px solid rgba(16, 32, 51, 0.08);
}

.theme-catl .legacy-landing-page__links {
  border: 1px solid rgba(16, 32, 51, 0.08);
}

.theme-catl .legacy-landing-page__links div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.theme-catl .legacy-landing-page__links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0 1rem;
  border: 1px solid rgba(0, 102, 179, 0.18);
  color: #102033;
  font-weight: 780;
  text-decoration: none;
}

.theme-catl .legacy-landing-page__links a:hover,
.theme-catl .legacy-landing-page__links a:focus {
  border-color: var(--catl-blue);
  color: var(--catl-blue);
}

@media (max-width: 860px) {
  .theme-catl .legacy-landing-page__grid,
  .theme-catl .legacy-landing-page__chips {
    grid-template-columns: 1fr;
  }

  .theme-catl .legacy-landing-page__process li {
    grid-template-columns: 2.4rem minmax(0, 1fr);
  }
}

/* 1.6.46 visual polish: layout rhythm, alignment, and boss-review refinements. */
.theme-catl {
  --yl-page-max: 1120px;
  --yl-section-gap: clamp(4.5rem, 7vw, 7rem);
  --yl-section-gap-tight: clamp(3rem, 5vw, 4.5rem);
}

.theme-catl #content {
  padding-top: 7rem;
}

.theme-catl .site-header {
  height: 76px;
}

.theme-catl .site-header.scrolled {
  height: 66px;
}

.theme-catl .yao-header__inner {
  min-height: inherit;
  gap: clamp(1rem, 2.2vw, 2.5rem);
}

.theme-catl .site-branding a,
.theme-catl .custom-logo-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.theme-catl .yao-nav > ul {
  align-items: stretch;
}

.theme-catl .yao-nav > ul > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 76px;
  padding-inline: clamp(0.55rem, 1vw, 0.85rem);
}

.theme-catl .site-header.scrolled .yao-nav > ul > li > a {
  min-height: 66px;
}

.theme-catl .mega-menu {
  top: calc(100% - 1px);
}

.theme-catl .mega-menu__grid {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: clamp(2rem, 4vw, 4rem);
  width: min(100% - 3rem, 1120px);
  padding: clamp(2rem, 4vw, 3rem) 0;
}

.theme-catl .mega-menu__col {
  min-width: 0;
}

.theme-catl .mega-menu__col h4 {
  margin-bottom: 0.85rem;
  color: #51677a;
  font-size: 0.72rem;
  line-height: 1.3;
}

.theme-catl .mega-menu__col a {
  padding: 0.45rem 0;
  color: #1f3348 !important;
  line-height: 1.45;
}

.theme-catl .yao-contact-button {
  min-width: 104px;
  min-height: 44px;
  color: #102033 !important;
  background: #fff;
  border-color: rgba(16, 32, 51, 0.16);
}

.theme-catl .yao-contact-button:hover,
.theme-catl .yao-contact-button:focus-visible {
  color: #fff !important;
  background: var(--catl-blue);
}

.theme-catl .page-hero {
  min-height: clamp(420px, 48vh, 560px);
  padding-top: clamp(4.75rem, 7vw, 6.5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.5rem) !important;
}

.theme-catl .page-hero__inner {
  width: 100%;
  max-width: var(--yl-page-max);
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(300px, 0.42fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.theme-catl .page-hero__title {
  max-width: 16ch;
  margin: 0.8rem 0 0;
  font-size: clamp(3rem, 5vw, 5.35rem);
  line-height: 0.98;
  text-wrap: balance;
}

.theme-catl .page-hero__lede {
  max-width: 54ch;
  margin-top: 1.4rem;
  font-size: clamp(1rem, 1.15vw, 1.14rem);
}

.theme-catl .page-hero::after {
  right: clamp(1rem, 6vw, 6rem);
  top: 22%;
  width: min(30vw, 410px);
  opacity: 0.42;
  box-shadow: 0 18px 56px rgba(21,48,84,0.08);
}

.theme-catl .page-hero__visual {
  justify-self: stretch;
  align-self: center;
}

.theme-catl .page-hero--contact,
.theme-catl .page-hero--about,
.theme-catl .page-hero--support,
.theme-catl .page-hero--resources,
.theme-catl .page-hero--video-insights,
.theme-catl .page-hero--white-papers,
.theme-catl .page-hero--white-paper-detail,
.theme-catl .page-hero--article,
.theme-catl .page-hero--standard {
  min-height: clamp(400px, 46vh, 540px) !important;
}

.theme-catl .page-hero--video-insights .page-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.64fr) minmax(220px, 0.36fr);
  max-width: var(--yl-page-max);
  min-height: 0;
  padding-block: 0;
}

.theme-catl .page-hero--video-insights .page-hero__inner::after {
  content: "";
  width: 100%;
  min-height: clamp(180px, 22vw, 300px);
  border: 1px solid rgba(0, 102, 179, 0.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.78), rgba(232,245,255,0.46)),
    url("../images/real/real-process-overhead.jpg") center / cover no-repeat;
  opacity: 0.72;
}

.theme-catl .page-hero--resources .page-hero__visual,
.theme-catl .page-hero--support .page-hero__visual,
.theme-catl .page-hero--about .page-hero__visual {
  min-height: clamp(260px, 26vw, 390px);
  border: 1px solid rgba(0, 102, 179, 0.12);
}

.theme-catl .section-catl {
  padding-top: var(--yl-section-gap);
  padding-bottom: var(--yl-section-gap);
}

.theme-catl .section-catl--tight {
  padding-top: var(--yl-section-gap-tight);
  padding-bottom: var(--yl-section-gap-tight);
}

.theme-catl .catl-section-header {
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.theme-catl .catl-section-header h2 {
  margin: 0;
  font-size: clamp(2.35rem, 4.6vw, 5.4rem);
  line-height: 0.98;
  text-wrap: balance;
}

.theme-catl .catl-section-header p {
  max-width: 62ch;
  color: #51677a;
}

.theme-catl .catl-solution-wall {
  width: min(100% - 3rem, 1160px) !important;
  grid-auto-rows: clamp(210px, 18vw, 280px) !important;
}

.theme-catl .catl-solution-tile__photo::after {
  background:
    linear-gradient(90deg, rgba(6, 28, 48, 0.66), rgba(6, 28, 48, 0.24)),
    linear-gradient(180deg, rgba(6, 28, 48, 0.08), rgba(6, 28, 48, 0.56));
}

.theme-catl .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
  max-width: 17ch;
  font-size: clamp(1.65rem, 2.75vw, 3rem);
  line-height: 1.04;
}

.theme-catl .catl-solution-tile__index {
  top: clamp(1rem, 2vw, 1.4rem);
  left: clamp(1rem, 2vw, 1.4rem);
}

.theme-catl .catl-process-flow {
  padding-top: clamp(4rem, 6vw, 6rem);
}

.theme-catl .catl-process-steps {
  width: min(100%, 1080px);
  margin-inline: auto;
  border: 1px solid rgba(0, 102, 179, 0.12);
  background: rgba(255,255,255,0.72);
}

.theme-catl .catl-process-step {
  min-height: 260px;
  padding: clamp(1.6rem, 3vw, 2.2rem);
}

.theme-catl .catl-process-step h3 {
  max-width: 12ch;
  font-size: clamp(1.12rem, 1.5vw, 1.35rem);
  line-height: 1.12;
}

.theme-catl .catl-process-step p {
  max-width: 28ch;
  line-height: 1.65;
}

.theme-catl .resource-library.section-catl {
  padding-top: clamp(3.5rem, 5vw, 5.5rem);
}

.theme-catl .resource-library > .container-catl {
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(2rem, 4.5vw, 5rem);
}

.theme-catl .resource-library__index {
  top: 7.5rem;
  padding: clamp(1.2rem, 2vw, 1.8rem);
}

.theme-catl .resource-library__index h2 {
  max-width: 14ch;
  margin: 1.5rem 0 1.6rem;
  font-size: clamp(1.7rem, 2.4vw, 2.6rem);
  line-height: 1.08;
}

.theme-catl .resource-section__head {
  grid-template-columns: minmax(200px, 0.34fr) minmax(0, 0.66fr);
  align-items: start;
  gap: clamp(1.4rem, 3vw, 3rem);
}

.theme-catl .resource-section__head h2 {
  max-width: 15ch;
}

.theme-catl .resource-table a {
  grid-template-columns: 40px minmax(280px, 1fr) minmax(70px, 0.15fr) minmax(64px, 0.12fr) minmax(92px, 0.18fr) !important;
  min-height: 70px;
  padding: 1rem 0.25rem;
}

.theme-catl .resource-table a:hover,
.theme-catl .resource-table a:focus-visible {
  padding-left: 0.85rem;
  padding-right: 0.85rem;
}

.theme-catl .resource-table strong {
  max-width: 48ch;
  font-size: 0.98rem;
}

.theme-catl .resource-table__icon {
  width: 34px;
  height: 34px;
}

.theme-catl .resource-featured {
  align-items: center;
}

.theme-catl .resource-featured h2 {
  max-width: 17ch;
}

.theme-catl .video-insights-feature > .container-catl,
.theme-catl .video-insight-detail > .container-catl,
.theme-catl .video-article-format > .container-catl,
.theme-catl .whitepaper-detail-brief > .container-catl,
.theme-catl .whitepaper-pillar > .container-catl {
  gap: clamp(2rem, 4vw, 4.5rem);
}

.theme-catl .video-insights-frame,
.theme-catl .video-insight-card,
.theme-catl .whitepaper-card,
.theme-catl .resource-featured,
.theme-catl .resource-library__index {
  border-radius: 8px;
}

.theme-catl .video-insight-card__body h3,
.theme-catl .whitepaper-card h3 {
  text-wrap: balance;
}

@media (max-width: 1100px) {
  .theme-catl .page-hero__inner,
  .theme-catl .page-hero--video-insights .page-hero__inner {
    grid-template-columns: 1fr;
  }

  .theme-catl .page-hero--video-insights .page-hero__inner::after {
    min-height: 220px;
  }

  .theme-catl .page-hero__visual {
    max-width: 720px;
  }

  .theme-catl .resource-library > .container-catl {
    grid-template-columns: 1fr;
  }

  .theme-catl .resource-library__index {
    position: relative;
    top: auto;
  }
}

@media (max-width: 980px) {
  .theme-catl .mega-menu__grid {
    width: min(100% - 2rem, 760px);
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  .theme-catl .catl-solution-wall {
    width: min(100% - 2rem, 760px) !important;
    grid-template-columns: 1fr !important;
    grid-auto-rows: minmax(220px, auto) !important;
  }

  .theme-catl .catl-process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .theme-catl .resource-section__head,
  .theme-catl .resource-table a {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .resource-table a {
    gap: 0.5rem !important;
    padding: 1rem 0;
  }

  .theme-catl .resource-table__icon {
    display: none;
  }
}

@media (max-width: 640px) {
  .theme-catl #content {
    padding-top: 5.5rem;
  }

  .theme-catl .page-hero {
    min-height: auto !important;
    padding-top: 4rem !important;
    padding-bottom: 3rem !important;
  }

  .theme-catl .page-hero__title {
    max-width: 100%;
    font-size: clamp(2.35rem, 12vw, 3.4rem);
  }

  .theme-catl .page-hero__lede {
    font-size: 1rem;
  }

  .theme-catl .page-hero--video-insights .page-hero__inner::after {
    display: none;
  }

  .theme-catl .catl-section-header h2 {
    font-size: clamp(2.1rem, 10vw, 3.25rem);
  }

  .theme-catl .catl-process-steps {
    grid-template-columns: 1fr;
  }

  .theme-catl .catl-process-step {
    min-height: 0;
  }
}

/* 1.6.47 boss-review alignment pass: tighten the visible grid and reduce decorative drift. */
.theme-catl .yao-logo {
  gap: 0;
}

.theme-catl .yao-logo__official-mark {
  width: auto !important;
  height: 38px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.theme-catl .yao-logo__official-mark img {
  width: auto !important;
  height: 38px !important;
  max-width: 132px;
  object-fit: contain;
}

.theme-catl .yao-nav {
  gap: clamp(1rem, 2vw, 1.7rem);
}

.theme-catl .yao-nav__home,
.theme-catl .yao-mobile-menu__home {
  color: var(--text-primary);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
}

.theme-catl .yao-nav__home:hover,
.theme-catl .yao-nav__home:focus-visible,
.theme-catl .yao-mobile-menu__home:hover,
.theme-catl .yao-mobile-menu__home:focus-visible {
  color: var(--catl-blue);
}

.theme-catl .catl-solution-panorama .catl-section-header,
.theme-catl .catl-process-flow .catl-section-header {
  width: min(100% - 3rem, 900px) !important;
  max-width: 900px !important;
  margin-inline: auto !important;
  margin-bottom: clamp(2.4rem, 4vw, 3.6rem) !important;
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.theme-catl .catl-solution-panorama .catl-section-header h2,
.theme-catl .catl-process-flow .catl-section-header h2 {
  width: 100%;
  max-width: 12.5ch !important;
  margin-inline: auto !important;
  text-align: center !important;
}

.theme-catl .catl-solution-panorama .catl-section-header p,
.theme-catl .catl-process-flow .catl-section-header p {
  max-width: 62ch !important;
  margin-inline: auto !important;
  text-align: center !important;
}

.theme-catl .catl-solution-tile__body {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-items: center !important;
  padding: clamp(2rem, 4vw, 3.5rem) !important;
  min-height: 0 !important;
  text-align: center !important;
}

.theme-catl .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
  max-width: 16ch !important;
  margin: 0 auto !important;
  color: #ffffff;
  font-size: clamp(1.9rem, 2.8vw, 3.15rem) !important;
  line-height: 1.04 !important;
  text-align: center !important;
}

.theme-catl .catl-solution-tile__copy,
.theme-catl .catl-solution-tile__meta,
.theme-catl .catl-solution-tile__kicker {
  max-width: 34ch;
  margin-inline: auto;
  text-align: center;
}

.theme-catl .catl-process-flow {
  padding-top: clamp(3.2rem, 5vw, 5rem) !important;
}

.theme-catl .catl-process-steps {
  width: min(100% - 3rem, 1060px) !important;
  max-width: 1060px;
}

.theme-catl .catl-process-step {
  min-height: clamp(220px, 18vw, 260px) !important;
}

.theme-catl .catl-technology-vision {
  padding-top: clamp(3rem, 5vw, 5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 5rem) !important;
  background:
    linear-gradient(180deg, #f7fbff 0%, #eef7ff 100%) !important;
}

.theme-catl .catl-technology-vision__inner {
  width: min(100% - 3rem, 1180px);
  min-height: 0 !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.78fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  border: 1px solid rgba(0, 102, 179, 0.14);
  background: rgba(255,255,255,0.78);
}

.theme-catl .catl-technology-vision__copy {
  min-height: 0 !important;
  padding: clamp(2rem, 3vw, 3rem) !important;
}

.theme-catl .catl-technology-vision__proof {
  transform: none !important;
  display: grid !important;
  gap: 1px;
  min-height: 0 !important;
  border-left: 1px solid rgba(0, 102, 179, 0.12);
  background: rgba(0, 102, 179, 0.12) !important;
}

.theme-catl .catl-technology-vision__proof div {
  display: grid;
  align-content: center;
  min-height: clamp(130px, 10vw, 172px) !important;
  padding: clamp(1.25rem, 2vw, 2rem) !important;
  background: rgba(255,255,255,0.86) !important;
}

.theme-catl .catl-technology-vision__proof div::after {
  display: none;
}

.theme-catl .catl-technology-vision__proof strong {
  color: #102033 !important;
}

.theme-catl .catl-technology-vision__proof span,
.theme-catl .catl-technology-vision__proof p {
  color: #5d7182 !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__meta-line span:first-child,
.theme-catl .news-section.catl-news-benchmark .news-item__cta,
.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item__cta {
  color: var(--catl-blue) !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__title--featured,
.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item__title,
.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item__title a {
  color: #102033 !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item:hover .news-item__title,
.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item--compact:hover .news-item__title {
  color: #005a9c !important;
}

.theme-catl .newsletter-catl {
  padding-top: clamp(3rem, 5vw, 5rem) !important;
  padding-bottom: clamp(2.2rem, 4vw, 3.6rem) !important;
}

.theme-catl .newsletter-catl__grid {
  width: min(100% - 3rem, 1120px);
  margin-inline: auto;
  gap: clamp(2rem, 4vw, 4rem) !important;
}

.theme-catl .newsletter-catl + .yao-footer,
.theme-catl .newsletter-catl + footer {
  margin-top: 0 !important;
}

.theme-catl .yao-footer {
  padding-top: clamp(2rem, 3.5vw, 3.2rem) !important;
}

.theme-catl .power-mascot {
  transform: translate3d(calc(100vw - 148px), calc(100dvh - 180px), 0) !important;
}

@media (max-width: 1120px) {
  .theme-catl .power-mascot {
    transform: translate3d(calc(100vw - 108px), calc(100dvh - 126px), 0) !important;
  }
}

@media (max-width: 980px) {
  .theme-catl .catl-technology-vision__inner {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .catl-technology-vision__proof {
    border-left: 0;
    border-top: 1px solid rgba(0, 102, 179, 0.12);
  }
}

@media (max-width: 760px) {
  .theme-catl .catl-solution-panorama .catl-section-header,
  .theme-catl .catl-process-flow .catl-section-header,
  .theme-catl .catl-process-steps,
  .theme-catl .catl-technology-vision__inner,
  .theme-catl .newsletter-catl__grid {
    width: min(100% - 2rem, 100%) !important;
  }

  .theme-catl .catl-solution-tile__body strong,
  .theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
  .theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
    font-size: clamp(1.8rem, 8vw, 2.45rem) !important;
  }
}

/* 1.6.48 visual correction: remove visible staging text, restore imagery, and calm loud accents. */
.theme-catl .site-branding {
  display: flex;
  align-items: center;
}

.theme-catl .site-branding .site-title,
.theme-catl .site-branding .blog-name,
.theme-catl .site-branding .screen-reader-text,
.theme-catl .yao-logo__text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.theme-catl .yao-logo {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.theme-catl .yao-logo__official-mark {
  width: 58px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
}

.theme-catl .yao-logo__official-mark img {
  width: 58px !important;
  height: 44px !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
}

.theme-catl .yao-header__inner {
  align-items: center !important;
}

.theme-catl .yao-nav,
.theme-catl .yao-nav > ul,
.theme-catl .yao-nav .menu {
  display: flex !important;
  align-items: center !important;
  gap: clamp(1.25rem, 2.1vw, 2rem) !important;
}

.theme-catl .yao-nav a,
.theme-catl .yao-nav__home {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px;
  line-height: 1 !important;
}

.theme-catl .catl-solution-tile__body {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: clamp(2rem, 4vw, 4rem) !important;
  transform: none !important;
}

.theme-catl .catl-solution-tile:hover .catl-solution-tile__body {
  transform: none !important;
}

.theme-catl .catl-solution-tile__kicker,
.theme-catl .catl-solution-tile__copy,
.theme-catl .catl-solution-tile__meta {
  display: none !important;
}

.theme-catl .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
  max-width: 16ch !important;
  margin: 0 auto !important;
  font-size: clamp(2rem, 3vw, 3.3rem) !important;
  font-weight: 680 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-wrap: balance;
}

.theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
  font-size: clamp(1.9rem, 2.65vw, 3rem) !important;
}

.theme-catl .catl-solution-tile__photo::before,
.theme-catl .catl-solution-tile__photo::after {
  background:
    linear-gradient(180deg, rgba(4, 18, 30, 0.28) 0%, rgba(5, 18, 32, 0.52) 46%, rgba(5, 18, 32, 0.88) 100%),
    linear-gradient(115deg, rgba(0, 102, 179, 0.32), transparent 58%) !important;
}

.theme-catl .catl-technology-vision {
  padding-top: clamp(4rem, 6vw, 6.5rem) !important;
  padding-bottom: clamp(4rem, 6vw, 6.5rem) !important;
  background:
    linear-gradient(180deg, #f5fbff 0%, #eaf5fd 100%) !important;
}

.theme-catl .catl-technology-vision__inner {
  display: grid !important;
  grid-template-columns: minmax(420px, 0.92fr) minmax(360px, 0.78fr) !important;
  gap: 0 !important;
  width: min(100% - 3rem, 1180px) !important;
  min-height: clamp(460px, 42vw, 600px) !important;
  overflow: hidden;
  border: 1px solid rgba(0, 102, 179, 0.16);
  background: #ffffff !important;
}

.theme-catl .catl-technology-vision__copy {
  position: relative;
  display: grid !important;
  align-content: end !important;
  gap: 1.1rem !important;
  min-height: clamp(460px, 42vw, 600px) !important;
  padding: clamp(2.2rem, 4vw, 4rem) !important;
  color: #ffffff !important;
  background:
    linear-gradient(180deg, rgba(4, 18, 30, 0.12) 0%, rgba(4, 18, 30, 0.58) 56%, rgba(4, 18, 30, 0.9) 100%),
    url("../images/real/real-engineering-office.jpg") center / cover no-repeat !important;
}

.theme-catl .catl-technology-vision .catl-section-kicker,
.theme-catl .catl-technology-vision h2,
.theme-catl .catl-technology-vision p,
.theme-catl .catl-technology-vision a {
  color: #ffffff !important;
}

.theme-catl .catl-technology-vision h2 {
  max-width: 12.5ch !important;
  font-size: clamp(2.8rem, 5.6vw, 5.4rem) !important;
  line-height: 1 !important;
}

.theme-catl .catl-technology-vision p {
  max-width: 48ch !important;
  color: rgba(255,255,255,0.84) !important;
}

.theme-catl .catl-technology-vision a {
  width: fit-content;
  border-color: rgba(255,255,255,0.48) !important;
  background: rgba(255,255,255,0.08);
}

.theme-catl .catl-technology-vision__proof {
  display: grid !important;
  align-content: stretch;
  min-height: 100% !important;
  border-left: 1px solid rgba(0, 102, 179, 0.13) !important;
  background: #f4f9fd !important;
}

.theme-catl .catl-technology-vision__proof div {
  min-height: 0 !important;
  padding: clamp(1.5rem, 2.4vw, 2.4rem) !important;
  background: rgba(255,255,255,0.76) !important;
}

.theme-catl .catl-technology-vision__proof div + div {
  border-top: 1px solid rgba(0, 102, 179, 0.12) !important;
}

.theme-catl .catl-technology-vision__proof span {
  color: #37677f !important;
}

.theme-catl .catl-technology-vision__proof strong {
  color: #102033 !important;
}

.theme-catl .catl-technology-vision__proof p {
  color: #5a7184 !important;
}

.theme-catl .catl-evidence-briefs__grid {
  background: #dcecf7;
}

.theme-catl .catl-evidence-brief {
  min-height: clamp(360px, 28vw, 500px);
  background: #ffffff !important;
}

.theme-catl .catl-evidence-brief__media {
  display: block !important;
  min-height: clamp(220px, 20vw, 340px);
  background: #e8f4fb;
}

.theme-catl .catl-evidence-brief__media img {
  display: block !important;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.theme-catl .catl-evidence-brief__body {
  display: grid !important;
  gap: 0.8rem;
  padding: clamp(1.4rem, 2vw, 2.2rem) !important;
  color: #102033 !important;
  background: #ffffff !important;
}

.theme-catl .catl-evidence-brief__body strong {
  color: #102033 !important;
}

.theme-catl .catl-evidence-brief__body span:not(.catl-evidence-brief__type) {
  color: #587084 !important;
}

.theme-catl .catl-evidence-brief__type,
.theme-catl .news-section.catl-news-benchmark .news-item__meta-line span:first-child,
.theme-catl .news-section.catl-news-benchmark .news-item__cta,
.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item__cta {
  color: #0066b3 !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__meta-line span:first-child,
.theme-catl .catl-evidence-brief__type {
  border-color: rgba(0, 102, 179, 0.22) !important;
  background: rgba(0, 102, 179, 0.055) !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__cta,
.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item__cta {
  border: 1px solid rgba(0, 102, 179, 0.2) !important;
  background: rgba(255,255,255,0.78) !important;
}

.theme-catl .news-section.catl-news-benchmark .news-item__title--featured,
.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item__title,
.theme-catl .news-section.catl-news-benchmark .catl-news-list .news-item__title a {
  color: #102033 !important;
}

.theme-catl .catl-svg-transition {
  display: block !important;
  opacity: 0.78 !important;
}

.theme-catl .catl-svg-transition__canvas {
  display: block !important;
}

@media (max-width: 980px) {
  .theme-catl .catl-technology-vision__inner {
    grid-template-columns: 1fr !important;
  }

  .theme-catl .catl-technology-vision__proof {
    border-left: 0 !important;
    border-top: 1px solid rgba(0, 102, 179, 0.13) !important;
  }
}

@media (max-width: 760px) {
  .theme-catl .yao-logo__official-mark,
  .theme-catl .yao-logo__official-mark img {
    width: 50px !important;
    height: 38px !important;
  }

  .theme-catl .catl-solution-tile__body strong,
  .theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
  .theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
    font-size: clamp(1.9rem, 8vw, 2.6rem) !important;
  }

  .theme-catl .catl-technology-vision__inner,
  .theme-catl .catl-evidence-briefs__grid {
    width: min(100% - 1.5rem, 100%) !important;
  }
}

/* v1.6.49 final dominance layer. Keep this block last. */
.theme-catl .site-branding .site-title,
.theme-catl .site-branding .site-description,
.theme-catl .yao-logo__text { display: none !important; }

.theme-catl .yao-header__inner {
  display: grid !important;
  grid-template-columns: minmax(84px, auto) minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: clamp(1rem, 3vw, 3rem) !important;
}

.theme-catl .yao-logo,
.theme-catl .site-branding { display: flex !important; align-items: center !important; }
.theme-catl .yao-logo__official-mark { width: 58px !important; height: 46px !important; overflow: hidden !important; }
.theme-catl .yao-logo__official-mark img { width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center !important; }
.theme-catl .yao-nav { justify-self: center !important; }
.theme-catl .yao-nav, .theme-catl .yao-nav > ul, .theme-catl .yao-nav .menu { align-items: center !important; }
.theme-catl .yao-nav a { line-height: 1 !important; }

.theme-catl .catl-svg-transition,
.theme-catl .catl-svg-transition__canvas { display: none !important; }

.theme-catl .catl-solution-wall { width: min(100% - 2rem, 1040px) !important; margin-inline: auto !important; }
.theme-catl .catl-solution-tile { display: grid !important; place-items: center !important; min-height: clamp(320px, 34vw, 440px) !important; }
.theme-catl .catl-solution-tile__body {
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: clamp(2rem, 4vw, 4.5rem) !important;
  transform: none !important;
}
.theme-catl .catl-solution-tile:hover .catl-solution-tile__body { transform: none !important; }
.theme-catl .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
.theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong {
  max-width: min(78%, 560px) !important;
  margin-inline: auto !important;
  text-align: center !important;
  text-wrap: balance !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}
.theme-catl .catl-solution-tile__copy,
.theme-catl .catl-solution-tile__meta,
.theme-catl .catl-solution-tile__kicker { text-align: center !important; margin-inline: auto !important; }

.theme-catl .catl-evidence-briefs { padding-block: clamp(4rem, 8vw, 7rem) !important; }
.theme-catl .catl-evidence-briefs__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: min(100% - 2rem, 1040px) !important;
  margin-inline: auto !important;
  border: 1px solid rgba(0, 102, 179, 0.18) !important;
  background: #fff !important;
}
.theme-catl .catl-evidence-brief,
.theme-catl .catl-evidence-brief:first-child {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(240px, 0.9fr) auto !important;
  border: 0 !important;
  border-right: 1px solid rgba(0, 102, 179, 0.12) !important;
  border-bottom: 1px solid rgba(0, 102, 179, 0.12) !important;
  background: #fff !important;
}
.theme-catl .catl-evidence-brief:nth-child(2n) { border-right: 0 !important; }
.theme-catl .catl-evidence-brief__media,
.theme-catl .catl-evidence-brief:first-child .catl-evidence-brief__media,
.theme-catl .catl-evidence-brief:not(:first-child) .catl-evidence-brief__media {
  height: clamp(240px, 23vw, 330px) !important;
  min-height: 0 !important;
  background: #eef7fc !important;
}
.theme-catl .catl-evidence-brief__body { min-height: 210px !important; justify-content: start !important; background: #fff !important; }

.theme-catl .newsletter-catl { padding-block: clamp(4rem, 8vw, 7rem) !important; }
.theme-catl .newsletter-catl__panel .newsletter-catl__form { grid-template-columns: minmax(0, 1fr) minmax(150px, auto) !important; }
.theme-catl .newsletter-catl__panel .newsletter-catl__form button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  min-width: 150px !important;
  padding-inline: 1.15rem !important;
  color: #102033 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
}
.theme-catl .newsletter-catl__panel .newsletter-catl__form button span { display: inline !important; visibility: visible !important; }

.theme-catl .page-hero--white-paper-detail,
.theme-catl .page-hero--video-insight-detail,
.theme-catl .page-hero--case-studies { min-height: auto !important; padding-block: clamp(5.5rem, 9vw, 9rem) !important; }
.theme-catl .page-hero--white-paper-detail .page-hero__inner,
.theme-catl .page-hero--video-insight-detail .page-hero__inner,
.theme-catl .page-hero--case-studies .page-hero__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.9fr) !important;
  gap: clamp(3rem, 7vw, 7rem) !important;
  align-items: center !important;
  text-align: left !important;
}
.theme-catl .page-hero--white-paper-detail .breadcrumb-catl,
.theme-catl .page-hero--white-paper-detail .page-hero__eyebrow,
.theme-catl .page-hero--white-paper-detail .page-hero__title,
.theme-catl .page-hero--white-paper-detail .page-hero__lede,
.theme-catl .page-hero--video-insight-detail .breadcrumb-catl,
.theme-catl .page-hero--video-insight-detail .page-hero__eyebrow,
.theme-catl .page-hero--video-insight-detail .page-hero__title,
.theme-catl .page-hero--video-insight-detail .page-hero__lede,
.theme-catl .page-hero--case-studies .breadcrumb-catl,
.theme-catl .page-hero--case-studies .page-hero__eyebrow,
.theme-catl .page-hero--case-studies .page-hero__title,
.theme-catl .page-hero--case-studies .page-hero__lede {
  grid-column: 1 !important;
  max-width: 720px !important;
  text-align: left !important;
}
.theme-catl .page-hero--white-paper-detail .page-hero__title,
.theme-catl .page-hero--video-insight-detail .page-hero__title,
.theme-catl .page-hero--case-studies .page-hero__title {
  font-size: clamp(3.4rem, 5.3vw, 6.6rem) !important;
  line-height: 0.98 !important;
  text-wrap: balance !important;
}
.theme-catl .page-hero__visual--white-paper-detail,
.theme-catl .page-hero__visual--video-detail,
.theme-catl .page-hero__visual--cases {
  grid-column: 2 !important;
  grid-row: 1 / span 4 !important;
  position: relative !important;
  width: 100% !important;
  min-height: clamp(360px, 34vw, 520px) !important;
  display: grid !important;
  place-items: center !important;
}

.theme-catl .whitepaper-detail-device {
  width: min(100%, 460px) !important;
  display: grid !important;
  gap: 1rem !important;
  padding: clamp(1.2rem, 2vw, 1.8rem) !important;
  border: 1px solid rgba(0, 102, 179, 0.18) !important;
  background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(238,247,252,0.9)) !important;
  box-shadow: 0 28px 70px rgba(0, 40, 80, 0.12) !important;
}
.theme-catl .whitepaper-detail-device__sheet {
  display: grid !important;
  gap: 1rem !important;
  padding: clamp(1.8rem, 3vw, 2.5rem) !important;
  min-height: 300px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 102, 179, 0.16) !important;
}
.theme-catl .whitepaper-detail-device__sheet span,
.theme-catl .whitepaper-detail-device__notes span:first-child {
  color: #0066b3 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
  letter-spacing: 0 !important;
}
.theme-catl .whitepaper-detail-device__sheet strong { color: #102033 !important; font-size: clamp(2rem, 3vw, 3rem) !important; line-height: 1.05 !important; }
.theme-catl .whitepaper-detail-device__sheet em { color: #587084 !important; font-style: normal !important; font-weight: 700 !important; }
.theme-catl .whitepaper-detail-device__sheet i { display: block !important; height: 1px !important; background: rgba(0, 102, 179, 0.16) !important; }
.theme-catl .whitepaper-detail-device__notes { display: grid !important; gap: 0.75rem !important; color: #587084 !important; font-weight: 700 !important; }

.theme-catl .page-hero__visual--video-detail figure,
.theme-catl .page-hero__visual--cases figure {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 102, 179, 0.16) !important;
  background: #eef7fc !important;
  box-shadow: 0 28px 70px rgba(0, 40, 80, 0.12) !important;
}
.theme-catl .page-hero__visual--video-detail figure { aspect-ratio: 16 / 10 !important; }
.theme-catl .page-hero__visual--cases figure { aspect-ratio: 4 / 3 !important; }
.theme-catl .page-hero__visual--video-detail img,
.theme-catl .page-hero__visual--cases img { width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: 0.9 !important; }
.theme-catl .video-detail-hero-card,
.theme-catl .case-hero-record {
  position: absolute !important;
  left: clamp(1rem, 3vw, 2rem) !important;
  bottom: clamp(1rem, 3vw, 2rem) !important;
  width: min(78%, 330px) !important;
  display: grid !important;
  gap: 0.6rem !important;
  padding: clamp(1rem, 2vw, 1.4rem) !important;
  background: rgba(255,255,255,0.9) !important;
  border: 1px solid rgba(0, 102, 179, 0.14) !important;
  box-shadow: 0 18px 45px rgba(0, 40, 80, 0.12) !important;
}
.theme-catl .video-detail-hero-card span,
.theme-catl .case-hero-record span { color: #0066b3 !important; font-size: 0.75rem !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0 !important; }
.theme-catl .video-detail-hero-card strong,
.theme-catl .case-hero-record strong { color: #102033 !important; font-size: clamp(1.35rem, 2vw, 1.8rem) !important; line-height: 1.08 !important; }
.theme-catl .video-detail-hero-card em,
.theme-catl .case-hero-record em { color: #587084 !important; font-style: normal !important; font-weight: 700 !important; }
.theme-catl .page-hero__visual--cases ul { display: none !important; }

.theme-catl .video-insight-detail > .container-catl {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.15fr) !important;
  gap: clamp(2rem, 5vw, 5rem) !important;
  align-items: start !important;
}
.theme-catl .video-insight-detail__article {
  background: #fff !important;
  border: 1px solid rgba(0, 102, 179, 0.13) !important;
  padding: clamp(2rem, 4vw, 3.5rem) !important;
}

.theme-catl .power-mascot { opacity: 1 !important; }
.theme-catl .power-mascot__stage { animation: power-mascot-card-float-final 3.2s ease-in-out infinite !important; }
.theme-catl .power-mascot__pet { animation: power-mascot-pet-step-final 1.1s ease-in-out infinite !important; transform-origin: 50% 82% !important; }
.theme-catl .power-sprite { animation: power-mascot-sprite-wag-final 1.7s ease-in-out infinite !important; transform-origin: 50% 75% !important; }
@keyframes power-mascot-card-float-final { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes power-mascot-pet-step-final { 0%, 100% { transform: translate3d(0, 0, 0) rotate(-0.4deg); } 50% { transform: translate3d(0, -2px, 0) rotate(0.6deg); } }
@keyframes power-mascot-sprite-wag-final { 0%, 100% { transform: rotate(-0.8deg) scale(1); } 50% { transform: rotate(1deg) scale(1.015); } }

@media (max-width: 980px) {
  .theme-catl .page-hero--white-paper-detail .page-hero__inner,
  .theme-catl .page-hero--video-insight-detail .page-hero__inner,
  .theme-catl .page-hero--case-studies .page-hero__inner,
  .theme-catl .video-insight-detail > .container-catl { grid-template-columns: 1fr !important; text-align: left !important; }
  .theme-catl .page-hero__visual--white-paper-detail,
  .theme-catl .page-hero__visual--video-detail,
  .theme-catl .page-hero__visual--cases { grid-column: 1 !important; grid-row: auto !important; }
  .theme-catl .catl-evidence-briefs__grid { grid-template-columns: 1fr !important; }
  .theme-catl .catl-evidence-brief,
  .theme-catl .catl-evidence-brief:nth-child(2n) { border-right: 0 !important; }
}

@media (max-width: 760px) {
  .theme-catl .yao-header__inner { grid-template-columns: auto auto !important; }
  .theme-catl .yao-logo__official-mark { width: 50px !important; height: 40px !important; }
  .theme-catl .newsletter-catl__panel .newsletter-catl__form { grid-template-columns: 1fr !important; }
  .theme-catl .newsletter-catl__panel .newsletter-catl__form button { width: 100% !important; }
  .theme-catl .catl-solution-tile__body strong,
  .theme-catl .catl-solution-tile:nth-child(3) .catl-solution-tile__body strong,
  .theme-catl .catl-solution-tile:nth-child(4) .catl-solution-tile__body strong { max-width: 88% !important; }
}

@media (max-width: 980px) {
  .theme-catl .yao-header__inner {
    grid-template-columns: auto auto !important;
  }

  .theme-catl .yao-nav {
    display: none !important;
  }

  .theme-catl .yao-header__actions {
    justify-self: end !important;
  }

  .theme-catl .yao-menu-toggle {
    display: grid !important;
  }
}

.theme-catl .page-hero__visual--image {
  margin: 0 !important;
  min-height: 0 !important;
  aspect-ratio: 35 / 24 !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 102, 179, 0.14) !important;
  background: #edf7fd !important;
  box-shadow: 0 28px 80px rgba(15, 54, 86, 0.12) !important;
}

.theme-catl .page-hero__visual--image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.theme-catl .page-hero--resources .page-hero__visual--image,
.theme-catl .page-hero--about .page-hero__visual--image {
  padding: 0 !important;
}

@media (max-width: 980px) {
  .theme-catl .page-hero__visual--image {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: min(100%, 680px) !important;
    justify-self: start !important;
    aspect-ratio: 16 / 11 !important;
  }
}
