    /* Listing / solutions / about / contact extras on top of product-v3.css */
    :root {
      --gray: var(--mist);
      --gray-border: var(--line);
      --text: var(--ink);
      --text-muted: var(--muted);
    }
    .sector-hero h1,
    .hub-grid .hub-body h2,
    .solution-card h3,
    .step-card h3,
    .pain-card h3,
    .timeline h3 {
      font-family: var(--font-display);
    }
    .section { padding: 72px 0; }
.section-alt { background: var(--mist); }

    .section-label {
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--steel);
      margin-bottom: 0.75rem;
    }

    .section-title {
      font-size: clamp(1.75rem, 4vw, 2.25rem);
      font-weight: 700;
      color: var(--navy);
      line-height: 1.25;
      margin-bottom: 1rem;
    }

    .section-subtitle {
      font-size: 1.0625rem;
      color: var(--muted);
      max-width: 38rem;
      line-height: 1.65;
    }

    .section-header { margin-bottom: 3rem; }
    .section-header.center { text-align: center; }
    .section-header.center .section-subtitle { margin-left: auto; margin-right: auto; }

    /* ── Sector hero ── */
    .sector-hero {
      background: var(--navy);
      color: var(--white);
      padding: 3.5rem 0 0;
      overflow: hidden;
    }

    .sector-hero-grid {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 3rem;
      align-items: end;
    }

    .sector-hero .breadcrumb {
      font-size: 0.8125rem;
      color: rgba(255,255,255,0.55);
      margin-bottom: 1.25rem;
    }

    .sector-hero .breadcrumb a {
      color: rgba(255,255,255,0.75);
      text-decoration: none;
    }

    .sector-hero .breadcrumb a:hover { color: var(--white); }

    .sector-badge {
      display: inline-block;
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      background: rgba(255,255,255,0.12);
      color: rgba(255,255,255,0.9);
      padding: 0.35rem 0.65rem;
      border-radius: 4px;
      margin-bottom: 1rem;
    }

    .sector-hero h1 {
      font-size: clamp(2rem, 4.5vw, 2.75rem);
      font-weight: 700;
      line-height: 1.12;
      margin-bottom: 1.25rem;
      max-width: 16ch;
    }

    .sector-hero-lead {
      font-size: 1.125rem;
      color: rgba(255,255,255,0.82);
      max-width: 34rem;
      line-height: 1.65;
      margin-bottom: 2rem;
    }

    .sector-hero-ctas {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      align-items: center;
      margin-bottom: 3rem;
    }

    .sector-hero-visual {
      background: linear-gradient(145deg, #1e4468 0%, #163352 100%);
      border-radius: 12px 12px 0 0;
      min-height: 320px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255,255,255,0.35);
      font-size: 0.875rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      border: 1px solid rgba(255,255,255,0.08);
      border-bottom: none;
      padding: 0;
      overflow: hidden;
    }

    .sector-hero-visual img {
      width: 100%;
      height: 100%;
      min-height: 320px;
      object-fit: cover;
      display: block;
    }

    .stats-bar {
      background: rgba(0,0,0,0.2);
      border-top: 1px solid rgba(255,255,255,0.08);
      padding: 1.75rem 0;
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
      text-align: center;
    }

    .stat-value {
      font-size: clamp(1.5rem, 3vw, 2rem);
      font-weight: 700;
      color: var(--white);
      line-height: 1.1;
    }

    .stat-label {
      font-size: 0.8125rem;
      color: rgba(255,255,255,0.6);
      margin-top: 0.35rem;
    }

    /* ── Pain points ── */
    .pain-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    .pain-card {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 1.75rem;
    }

    .pain-icon {
      width: 44px;
      height: 44px;
      border-radius: 8px;
      background: var(--mist);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.25rem;
      margin-bottom: 1rem;
    }

    .pain-card h3 {
      font-size: 1.0625rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 0.5rem;
    }

    .pain-card p {
      font-size: 0.9375rem;
      color: var(--muted);
      line-height: 1.55;
    }

    /* ── 360° ── */
    .steps-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
    }

    .step-card {
      position: relative;
      padding: 1.5rem;
      border-radius: 8px;
      background: var(--white);
      border: 1px solid var(--line);
    }

    .step-num {
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      color: var(--steel);
      margin-bottom: 0.75rem;
    }

    .step-card h3 {
      font-size: 1.0625rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 0.5rem;
    }

    .step-card p {
      font-size: 0.875rem;
      color: var(--muted);
      line-height: 1.55;
    }

    /* ── Featured bundle ── */
    .bundle-feature {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid var(--line);
      background: var(--white);
    }

    .bundle-feature-visual {
      background: linear-gradient(160deg, #1a3a5c, #0F2744);
      min-height: 360px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 1rem;
      padding: 2rem;
    }

    .bundle-feature-visual img {
      max-height: 48px;
      width: auto;
      filter: brightness(1.1);
    }

    .bundle-feature-visual span {
      color: rgba(255,255,255,0.4);
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .bundle-feature-body {
      padding: 2.5rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .bundle-tag {
      display: inline-block;
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      background: rgba(43, 108, 176, 0.12);
      color: var(--steel);
      padding: 0.35rem 0.65rem;
      border-radius: 4px;
      margin-bottom: 1rem;
      width: fit-content;
    }

    .bundle-feature-body h2 {
      font-size: 1.75rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 1rem;
    }

    .bundle-feature-body > p {
      color: var(--muted);
      margin-bottom: 1.5rem;
      line-height: 1.65;
    }

    .bundle-list {
      list-style: none;
      margin-bottom: 2rem;
    }

    .bundle-list li {
      font-size: 0.9375rem;
      color: var(--ink);
      padding: 0.5rem 0;
      padding-left: 1.5rem;
      position: relative;
      border-bottom: 1px solid var(--line);
    }

    .bundle-list li:last-child { border-bottom: none; }

    .bundle-list li::before {
      content: "✓";
      position: absolute;
      left: 0;
      color: var(--teal);
      font-weight: 700;
    }

    /* ── Solution paths ── */
    .solutions-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    .solutions-grid.cols-2 {
      grid-template-columns: repeat(2, 1fr);
    }

    .solution-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 1.75rem;
      background: var(--white);
      display: flex;
      flex-direction: column;
    }

    .solution-card.featured {
      border-color: var(--steel);
      box-shadow: 0 4px 24px rgba(43, 108, 176, 0.1);
    }

    .solution-kicker {
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--steel);
      margin-bottom: 0.75rem;
    }

    .solution-card.featured .solution-kicker { color: var(--cta); }

    .solution-card h3 {
      font-size: 1.125rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 0.75rem;
      line-height: 1.3;
    }

    .solution-card > p {
      font-size: 0.9375rem;
      color: var(--muted);
      line-height: 1.55;
      flex: 1;
      margin-bottom: 1rem;
    }

    .solution-brands {
      font-size: 0.8125rem;
      color: var(--muted);
      margin-bottom: 1.25rem;
    }

    .solution-card .btn { align-self: flex-start; }

    .lg-spotlight {
      margin-top: 2rem;
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 1.5rem;
      align-items: center;
      padding: 1.5rem 1.75rem;
      border-radius: 8px;
      border: 1px solid var(--line);
      background: var(--mist);
    }

    .lg-spotlight img {
      height: 36px;
      width: auto;
      border-radius: 4px;
    }

    .lg-spotlight-copy h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 0.35rem;
    }

    .lg-spotlight-copy p {
      font-size: 0.875rem;
      color: var(--muted);
      line-height: 1.5;
    }

    .projects-mini-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 1.5rem;
    }

    .project-mini {
      border: 1px solid var(--line);
      border-radius: 8px;
      overflow: hidden;
      background: var(--white);
      text-decoration: none;
      color: inherit;
      transition: border-color 0.15s;
    }

    .project-mini:hover { border-color: var(--steel); }

    .project-mini-thumb {
      aspect-ratio: 16/9;
      background: var(--line);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      overflow: hidden;
      padding: 0;
    }

    .project-mini-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .project-mini-body { padding: 1.25rem; }

    .projects-grid .project-thumb {
      aspect-ratio: 16/10;
      background: var(--line);
      overflow: hidden;
    }

    .projects-grid .project-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .projects-grid .project-body { padding: 1.25rem; }

    .projects-grid .project-sector {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--steel);
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 0.375rem;
    }

    .projects-grid .project-card h3 {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 0.35rem;
      line-height: 1.3;
    }

    .projects-grid .project-excerpt {
      font-size: 0.875rem;
      color: var(--muted);
      line-height: 1.5;
      margin: 0;
    }

    /* ── Products ── */
    .product-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    .product-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      overflow: hidden;
      background: var(--white);
      text-decoration: none;
      color: inherit;
      transition: box-shadow 0.15s, border-color 0.15s;
    }

    .product-card:hover {
      border-color: var(--steel);
      box-shadow: 0 4px 20px rgba(10, 27, 48, 0.08);
    }

    .product-thumb img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .product-thumb {
      aspect-ratio: 4/3;
      background: var(--mist);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      letter-spacing: 0.04em;
    }

    .product-body { padding: 1.25rem; }

    .product-meta {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--steel);
      margin-bottom: 0.35rem;
    }

    .product-body h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 0.5rem;
    }

    .product-body p {
      font-size: 0.875rem;
      color: var(--muted);
      line-height: 1.5;
      margin-bottom: 0.75rem;
    }

    .spec-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
    }

    .spec-chip {
      font-size: 0.6875rem;
      font-weight: 600;
      background: var(--mist);
      color: var(--navy);
      padding: 0.25rem 0.5rem;
      border-radius: 4px;
    }

    /* ── Checklist + ROI ── */
    .value-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem;
      align-items: stretch;
    }

    .checklist-card,
    .roi-card {
      border-radius: 12px;
      padding: 2rem;
      border: 1px solid var(--line);
    }

    .checklist-card {
      background: var(--white);
    }

    .roi-card {
      background: var(--navy);
      color: var(--white);
    }

    .checklist-card h3,
    .roi-card h3 {
      font-size: 1.25rem;
      font-weight: 700;
      margin-bottom: 0.75rem;
    }

    .checklist-card > p,
    .roi-card > p {
      font-size: 0.9375rem;
      color: var(--muted);
      margin-bottom: 1.5rem;
      line-height: 1.55;
    }

    .roi-card > p { color: rgba(255,255,255,0.75); }

    .check-items {
      list-style: none;
      margin-bottom: 1.5rem;
    }

    .check-items li {
      display: flex;
      gap: 0.75rem;
      align-items: flex-start;
      padding: 0.65rem 0;
      font-size: 0.9375rem;
      border-bottom: 1px solid var(--line);
    }

    .check-items li:last-child { border-bottom: none; }

    .check-box {
      width: 18px;
      height: 18px;
      border: 2px solid var(--line);
      border-radius: 4px;
      flex-shrink: 0;
      margin-top: 0.15rem;
    }

    .roi-fields {
      display: grid;
      gap: 1rem;
      margin-bottom: 1.5rem;
    }

    .roi-field label {
      display: block;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.55);
      margin-bottom: 0.35rem;
    }

    .roi-field input,
    .roi-field select {
      width: 100%;
      padding: 0.625rem 0.75rem;
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: 6px;
      background: rgba(255,255,255,0.08);
      color: var(--white);
      font-family: inherit;
      font-size: 0.9375rem;
    }

    .roi-result {
      background: rgba(255,255,255,0.1);
      border-radius: 8px;
      padding: 1.25rem;
      text-align: center;
    }

    .roi-result-label {
      font-size: 0.75rem;
      color: rgba(255,255,255,0.55);
      margin-bottom: 0.35rem;
    }

    .roi-result-value {
      font-size: 1.75rem;
      font-weight: 700;
    }

    .roi-note {
      font-size: 0.75rem;
      color: rgba(255,255,255,0.45);
      margin-top: 1rem;
      line-height: 1.45;
    }

    /* ── Project ── */
    .project-feature {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 2.5rem;
      align-items: center;
    }

    .project-gallery {
      display: grid;
      grid-template-columns: 2fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 0.75rem;
      min-height: 320px;
    }

    .project-gallery-main {
      grid-row: 1 / -1;
      background: var(--mist);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--muted);
    }

    .project-gallery-sub {
      background: var(--line);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.6875rem;
      color: var(--muted);
    }

    .project-sector {
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--steel);
      margin-bottom: 0.5rem;
    }

    .project-feature h2 {
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 1rem;
    }

    .project-feature > div > p {
      color: var(--muted);
      margin-bottom: 1rem;
      line-height: 1.65;
    }

    .project-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-bottom: 1.5rem;
    }

    .project-tag {
      font-size: 0.75rem;
      font-weight: 600;
      background: var(--mist);
      padding: 0.35rem 0.65rem;
      border-radius: 4px;
      color: var(--navy);
    }

    /* ── FAQ ── */
    .faq-list {
      max-width: 48rem;
      margin: 0 auto;
    }

    .faq-item {
      border-bottom: 1px solid var(--line);
    }

    .faq-question {
      width: 100%;
      text-align: left;
      background: none;
      border: none;
      font-family: inherit;
      font-size: 1rem;
      font-weight: 600;
      color: var(--navy);
      padding: 1.25rem 2rem 1.25rem 0;
      cursor: pointer;
      position: relative;
      line-height: 1.4;
    }

    .faq-question::after {
      content: "+";
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      font-size: 1.25rem;
      color: var(--steel);
      font-weight: 400;
    }

    .faq-item.open .faq-question::after { content: "−"; }

    .faq-answer {
      display: none;
      padding-bottom: 1.25rem;
      font-size: 0.9375rem;
      color: var(--muted);
      line-height: 1.65;
    }

    .faq-item.open .faq-answer { display: block; }

    /* ── News ── */
    .news-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    .news-card {
      text-decoration: none;
      color: inherit;
      border: 1px solid var(--line);
      border-radius: 8px;
      overflow: hidden;
      background: var(--white);
      transition: border-color 0.15s;
    }

    .news-card:hover { border-color: var(--steel); }

    .news-thumb {
      aspect-ratio: 16/9;
      background: var(--mist);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.6875rem;
      font-weight: 600;
      color: var(--muted);
    }

    .news-body { padding: 1.25rem; }

    .news-date {
      font-size: 0.75rem;
      color: var(--muted);
      margin-bottom: 0.5rem;
    }

    .news-body h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--navy);
      line-height: 1.35;
    }

    /* ── Solutions hub ── */
    .hub-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.5rem;
    }

    .hub-grid .hub-card {
      display: flex;
      flex-direction: column;
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 12px;
      overflow: hidden;
      text-decoration: none;
      color: inherit;
      transition: border-color 0.15s, box-shadow 0.15s;
    }

    .hub-grid .hub-card:hover {
      border-color: var(--steel);
      box-shadow: 0 8px 28px rgba(10, 27, 48, 0.08);
    }

    .hub-grid .hub-card.phase2 { opacity: 0.78; }

    .hub-thumb {
      aspect-ratio: 16/8;
      background: linear-gradient(145deg, #1e4468 0%, #163352 100%);
      display: flex;
      align-items: flex-end;
      padding: 1.25rem;
      position: relative;
      overflow: hidden;
    }

    .hub-thumb img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .hub-thumb span {
      position: relative;
      z-index: 1;
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.9);
      background: rgba(10, 27, 48, 0.55);
      padding: 0.3rem 0.55rem;
      border-radius: 4px;
    }

    .hub-body { padding: 1.5rem 1.75rem 1.75rem; flex: 1; display: flex; flex-direction: column; }

    .hub-body h2 {
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 0.5rem;
    }

    .hub-body p {
      font-size: 0.9375rem;
      color: var(--muted);
      line-height: 1.55;
      flex: 1;
      margin-bottom: 1rem;
    }

    .hub-link {
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--steel);
    }

    .bundle-strip {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 1.5rem;
    }

    .bundle-mini {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 1.5rem;
      background: var(--white);
    }

    .bundle-mini h3 {
      font-size: 1.0625rem;
      font-weight: 700;
      color: var(--navy);
      margin: 0.5rem 0 0.5rem;
    }

    .bundle-mini p {
      font-size: 0.875rem;
      color: var(--muted);
      line-height: 1.55;
    }

    /* ── About ── */
    .story-split {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 3rem;
      align-items: center;
    }

    .story-visual {
      background: var(--mist);
      border-radius: 12px;
      min-height: 320px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--muted);
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .story-visual.visit-card {
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-end;
      gap: 0.75rem;
      padding: 2rem;
      background: var(--navy);
      color: var(--white);
      text-transform: none;
      letter-spacing: 0;
      font-weight: 400;
      font-size: 0.9375rem;
      line-height: 1.5;
    }

    .story-visual.visit-card .section-label {
      color: rgba(255,255,255,0.65);
      margin-bottom: 0;
    }

    .story-visual.visit-card h3 {
      font-size: 1.75rem;
      font-weight: 700;
      color: var(--white);
    }

    .story-visual.visit-card p {
      color: rgba(255,255,255,0.8);
      margin: 0;
    }

    .story-visual.visit-card a {
      color: var(--white);
      font-weight: 700;
      font-size: 1.125rem;
      text-decoration: none;
    }

    .story-visual.visit-card a:hover {
      text-decoration: underline;
    }

    .values-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    .timeline {
      position: relative;
      max-width: 48rem;
      margin: 0 auto;
    }

    .timeline::before {
      content: "";
      position: absolute;
      left: 7rem;
      top: 0;
      bottom: 0;
      width: 2px;
      background: var(--line);
    }

    .tl-item {
      display: grid;
      grid-template-columns: 6rem 1fr;
      gap: 2.5rem;
      padding-bottom: 2rem;
      position: relative;
    }

    .tl-year {
      font-weight: 700;
      color: var(--navy);
      text-align: right;
    }

    .tl-item::before {
      content: "";
      position: absolute;
      left: calc(7rem - 5px);
      top: 0.45rem;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: var(--steel);
      border: 2px solid var(--white);
      box-shadow: 0 0 0 2px var(--line);
    }

    .tl-item h3 {
      font-size: 1.0625rem;
      color: var(--navy);
      margin-bottom: 0.35rem;
    }

    .tl-item p { font-size: 0.9375rem; color: var(--muted); }

    .showroom-grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: 1rem;
      min-height: 280px;
    }

    .showroom-main,
    .showroom-sub {
      background: var(--mist);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
    }

    .showroom-stack { display: grid; gap: 1rem; }

    .brand-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .brand-pill {
      border: 1px solid var(--line);
      background: var(--white);
      border-radius: 8px;
      padding: 0.75rem 1.25rem;
      font-weight: 600;
      color: var(--navy);
      font-size: 0.875rem;
    }

    /* ── Contact / 3-step quote ── */
    .contact-layout {
      display: grid;
      grid-template-columns: 1.45fr 0.85fr;
      gap: 2.5rem;
      align-items: start;
    }

    .quote-card {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 12px;
      padding: 2rem;
    }

    .steps-bar {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.5rem;
      margin-bottom: 2rem;
    }

    .step-tab {
      background: var(--mist);
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 0.75rem 0.85rem;
      text-align: left;
      font-family: inherit;
      cursor: pointer;
    }

    .step-tab .n {
      display: block;
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--steel);
      margin-bottom: 0.2rem;
    }

    .step-tab .l {
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--navy);
    }

    .step-tab.active {
      background: var(--navy);
      border-color: var(--navy);
    }

    .step-tab.active .n,
    .step-tab.active .l { color: var(--white); }

    .step-tab.done { border-color: var(--teal); }

    .step-panel { display: none; }
    .step-panel.active { display: block; }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }

    .form-row { display: grid; gap: 0.35rem; }
    .form-row.full { grid-column: 1 / -1; }

    .form-row label {
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--navy);
    }

    .form-row input,
    .form-row select,
    .form-row textarea {
      width: 100%;
      padding: 0.7rem 0.85rem;
      border: 1px solid var(--line);
      border-radius: 6px;
      font-family: inherit;
      font-size: 0.9375rem;
      color: var(--ink);
      background: var(--white);
    }

    .form-row textarea { min-height: 120px; resize: vertical; }

    .check-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.65rem;
    }

    .check-opt {
      display: flex;
      gap: 0.6rem;
      align-items: flex-start;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 0.85rem;
      font-size: 0.875rem;
      cursor: pointer;
    }

    .check-opt input { margin-top: 0.15rem; }

    .step-actions {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      margin-top: 1.75rem;
    }

    .aside-card {
      background: var(--mist);
      border: 1px solid var(--line);
      border-radius: 12px;
      padding: 1.75rem;
    }

    .aside-card h3 {
      font-size: 1.125rem;
      color: var(--navy);
      margin-bottom: 1rem;
    }

    .aside-row {
      padding: 0.75rem 0;
      border-bottom: 1px solid var(--line);
    }

    .aside-row:last-child { border-bottom: none; }

    .aside-label {
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 0.25rem;
    }

    .aside-row a {
      color: var(--navy);
      font-weight: 600;
      text-decoration: none;
    }

    .map-ph {
      margin-top: 1.25rem;
      background: var(--line);
      border-radius: 8px;
      min-height: 160px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
    }

    .hours-list { list-style: none; font-size: 0.9375rem; color: var(--ink); }
    .hours-list li { display: flex; justify-content: space-between; padding: 0.35rem 0; }

    /* ── Projects listing ── */
    .filter-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-bottom: 2rem;
    }

    .filter-chip {
      border: 1px solid var(--line);
      background: var(--white);
      border-radius: 999px;
      padding: 0.4rem 0.9rem;
      font-family: inherit;
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--navy);
      cursor: pointer;
    }

    .filter-chip.active {
      background: var(--navy);
      color: var(--white);
      border-color: var(--navy);
    }

    .projects-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    .project-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      overflow: hidden;
      background: var(--white);
      text-decoration: none;
      color: inherit;
      transition: border-color 0.15s, box-shadow 0.15s;
    }

    .project-card:hover {
      border-color: var(--steel);
      box-shadow: 0 4px 20px rgba(10, 27, 48, 0.08);
    }

    .project-card.hidden { display: none; }

    /* ── Case study ── */
    .case-meta {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
      padding: 1.75rem 0;
    }

    .case-meta dt {
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .case-meta dd { font-weight: 600; color: var(--navy); }

    .case-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem;
    }

    .case-block {
      border: 1px solid var(--line);
      border-radius: 12px;
      padding: 1.75rem;
      background: var(--white);
    }

    .case-block h2 {
      font-size: 1.25rem;
      color: var(--navy);
      margin-bottom: 0.75rem;
    }

    .case-block p { color: var(--muted); font-size: 0.9375rem; line-height: 1.65; }

    .equip-table { width: 100%; border-collapse: collapse; }
    .equip-table th,
    .equip-table td {
      text-align: left;
      padding: 0.75rem 0;
      border-bottom: 1px solid var(--line);
      font-size: 0.9375rem;
    }
    .equip-table th { color: var(--muted); font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; }
    .equip-table td { color: var(--navy); font-weight: 500; }

    @media (max-width: 1024px) {
      .hub-grid,
      .bundle-strip,
      .story-split,
      .values-grid,
      .showroom-grid,
      .contact-layout,
      .form-grid,
      .check-grid,
      .projects-grid,
      .case-split { grid-template-columns: 1fr; }
      .steps-grid { grid-template-columns: repeat(2, 1fr); }
      .case-meta { grid-template-columns: 1fr 1fr; }
      .timeline::before { left: 7rem; }
    }


    @media (max-width: 768px) {
      .hub-grid,
      .bundle-strip,
      .story-split,
      .values-grid,
      .showroom-grid,
      .contact-layout,
      .form-grid,
      .check-grid,
      .projects-grid,
      .case-split,
      .case-meta,
      .steps-bar,
      .product-grid,
      .pain-grid,
      .news-grid,
      .steps-grid { grid-template-columns: 1fr; }
      .timeline::before { display: none; }
      .tl-item { grid-template-columns: 1fr; gap: 0.35rem; }
      .tl-item::before { display: none; }
      .tl-year { text-align: left; }
    }

    button.btn { appearance: none; }
    .hidden { display: none !important; }


    .section-alt { background: var(--mist); }
    .section-label {
      font-family: var(--font-display);
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--steel);
      margin-bottom: 0.65rem;
    }
    .section-header { margin-bottom: 2.5rem; }
    .section-header.center { text-align: center; }
    .section-header.center .section-subtitle { margin-left: auto; margin-right: auto; }

    .category-hubs {
      display: grid;
      grid-template-columns: 1.2fr 1.2fr 0.7fr;
      gap: 1.25rem;
      margin-top: 2rem;
    }
    .category-hubs .hub-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 1.5rem;
      background: var(--white);
      cursor: pointer;
      text-align: left;
      font-family: inherit;
      transition: border-color 0.15s, box-shadow 0.15s;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .category-hubs .hub-card:hover { border-color: var(--steel); }
    .category-hubs .hub-card.active {
      border-color: var(--navy);
      outline: 2px solid var(--navy);
    }
    .category-hubs .hub-card.secondary { opacity: 0.72; background: var(--mist); }
    .category-hubs .hub-card.secondary.active { opacity: 1; background: var(--white); }
    .category-hubs .hub-kicker {
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--steel);
    }
    .category-hubs .hub-card.secondary .hub-kicker { color: var(--muted); }
    .category-hubs .hub-card h2 {
      font-family: var(--font-display);
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--navy);
    }
    .category-hubs .hub-card p {
      font-size: 0.875rem;
      color: var(--muted);
      line-height: 1.5;
      flex: 1;
    }
    .category-hubs .hub-meta {
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--navy);
      margin-top: 0.5rem;
    }

    .catalog { padding: 2.5rem 0 5rem; }
    .catalog-layout {
      display: grid;
      grid-template-columns: 240px 1fr;
      gap: 2.5rem;
      align-items: start;
    }
    .filters {
      position: sticky;
      top: calc(var(--header-height) + 1rem);
      max-height: calc(100dvh - var(--header-height) - 2rem);
      overflow-y: auto;
      overscroll-behavior: contain;
      padding-right: 0.35rem;
      scrollbar-gutter: stable;
    }
    .filter-group { margin-bottom: 2rem; }
    .filter-group h3 {
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 0.75rem;
    }
    .filter-list { list-style: none; display: flex; flex-direction: column; gap: 0.25rem; }
    .filter-btn {
      width: 100%;
      text-align: left;
      background: none;
      border: none;
      font-family: inherit;
      font-size: 0.9375rem;
      color: var(--ink);
      padding: 0.5rem 0.75rem;
      border-radius: 6px;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .filter-btn:hover { background: var(--mist); }
    .filter-btn.active { background: var(--navy); color: var(--white); font-weight: 600; }
    .filter-sublist {
      list-style: none;
      margin: 0.15rem 0 0.35rem 0.75rem;
      padding-left: 0.5rem;
      border-left: 2px solid var(--line);
    }
    .filter-btn-sub { font-size: 0.8125rem; padding: 0.4rem 0.65rem; color: var(--muted); }
    .filter-btn-sub.active { background: var(--steel); color: var(--white); }
    .filter-count { font-size: 0.75rem; opacity: 0.7; }
    .catalog-toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 1.5rem;
      padding-bottom: 1.25rem;
      border-bottom: 1px solid var(--line);
    }
    .catalog-toolbar h2 {
      font-family: var(--font-display);
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--navy);
    }
    .catalog-toolbar p { font-size: 0.875rem; color: var(--muted); }
    .note-no-price {
      font-size: 0.8125rem;
      color: var(--muted);
      background: var(--mist);
      padding: 0.375rem 0.75rem;
      border-radius: 4px;
    }
    .catalog .product-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.25rem;
    }
    .catalog .product-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
    .catalog .product-actions .btn { flex: 1; min-width: 0; }
    .catalog .product-badge {
      position: absolute;
      top: 0.75rem;
      left: 0.75rem;
      background: var(--navy);
      color: var(--white);
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      padding: 0.25rem 0.5rem;
      border-radius: 4px;
    }
    .catalog .product-badge.eco { background: var(--teal); }
    .catalog .product-specs { display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 1.25rem; }
    .panel { display: none; }
    .panel.active { display: block; }

    @media (max-width: 1024px) {
      .category-hubs { grid-template-columns: 1fr 1fr; }
      .category-hubs .hub-card.secondary { grid-column: 1 / -1; }
      .catalog-layout { grid-template-columns: 1fr; }
      .filters {
        position: static;
        max-height: none;
        overflow: visible;
        padding-right: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
      }
      .catalog .product-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 1024px) {
      .sector-hero-grid,
      .value-split,
      .project-feature,
      .solutions-grid,
      .solutions-grid.cols-2,
      .projects-mini-grid { grid-template-columns: 1fr; }
      .lg-spotlight { grid-template-columns: 1fr; text-align: center; }
      .pain-grid,
      .news-grid { grid-template-columns: repeat(2, 1fr); }
      .stats-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 768px) {
      .category-hubs { grid-template-columns: 1fr; }
      .filters { grid-template-columns: 1fr; }
      .catalog .product-grid { grid-template-columns: 1fr; }
      .stats-grid,
      .pain-grid,
      .news-grid { grid-template-columns: 1fr; }
    }
