/* Section Styles */

.header-hesa-solid {
      container-type: inline-size;
      container-name: header-hesa-solid;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
      background: var(--bg-surface);
      border-bottom: 1px solid var(--border-primary);
      padding: 0 var(--section-padding-x);
      transition: box-shadow 0.35s ease;
    }

    .header-hesa-solid.is-scrolled {
      box-shadow: var(--shadow-m);
    }

    /* Spacer pushes page content below the fixed header */
    .header-hesa-solid__spacer {
      height: 5.4rem;
    }

    .header-hesa-solid__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-xl);
    }

    .header-hesa-solid__logo {
      display: flex;
      align-items: center;
      text-decoration: none;
      flex-shrink: 0;
    }

    .header-hesa-solid__logo-img {
      height: auto;
      width: 18rem;
    }

    .header-hesa-solid__nav {
      display: flex;
      align-items: center;
    }

    .header-hesa-solid__nav-list {
      display: flex;
      align-items: center;
      gap: var(--space-xl);
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .header-hesa-solid__nav-link {
      font-family: var(--font-secondary);
      font-size: var(--nav-link-size);
      font-weight: var(--weight-medium);
      color: var(--text-body);
      text-decoration: none;
      position: relative;
      transition: color 0.25s ease;
    }

    .header-hesa-solid__nav-link::after {
      content: '';
      position: absolute;
      bottom: -0.4rem;
      left: 0;
      width: 0;
      height: 2px;
      background: var(--primary);
      transition: width 0.25s ease;
    }

    .header-hesa-solid__nav-link:hover {
      color: var(--primary);
    }

    .header-hesa-solid__nav-link:hover::after {
      width: 100%;
    }

    .header-hesa-solid__actions {
      display: flex;
      align-items: center;
      gap: var(--space-l);
      flex-shrink: 0;
    }

    .header-hesa-solid__phone {
      display: flex;
      align-items: center;
      gap: var(--space-xs);
      text-decoration: none;
      font-family: var(--font-secondary);
      font-size: var(--text-s);
      font-weight: var(--weight-medium);
      color: var(--text-body);
      transition: color 0.25s ease;
    }

    .header-hesa-solid__phone:hover {
      color: var(--primary);
    }

    .header-hesa-solid__toggle {
      display: none;
      background: none;
      border: none;
      padding: var(--space-2xs);
      cursor: pointer;
      color: var(--text-body);
    }

    .header-hesa-solid__toggle-icon {
      width: 2.4rem;
      height: 2.4rem;
    }

    .header-hesa-solid__toggle-icon--close {
      display: none;
    }

    .header-hesa-solid__toggle[aria-expanded="true"] .header-hesa-solid__toggle-icon--open {
      display: none;
    }

    .header-hesa-solid__toggle[aria-expanded="true"] .header-hesa-solid__toggle-icon--close {
      display: block;
    }

    .header-hesa-solid__mobile-nav {
      display: none;
      padding: var(--space-m) 0 var(--space-l);
      border-top: 1px solid var(--border-primary);
    }

    .header-hesa-solid__mobile-nav.is-open {
      display: block;
    }

    .header-hesa-solid__mobile-list {
      list-style: none;
      margin: 0 0 var(--space-l);
      padding: 0;
    }

    .header-hesa-solid__mobile-link {
      display: block;
      padding: var(--space-s) 0;
      font-family: var(--font-secondary);
      font-size: var(--text-ml);
      font-weight: var(--weight-medium);
      color: var(--text-body);
      text-decoration: none;
      border-bottom: 1px solid var(--border-primary);
      transition: color 0.2s ease;
    }

    .header-hesa-solid__mobile-link:hover {
      color: var(--primary);
    }

    .header-hesa-solid__mobile-actions {
      display: flex;
      flex-direction: column;
      gap: var(--space-m);
    }

    .header-hesa-solid__mobile-phone {
      display: flex;
      align-items: center;
      gap: var(--space-xs);
      color: var(--text-body);
      text-decoration: none;
      font-family: var(--font-secondary);
      font-size: var(--text-m);
      font-weight: var(--weight-medium);
    }

    .header-hesa-solid__mobile-cta {
      width: 100%;
      text-align: center;
    }

    /* Tablet */
    @container header-hesa-solid (max-width: 968px) {
      .header-hesa-solid__phone-text {
        display: none;
      }
    }

    /* Mobile */
    @container header-hesa-solid (max-width: 768px) {
      .header-hesa-solid__nav,
      .header-hesa-solid__actions {
        display: none;
      }

      .header-hesa-solid__toggle {
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .header-hesa-solid__spacer {
        height: 4.8rem;
      }
    }

    @container header-hesa-solid (max-width: 480px) {
      .header-hesa-solid__logo-img {
        width: 16rem;
      }
    }

.j-hero-detail {
      container-type: inline-size;
      container-name: j-hero-detail;
      padding-top: var(--space-4xl);
      margin-top: var(--space-3xl);
    }

    /* Breadcrumb */
    .j-hero-detail__breadcrumb {
      display: flex;
      align-items: center;
      gap: var(--space-3xs);
      margin-bottom: var(--space-xl);
      flex-wrap: wrap;
    }

    .j-hero-detail__breadcrumb-link {
      font-family: var(--font-secondary);
      font-size: var(--text-s);
      color: var(--text-body);
      opacity: 0.6;
      text-decoration: none;
      transition: color 0.2s ease, opacity 0.2s ease;
    }

    .j-hero-detail__breadcrumb-link:hover {
      color: var(--primary);
      opacity: 1;
    }

    .j-hero-detail__breadcrumb-sep {
      display: flex;
      align-items: center;
      color: var(--text-body);
      opacity: 0.3;
    }

    .j-hero-detail__breadcrumb-sep svg {
      width: 1.4rem;
      height: 1.4rem;
    }

    .j-hero-detail__breadcrumb-current {
      font-family: var(--font-secondary);
      font-size: var(--text-s);
      color: var(--text-title);
      font-weight: var(--weight-medium);
    }

    /* Main Content Card */
    .j-hero-detail__content {
      position: relative;
      display: flex;
      border: 1px solid var(--border-primary);
      border-radius: var(--radius-m);
      overflow: hidden;
    }

    .j-hero-detail__accent {
      width: 0.5rem;
      min-height: 100%;
      background: var(--primary);
      flex-shrink: 0;
    }

    .j-hero-detail__inner {
      flex: 1;
      padding: var(--space-3xl) var(--space-3xl);
      display: flex;
      flex-direction: column;
      gap: var(--space-m);
    }

    /* Badges */
    .j-hero-detail__badges {
      display: flex;
      gap: var(--space-2xs);
      flex-wrap: wrap;
    }

    /* Title */
    .j-hero-detail__title {
      font-family: var(--font-primary);
      font-size: var(--text-3xl);
      color: var(--text-title);
      line-height: 1.15;
      margin: 0;
      letter-spacing: -0.02em;
    }

    /* Subtitle */
    .j-hero-detail__subtitle {
      font-family: var(--font-secondary);
      font-size: var(--text-ml);
      color: var(--text-body);
      opacity: 0.7;
      margin: 0;
    }

    /* Meta Row */
    .j-hero-detail__meta {
      display: flex;
      align-items: center;
      gap: var(--space-m);
      flex-wrap: wrap;
      padding-top: var(--space-xs);
    }

    .j-hero-detail__meta-item {
      display: flex;
      align-items: center;
      gap: var(--space-3xs);
      font-family: var(--font-secondary);
      font-size: var(--text-s);
      color: var(--text-body);
      opacity: 0.6;
    }

    .j-hero-detail__meta-item svg {
      color: var(--primary);
      opacity: 0.8;
    }

    .j-hero-detail__meta-divider {
      width: 1px;
      height: 1.6rem;
      background: var(--border-primary);
    }

    /* Actions */
    .j-hero-detail__actions {
      display: flex;
      gap: var(--space-m);
      flex-wrap: wrap;
      padding-top: var(--space-s);
    }

    /* Responsive */
    @container j-hero-detail (max-width: 768px) {
      .j-hero-detail__inner {
        padding: var(--space-xl) var(--space-xl);
      }

      .j-hero-detail__title {
        font-size: var(--text-2xl);
      }

      .j-hero-detail__meta-divider {
        display: none;
      }

      .j-hero-detail__meta {
        gap: var(--space-s);
      }
    }

    @container j-hero-detail (max-width: 640px) {
      .j-hero-detail__inner {
        padding: var(--space-l) var(--space-l);
      }

      .j-hero-detail__subtitle {
        font-size: var(--text-m);
      }

      .j-hero-detail__meta {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2xs);
      }
    }

    @container j-hero-detail (max-width: 480px) {
      .j-hero-detail__inner {
        padding: var(--space-m);
      }

      .j-hero-detail__title {
        font-size: var(--text-xl);
      }

      .j-hero-detail__actions {
        flex-direction: column;
      }

      .j-hero-detail__actions .btn {
        width: 100%;
        justify-content: center;
      }

      .j-hero-detail__accent {
        width: 0.4rem;
      }
    }

.j-details {
      container-type: inline-size;
      container-name: j-details;
    }

    /* Layout */
    .j-details__layout {
      display: grid;
      grid-template-columns: 1fr 36rem;
      gap: var(--space-3xl);
      align-items: start;
    }

    /* Main Column */
    .j-details__main {
      display: flex;
      flex-direction: column;
      gap: var(--space-3xl);
    }

    /* Intro */
    .j-details__section-title {
      display: flex;
      align-items: center;
      gap: var(--space-xs);
      font-family: var(--font-primary);
      font-size: var(--text-l);
      color: var(--primary);
      margin-bottom: var(--space-m);
    }

    .j-details__section-title svg {
      flex-shrink: 0;
    }

    .j-details__intro-text {
      font-family: var(--font-secondary);
      font-size: var(--text-m);
      color: var(--text-body);
      line-height: 1.75;
      margin-bottom: var(--space-s);
    }

    .j-details__intro-text:last-child {
      margin-bottom: 0;
    }

    /* Content Blocks */
    .j-details__block {
      padding-top: var(--space-xl);
      border-top: 1px solid var(--border-primary);
    }

    .j-details__block-title {
      display: flex;
      align-items: center;
      gap: var(--space-s);
      font-family: var(--font-primary);
      font-size: var(--text-xl);
      color: var(--text-title);
      margin-bottom: var(--space-l);
    }

    .j-details__block-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 3.6rem;
      height: 3.6rem;
      border-radius: var(--radius-s);
      background: var(--primary-10);
      color: var(--primary);
      flex-shrink: 0;
    }

    .j-details__block-icon svg {
      width: 1.8rem;
      height: 1.8rem;
    }

    .j-details__block-icon--muted {
      background: var(--secondary-5);
      color: var(--text-body);
      opacity: 0.7;
    }

    .j-details__list {
      padding-left: var(--space-3xs);
    }

    .j-details__list .list-check__item,
    .j-details__list .list-bullet__item {
      font-size: var(--text-m);
      line-height: 1.7;
      margin-bottom: var(--space-xs);
    }

    /* Sidebar */
    .j-details__sidebar {
      display: flex;
      flex-direction: column;
      gap: var(--space-l);
      position: sticky;
      top: var(--space-xl);
    }

    .j-details__sidebar-card {
      border: 1px solid var(--border-primary);
      border-radius: var(--radius-m);
      padding: var(--space-xl);
    }

    .j-details__sidebar-card-title {
      font-family: var(--font-primary);
      font-size: var(--text-m);
      color: var(--text-title);
      margin-bottom: var(--space-l);
      padding-bottom: var(--space-s);
      border-bottom: 2px solid var(--primary-20);
    }

    /* Quick Facts */
    .j-details__facts {
      display: flex;
      flex-direction: column;
      gap: var(--space-m);
      margin-bottom: var(--space-xl);
    }

    .j-details__fact {
      display: flex;
      align-items: center;
      gap: var(--space-s);
    }

    .j-details__fact-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 3.2rem;
      height: 3.2rem;
      border-radius: var(--radius-s);
      background: var(--primary-5);
      color: var(--primary);
      flex-shrink: 0;
    }

    .j-details__fact-icon svg {
      width: 1.6rem;
      height: 1.6rem;
    }

    .j-details__fact-content {
      display: flex;
      flex-direction: column;
    }

    .j-details__fact-label {
      font-family: var(--font-secondary);
      font-size: var(--text-xs);
      color: var(--text-body);
      opacity: 0.5;
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }

    .j-details__fact-value {
      font-family: var(--font-primary);
      font-size: var(--text-s);
      color: var(--text-title);
      font-weight: var(--weight-medium);
    }

    .j-details__sidebar-cta {
      width: 100%;
      justify-content: center;
    }

    /* Contact Card */
    .j-details__contact {
      display: flex;
      align-items: center;
      gap: var(--space-s);
      margin-bottom: var(--space-l);
    }

    .j-details__contact-avatar {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 4.8rem;
      height: 4.8rem;
      border-radius: var(--radius-full);
      background: var(--primary-10);
      color: var(--primary);
      font-family: var(--font-primary);
      font-size: var(--text-m);
      font-weight: var(--weight-semibold);
      flex-shrink: 0;
    }

    .j-details__contact-info {
      display: flex;
      flex-direction: column;
    }

    .j-details__contact-name {
      font-family: var(--font-primary);
      font-size: var(--text-m);
      color: var(--text-title);
      font-weight: var(--weight-medium);
    }

    .j-details__contact-role {
      font-family: var(--font-secondary);
      font-size: var(--text-s);
      color: var(--text-body);
      opacity: 0.6;
    }

    .j-details__contact-links {
      display: flex;
      flex-direction: column;
      gap: var(--space-xs);
    }

    .j-details__contact-link {
      display: flex;
      align-items: center;
      gap: var(--space-xs);
      font-family: var(--font-secondary);
      font-size: var(--text-s);
      color: var(--text-body);
      text-decoration: none;
      transition: color 0.2s ease;
    }

    .j-details__contact-link:hover {
      color: var(--primary);
    }

    .j-details__contact-link svg {
      flex-shrink: 0;
      color: var(--primary);
      opacity: 0.6;
    }

    /* Share Card */
    .j-details__share-buttons {
      display: flex;
      gap: var(--space-xs);
    }

    .j-details__share-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 4rem;
      height: 4rem;
      border: 1px solid var(--border-primary);
      border-radius: var(--radius-s);
      background: none;
      color: var(--text-body);
      cursor: pointer;
      transition: all 0.2s ease;
    }

    .j-details__share-btn svg {
      width: 1.8rem;
      height: 1.8rem;
    }

    .j-details__share-btn:hover {
      border-color: var(--primary-30);
      color: var(--primary);
      background: var(--primary-5);
    }

    /* Responsive */
    @container j-details (max-width: 968px) {
      .j-details__layout {
        grid-template-columns: 1fr 30rem;
        gap: var(--space-xl);
      }
    }

    @container j-details (max-width: 768px) {
      .j-details__layout {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
      }

      .j-details__sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--space-m);
      }

      .j-details__sidebar-card:first-child {
        grid-column: 1 / -1;
      }
    }

    @container j-details (max-width: 640px) {
      .j-details__sidebar {
        grid-template-columns: 1fr;
      }

      .j-details__block-title {
        font-size: var(--text-l);
      }
    }

    @container j-details (max-width: 480px) {
      .j-details__block-icon {
        width: 3rem;
        height: 3rem;
      }

      .j-details__block-icon svg {
        width: 1.5rem;
        height: 1.5rem;
      }

      .j-details__list .list-check__item,
      .j-details__list .list-bullet__item {
        font-size: var(--text-s);
      }
    }

.j-benefits-scroll {
      container-type: inline-size;
      container-name: j-benefits-scroll;
      overflow: hidden;
    }

    /* Top row */
    .j-benefits-scroll__top {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: var(--space-l);
    }

    .j-benefits-scroll__header {
      margin-bottom: 0;
    }

    .j-benefits-scroll__arrows {
      display: flex;
      gap: var(--space-3xs);
      flex-shrink: 0;
    }

    .j-benefits-scroll__arrow {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 4rem;
      height: 4rem;
      border-radius: var(--radius-s);
      border: 1px solid var(--border-primary);
      background: none;
      color: var(--text-title);
      cursor: pointer;
      transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    }

    .j-benefits-scroll__arrow:hover {
      background: var(--primary);
      border-color: var(--primary);
      color: #fff;
    }

    .j-benefits-scroll__arrow svg {
      width: 2rem;
      height: 2rem;
    }

    /* Track */
    .j-benefits-scroll__track-wrap {
      margin-top: var(--space-xl);
      overflow: visible;
    }

    .j-benefits-scroll__track {
      display: flex;
      gap: var(--space-m);
      overflow-x: auto;
      scroll-behavior: smooth;
      scrollbar-width: none;
      padding-bottom: var(--space-s);
      /* Left-align to container */
      padding-left: max(var(--space-l), calc((100% - var(--container-width)) / 2 + var(--space-l)));
      padding-right: var(--space-xl);
    }

    .j-benefits-scroll__track::-webkit-scrollbar {
      display: none;
    }

    /* Card */
    .j-benefits-scroll__card {
      flex: 0 0 28rem;
      padding: var(--space-xl) var(--space-l);
      border-radius: var(--radius-m);
      border: 1px solid var(--border-primary);
      display: flex;
      flex-direction: column;
      gap: var(--space-s);
      transition: border-color 0.25s ease, box-shadow 0.25s ease;
    }

    .j-benefits-scroll__card:hover {
      border-color: var(--primary-30);
      box-shadow: 0 4px 20px var(--shadow-primary);
    }

    /* Icon */
    .j-benefits-scroll__card-icon {
      width: 2.4rem;
      height: 2.4rem;
      color: var(--primary);
      flex-shrink: 0;
    }

    /* Title */
    .j-benefits-scroll__card-title {
      font-family: var(--font-primary);
      font-size: var(--text-m);
      font-weight: 600;
      color: var(--text-title);
      margin: 0;
    }

    /* Text */
    .j-benefits-scroll__card-text {
      font-family: var(--font-secondary);
      font-size: var(--text-s);
      color: var(--text-body);
      opacity: 0.7;
      line-height: 1.7;
      margin: 0;
    }

    /* --- Responsive --- */
    @container j-benefits-scroll (max-width: 768px) {
      .j-benefits-scroll__card {
        flex: 0 0 24rem;
        padding: var(--space-l);
      }

      .j-benefits-scroll__arrow {
        width: 3.6rem;
        height: 3.6rem;
      }
    }

    @container j-benefits-scroll (max-width: 480px) {
      .j-benefits-scroll__top {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-m);
      }

      .j-benefits-scroll__card {
        flex: 0 0 26rem;
      }

      .j-benefits-scroll__track {
        padding-left: var(--space-l);
      }
    }

.j-kultur-carousel {
      container-type: inline-size;
      container-name: j-kultur-carousel;
    }

    .j-kultur-carousel__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-2xl);
      align-items: center;
    }

    /* --- Carousel --- */
    .j-kultur-carousel__media {
      position: relative;
      border-radius: var(--radius-m);
      overflow: hidden;
    }

    .j-kultur-carousel__track {
      display: flex;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .j-kultur-carousel__slide {
      min-width: 100%;
      flex-shrink: 0;
    }

    .j-kultur-carousel__img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      display: block;
    }

    .j-kultur-carousel__controls {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: var(--space-s) var(--space-m);
      background: linear-gradient(to top, oklch(0 0 0 / 0.55), transparent);
    }

    .j-kultur-carousel__btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 3.6rem;
      height: 3.6rem;
      border-radius: var(--radius-s);
      border: none;
      background: oklch(1 0 0 / 0.15);
      color: #fff;
      cursor: pointer;
      transition: background 0.2s ease;
      backdrop-filter: blur(4px);
    }

    .j-kultur-carousel__btn:hover {
      background: oklch(1 0 0 / 0.3);
    }

    .j-kultur-carousel__btn svg {
      width: 2rem;
      height: 2rem;
    }

    .j-kultur-carousel__dots {
      display: flex;
      gap: var(--space-3xs);
    }

    .j-kultur-carousel__dot {
      width: 0.8rem;
      height: 0.8rem;
      border-radius: 50%;
      border: none;
      background: oklch(1 0 0 / 0.35);
      cursor: pointer;
      padding: 0;
      transition: background 0.2s ease, transform 0.2s ease;
    }

    .j-kultur-carousel__dot--active {
      background: #fff;
      transform: scale(1.25);
    }

    /* --- Content --- */
    .j-kultur-carousel__content {
      display: flex;
      flex-direction: column;
      gap: var(--space-m);
    }

    .j-kultur-carousel__title {
      font-family: var(--font-primary);
      font-size: var(--text-2xl);
      color: var(--text-title);
      line-height: 1.2;
      margin: 0;
    }

    .j-kultur-carousel__desc {
      font-family: var(--font-secondary);
      font-size: var(--text-m);
      color: var(--text-body);
      line-height: 1.7;
      opacity: 0.8;
      margin: 0;
    }

    .j-kultur-carousel__highlights {
      display: flex;
      flex-direction: column;
      gap: var(--space-s);
      margin-top: var(--space-s);
    }

    .j-kultur-carousel__highlight {
      display: flex;
      gap: var(--space-m);
      align-items: flex-start;
      padding: var(--space-m);
      border-radius: var(--radius-s);
      transition: background 0.2s ease;
    }

    .j-kultur-carousel__highlight:hover {
      background: var(--primary-5);
    }

    .j-kultur-carousel__highlight-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 4rem;
      height: 4rem;
      flex-shrink: 0;
      color: var(--primary);
    }

    .j-kultur-carousel__highlight-icon svg {
      width: 2rem;
      height: 2rem;
    }

    .j-kultur-carousel__highlight-title {
      font-family: var(--font-primary);
      font-size: var(--text-s);
      font-weight: 600;
      color: var(--text-title);
      margin: 0 0 var(--space-4xs) 0;
    }

    .j-kultur-carousel__highlight-text {
      font-family: var(--font-secondary);
      font-size: var(--text-xs);
      color: var(--text-body);
      opacity: 0.7;
      line-height: 1.6;
      margin: 0;
    }

    /* --- Responsive --- */
    @container j-kultur-carousel (max-width: 968px) {
      .j-kultur-carousel__grid {
        gap: var(--space-xl);
      }

      .j-kultur-carousel__title {
        font-size: var(--text-xl);
      }
    }

    @container j-kultur-carousel (max-width: 768px) {
      .j-kultur-carousel__grid {
        grid-template-columns: 1fr;
      }

      .j-kultur-carousel__media {
        max-width: 100%;
      }
    }

    @container j-kultur-carousel (max-width: 480px) {
      .j-kultur-carousel__highlight {
        padding: var(--space-s);
      }

      .j-kultur-carousel__highlight-icon {
        width: 3.4rem;
        height: 3.4rem;
      }

      .j-kultur-carousel__highlight-icon svg {
        width: 1.6rem;
        height: 1.6rem;
      }
    }

.j-cta-split {
      container-type: inline-size;
      container-name: j-cta-split;
    }

    .j-cta-split__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-2xl);
      padding: var(--space-2xl);
      border-radius: var(--radius-m);
      border: 1px solid var(--border-primary);
    }

    /* Left */
    .j-cta-split__left {
      max-width: 50rem;
    }

    .j-cta-split__title {
      font-family: var(--font-primary);
      font-size: var(--text-xl);
      font-weight: 500;
      color: var(--text-title);
      margin: 0 0 var(--space-xs) 0;
      line-height: 1.2;
    }

    .j-cta-split__text {
      font-family: var(--font-secondary);
      font-size: var(--text-s);
      color: var(--text-body);
      opacity: 0.75;
      line-height: 1.6;
      margin: 0;
    }

    /* Right */
    .j-cta-split__right {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: var(--space-m);
      flex-shrink: 0;
    }

    .j-cta-split__btn-primary svg {
      width: 1.8rem;
      height: 1.8rem;
    }

    .j-cta-split__contact {
      display: flex;
      align-items: center;
      gap: var(--space-m);
    }

    .j-cta-split__contact-item {
      display: flex;
      align-items: center;
      gap: var(--space-3xs);
      font-family: var(--font-secondary);
      font-size: var(--text-xs);
      color: var(--text-body);
      opacity: 0.6;
      text-decoration: none;
      transition: opacity 0.2s ease, color 0.2s ease;
    }

    .j-cta-split__contact-item:hover {
      opacity: 1;
      color: var(--primary);
    }

    .j-cta-split__contact-item svg {
      width: 1.4rem;
      height: 1.4rem;
    }

    .j-cta-split__divider {
      width: 1px;
      height: 1.4rem;
      background: var(--border-primary);
    }

    /* --- Responsive --- */
    @container j-cta-split (max-width: 768px) {
      .j-cta-split__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-l);
        padding: var(--space-xl);
      }

      .j-cta-split__right {
        align-items: flex-start;
        width: 100%;
      }

      .j-cta-split__btn-primary {
        width: 100%;
        justify-content: center;
      }
    }

    @container j-cta-split (max-width: 480px) {
      .j-cta-split__inner {
        padding: var(--space-l);
      }

      .j-cta-split__contact {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-xs);
      }

      .j-cta-split__divider {
        display: none;
      }
    }

.footer-primary {
      container-type: inline-size;
      container-name: footer-primary;
      background: var(--primary);
      padding: var(--space-3xl) var(--section-padding-x) var(--space-xl);
      --_text: oklch(1 0 0);
      --_text-soft: oklch(1 0 0 / 0.72);
      --_border: oklch(1 0 0 / 0.18);
      --_hover: oklch(1 0 0);
    }

    .footer-primary__top {
      display: grid;
      grid-template-columns: 1.2fr 1fr 1fr;
      gap: var(--space-2xl);
      align-items: start;
    }

    .footer-primary__brand {
      display: flex;
      flex-direction: column;
      gap: var(--space-m);
    }

    .footer-primary__logo {
      height: 12rem;
      width: auto;
      object-fit: contain;
      object-position: left;
    }

    .footer-primary__tagline {
      font-size: var(--text-s);
      color: var(--_text-soft);
      line-height: 1.6;
    }

    .footer-primary__col-title {
      font-family: var(--font-secondary);
      font-size: var(--text-xs);
      font-weight: var(--weight-semibold);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--_text-soft);
      margin-bottom: var(--space-m);
    }

    .footer-primary__nav-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: var(--space-s);
    }

    .footer-primary__nav-link {
      font-size: var(--text-base);
      font-weight: var(--font-medium);
      color: var(--_text);
      text-decoration: none;
      transition: opacity 0.2s ease;
    }

    .footer-primary__nav-link:hover {
      opacity: 0.75;
    }

    .footer-primary__contact {
      display: flex;
      flex-direction: column;
      gap: var(--space-s);
    }

    .footer-primary__contact-item {
      display: flex;
      align-items: center;
      gap: var(--space-xs);
      font-size: var(--text-s);
      color: var(--_text);
      text-decoration: none;
      transition: opacity 0.2s ease;
    }

    a.footer-primary__contact-item:hover {
      opacity: 0.75;
    }

    .footer-primary__contact-item .lucide {
      color: var(--_text-soft);
      flex-shrink: 0;
    }

    .footer-primary__divider {
      height: 1px;
      background: var(--_border);
      margin: var(--space-2xl) 0 var(--space-l);
    }

    .footer-primary__bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--space-m);
    }

    .footer-primary__copyright {
      font-size: var(--text-xs);
      color: var(--_text-soft);
    }

    .footer-primary__legal {
      display: flex;
      gap: var(--space-l);
    }

    .footer-primary__legal-link {
      font-size: var(--text-xs);
      color: var(--_text-soft);
      text-decoration: none;
      transition: color 0.2s ease;
    }

    .footer-primary__legal-link:hover {
      color: var(--_text);
    }

    /* Tablet */
    @container footer-primary (max-width: 768px) {
      .footer-primary__top {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-xl);
      }

      .footer-primary__brand {
        grid-column: 1 / -1;
      }
    }

    /* Mobile */
    @container footer-primary (max-width: 480px) {
      .footer-primary__top {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
      }

      .footer-primary__bottom {
        flex-direction: column;
        text-align: center;
        gap: var(--space-s);
      }
    }

