/** Shopify CDN: Minification failed

Line 7775:20 Expected "}" to go with "{"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:404 (INDEX:0) */
.not-found {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80svh;
    background: #FFFFFF;
    text-align: center;
  }
  .not-found__wrap {
    max-width: 480px;
    padding: 4rem 1.5rem;
  }
  .not-found__kicker {
    font-size: clamp(5rem, 12vw, 8rem);
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1;
    margin: 0 0 0.5rem;
    letter-spacing: -0.04em;
  }
  .not-found__heading {
    font-size: clamp(1.2rem, 2.5vw, 1.5rem);
    font-weight: 600;
    color: #1d1d1f;
    margin: 0 0 1rem;
  }
  .not-found__desc {
    font-size: 0.95rem;
    color: #86868B;
    line-height: 1.6;
    margin: 0 0 2rem;
  }
  .not-found__actions {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
  }
  .not-found__btn {
    display: inline-flex;
    align-items: center;
    padding: 0.7rem 1.75rem;
    font-size: 0.88rem;
    font-weight: 600;
    border-radius: 100px;
    text-decoration: none;
    transition: all 0.2s;
  }
  .not-found__btn--primary {
    background: #1d1d1f;
    color: #FFFFFF;
  }
  .not-found__btn--primary:hover {
    background: #000;
  }
  .not-found__btn--secondary {
    background: #F5F5F7;
    color: #1d1d1f;
  }
  .not-found__btn--secondary:hover {
    background: #E8E8ED;
  }
/* END_SECTION:404 */

/* START_SECTION:about-intro (INDEX:1) */
.about-intro {
    background-color: var(--color-bg-secondary);
  }

  .about-intro__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
  }

  .about-intro__text {
    max-width: 580px;
  }

  .about-intro__content {
    font-size: 1rem;
    color: var(--color-text-body);
    line-height: 1.75;
  }

  .about-intro__content p {
    margin-bottom: 1.25rem;
  }

  .about-intro__media {
    position: relative;
  }

  .about-intro__image {
    border-radius: var(--radius-md);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.08);
  }

  .about-intro__placeholder {
    aspect-ratio: 4/3;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-bg-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
  }

  .about-intro__image-secondary {
    position: absolute;
    bottom: -1.5rem;
    right: -1.5rem;
    width: 45%;
    border: 4px solid var(--color-bg-secondary);
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  }

  @media (min-width: 1024px) {
    .about-intro__grid {
      grid-template-columns: 1fr 1.1fr;
    }
  }

  @media (max-width: 640px) {
    .about-intro__image-secondary {
      display: none;
    }
  }
/* END_SECTION:about-intro */

/* START_SECTION:about-mission (INDEX:2) */
.about-mission .container {
    max-width: 860px;
    padding-inline: 2rem;
    text-align: center;
  }
  .about-mission .section-spacing {
    padding-block: 100px;
  }

  .about-mission__quote {
    margin: 0;
  }

  .about-mission__text {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.25;
    letter-spacing: -0.03em;
    margin: 0 0 1.5rem;
  }

  .about-mission__sub {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 500;
    letter-spacing: 0.04em;
  }
/* END_SECTION:about-mission */

/* START_SECTION:article (INDEX:3) */
.article-page {
    background-color: var(--color-bg-secondary);
  }

  .article-content {
    max-width: 800px;
    margin-inline: auto;
  }

  .article-hero-image {
    border-radius: var(--radius-md);
    overflow: hidden;
    margin-bottom: 2.5rem;
  }

  .article-hero-image__img {
    width: 100%;
    height: auto;
  }

  .article-header {
    margin-bottom: 2.5rem;
  }

  .article-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--color-text-body);
    margin-bottom: 1rem;
  }

  .article-meta__separator {
    color: var(--color-border);
  }

  .article-meta__tag {
    font-weight: 600;
    color: var(--color-text-dark);
  }

  .article-title {
    font-size: var(--font-size-h1);
    font-weight: 700;
    color: var(--color-text-dark);
    line-height: 1.1;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
  }

  .article-excerpt {
    font-size: 1.15rem;
    color: var(--color-text-body);
    line-height: 1.65;
  }

  .article-body {
    font-size: 1.05rem;
    color: var(--color-text-dark);
    line-height: 1.8;
  }

  .article-body p {
    margin-bottom: 1.5rem;
  }

  .article-body h2 {
    font-size: 1.75rem;
    margin-top: 3rem;
    margin-bottom: 1rem;
  }

  .article-body h3 {
    font-size: 1.35rem;
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
  }

  .article-body img {
    border-radius: var(--radius-sm);
    margin: 2rem 0;
  }

  .article-body blockquote {
    border-left: 3px solid #D2D2D7;
    padding: 0.5rem 0 0.5rem 1.5rem;
    margin: 2rem 0;
    font-style: italic;
    color: var(--color-text-body);
  }

  .article-body ul,
  .article-body ol {
    padding-left: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .article-body li {
    margin-bottom: 0.4rem;
  }

  .article-body ul li {
    list-style: disc;
  }

  .article-body ol li {
    list-style: decimal;
  }

  .article-footer {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
  }

  .article-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .article-tag {
    padding: 0.3rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 500;
    background: var(--color-bg-surface);
    color: var(--color-text-body);
    border-radius: 100px;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
  }

  .article-tag:hover {
    background: var(--color-text-dark);
    color: var(--color-bg-secondary);
  }

  /* Comments */
  .article-comments {
    max-width: 800px;
    margin-inline: auto;
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid var(--color-border);
  }

  .article-comments__title {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: 1.5rem;
  }

  .article-comment {
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--color-border);
  }

  .article-comment__author {
    font-weight: 600;
    color: var(--color-text-dark);
  }

  .article-comment__date {
    font-size: 0.8rem;
    color: var(--color-text-body);
  }

  .article-comment__content {
    margin-top: 0.5rem;
    color: var(--color-text-dark);
  }

  .article-comments__form-title {
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--color-text-dark);
  }

  .comment-form__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
  }

  .comment-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
  }

  .comment-form__field label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-text-dark);
  }

  .comment-form__field input,
  .comment-form__field textarea {
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-bg-secondary);
    color: var(--color-text-dark);
    outline: none;
    font-size: 0.9rem;
  }

  .comment-form__field input:focus,
  .comment-form__field textarea:focus {
    border-color: #1D1D1F;
  }

  .comment-form__field textarea {
    resize: vertical;
    min-height: 100px;
    margin-bottom: 1rem;
  }

  @media (max-width: 640px) {
    .article-title {
      font-size: 2rem;
    }
    .comment-form__fields {
      grid-template-columns: 1fr;
    }
  }
/* END_SECTION:article */

/* START_SECTION:blog-cards (INDEX:4) */
.blog-cards .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .blog-cards .section-spacing {
    padding-block: 100px;
  }

  .blog-cards__tagline {
    font-size: clamp(0.72rem, 1vw, 0.82rem);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-muted, #86868B);
    text-align: center;
    margin-bottom: 0.75rem;
  }

  .blog-cards__heading {
    font-size: clamp(1.75rem, 3.5vw, 2.25rem);
    font-weight: 700;
    color: #1d1d1f;
    text-align: center;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin-bottom: 0.75rem;
  }

  .blog-cards__description {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: #86868B;
    text-align: center;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto 3rem;
  }

  .blog-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }

  .blog-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 20px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
  }

  .blog-card__link-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
  }

  .blog-card__image-wrap {
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
  }

  .blog-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
  }

  .blog-card:hover .blog-card__img {
    transform: scale(1.04);
  }

  .blog-card__body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
  }

  .blog-card__category {
    display: block;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-accent, #2563EB);
    margin-bottom: 0.5rem;
  }

  .blog-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.3;
    margin-bottom: 0.5rem;
  }

  .blog-card__excerpt {
    font-size: 0.85rem;
    color: #86868B;
    line-height: 1.55;
    margin-bottom: 1rem;
    flex: 1;
  }

  .blog-card__read-more {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-accent, #2563EB);
    transition: gap 0.2s ease;
  }

  .blog-card:hover .blog-card__read-more {
    gap: 0.6rem;
  }

  .blog-cards__bottom {
    text-align: center;
    margin-top: 2.5rem;
  }

  .blog-cards__view-all {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-accent, #2563EB);
    text-decoration: none;
    transition: gap 0.2s ease;
  }

  .blog-cards__view-all:hover {
    gap: 0.7rem;
  }

  .blog-cards__empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem;
    color: #86868B;
  }

  @media (max-width: 768px) {
    .blog-cards__grid {
      grid-template-columns: 1fr;
      gap: 1rem;
    }
    .blog-cards .section-spacing {
      padding-block: 60px;
    }
  }
/* END_SECTION:blog-cards */

/* START_SECTION:blog (INDEX:5) */
.blog-section {
    background: #f5f5f7;
  }
  .blog-section__wrap {
    max-width: 1260px;
    margin: 0 auto;
    padding: 60px 2rem 100px;
  }

  /* ── Carousel ── */
  .blog-section__carousel {
    position: relative;
    margin-bottom: 3rem;
  }
  .blog-carousel__viewport {
    overflow: hidden;
    border-radius: 20px;
    position: relative;
  }
  .blog-carousel__track {
    display: flex;
    transition: transform 0.5s ease;
  }
  .blog-carousel__slide {
    flex: 0 0 100%;
    min-width: 0;
  }
  .blog-carousel__slide--active {
    display: block;
  }
  .blog-carousel__link {
    display: grid;
    grid-template-columns: 2fr 1fr;
    text-decoration: none;
    color: inherit;
    background: #ffffff;
  }
  .blog-carousel__media {
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #f5f5f7;
    position: relative;
  }
  .blog-carousel__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .blog-carousel__img-fallback {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e8e8ed 0%, #d5d5da 100%);
  }
  .blog-carousel__body {
    padding: 2rem 2rem 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.75rem;
  }
  .blog-carousel__meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: #86868b;
  }
  .blog-carousel__pin-badge {
    padding: 0.2rem 0.5rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #ffffff;
    background: #1d1d1f;
    border-radius: 4px;
  }
  .blog-carousel__title {
    font-size: clamp(1rem, 1.8vw, 1.3rem);
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.25;
    margin: 0;
    letter-spacing: -0.02em;
  }
  .blog-carousel__read {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1d1d1f;
  }
  .blog-carousel__excerpt {
    display: none;
  }

  /* Carousel arrows */
  .blog-carousel__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 50%;
    color: #1d1d1f;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.3s, box-shadow 0.3s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  }
  .blog-section__carousel:hover .blog-carousel__arrow {
    opacity: 1;
  }
  .blog-carousel__arrow:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  }
  .blog-carousel__arrow--prev {
    left: -20px;
  }
  .blog-carousel__arrow--next {
    right: -20px;
  }
  .blog-carousel__dots {
    position: absolute;
    bottom: 1.5rem;
    left: 33.33%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.5rem;
    z-index: 2;
  }
  .blog-carousel__dot {
    width: 24px;
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.3);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s;
  }
  .blog-carousel__dot--active {
    background: #ffffff;
    width: 32px;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
  }

  /* ── Fallback hero card (no featured articles) ── */
  .blog-section__hero-card {
    margin-bottom: 3rem;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    background: #ffffff;
  }
  .blog-hero__link {
    display: grid;
    grid-template-columns: 1fr 1fr;
    text-decoration: none;
    color: inherit;
  }
  .blog-hero__media {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #f5f5f7;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .blog-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .blog-hero__img-fallback {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e8e8ed 0%, #d5d5da 100%);
  }
  .blog-hero__body {
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .blog-hero__meta {
    font-size: 0.78rem;
    color: #86868b;
    margin-bottom: 1rem;
  }
  .blog-hero__title {
    font-size: clamp(1.2rem, 2.2vw, 1.6rem);
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.2;
    margin: 0 0 0.75rem;
    letter-spacing: -0.02em;
  }
  .blog-hero__excerpt {
    font-size: 0.9rem;
    color: #86868b;
    line-height: 1.65;
    margin: 0 0 1rem;
  }
  .blog-hero__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1.25rem;
  }
  .blog-hero__tag {
    padding: 0.3rem 0.7rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: #1d1d1f;
    background: #f5f5f7;
    border-radius: 100px;
  }
  .blog-hero__read {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1d1d1f;
  }

  /* ── Grid ── */
  .blog-section__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
  }
  .blog-card {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
  }
  .blog-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.07);
  }
  .blog-card__link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .blog-card__media {
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #f5f5f7;
    flex-shrink: 0;
  }
  .blog-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
  }
  .blog-card:hover .blog-card__img {
    transform: scale(1.05);
  }
  .blog-card__img-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .blog-card__body {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  .blog-card__date {
    font-size: 0.68rem;
    color: #b0b0b5;
    margin-bottom: 0.35rem;
    display: block;
  }
  .blog-card__title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1d1d1f;
    line-height: 1.3;
    margin: 0 0 0.35rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
  }
  .blog-card__excerpt {
    font-size: 0.75rem;
    color: #86868b;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
  }

  /* ── Pagination ── */
  .blog-section__pagination {
    display: flex;
    justify-content: center;
    padding: 2.5rem 0 0;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    gap: 0.5rem;
  }
  .blog-section__pagination::-webkit-scrollbar {
    display: none;
  }
  .blog-section__pagination .pagination {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: nowrap;
  }
  .blog-section__pagination .page {
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 500;
    border-radius: 10px;
    text-decoration: none;
    color: #86868b;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    transition: all 0.15s;
    padding: 0 0.5rem;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .blog-section__pagination .page:hover {
    color: #1d1d1f;
    border-color: rgba(0, 0, 0, 0.25);
    background: #fbfbfd;
  }
  .blog-section__pagination .page.current {
    color: #ffffff;
    background: #1d1d1f;
    border-color: #1d1d1f;
  }
  .blog-section__pagination .prev,
  .blog-section__pagination .next {
    display: flex;
    flex-shrink: 0;
  }
  .blog-section__pagination .prev a,
  .blog-section__pagination .next a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    font-size: 0;
    border-radius: 10px;
    text-decoration: none;
    color: #1d1d1f;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    padding: 0 0.75rem;
  }
  .blog-section__pagination .prev a::after {
    content: '\2190';
    font-size: 0.9rem;
  }
  .blog-section__pagination .next a::after {
    content: '\2192';
    font-size: 0.9rem;
  }
  .blog-section__pagination .prev a:hover,
  .blog-section__pagination .next a:hover {
    color: #1d1d1f;
    border-color: rgba(0, 0, 0, 0.25);
    background: #fbfbfd;
  }
  .blog-section__pagination .disabled {
    opacity: 0.35;
  }

  @media (max-width: 1000px) {
    .blog-section__grid {
      grid-template-columns: repeat(3, 1fr);
    }
    .blog-carousel__link {
      grid-template-columns: 1fr;
    }
    .blog-carousel__media {
      aspect-ratio: 16/9;
    }
    .blog-carousel__body {
      padding: 1.5rem;
    }
    .blog-carousel__dots {
      left: 50%;
      top: auto;
      bottom: 42%;
      transform: translateX(-50%);
    }
    .blog-carousel__arrow--prev {
      left: 0.5rem;
    }
    .blog-carousel__arrow--next {
      right: 0.5rem;
    }
    .blog-hero__link {
      grid-template-columns: 1fr;
    }
    .blog-hero__media {
      aspect-ratio: 16/9;
    }
    .blog-hero__body {
      padding: 1.5rem;
    }
  }
  @media (max-width: 640px) {
    .blog-section__wrap {
      padding: 40px 1.25rem 80px;
    }
    .blog-section__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 0.75rem;
    }
    .blog-card__body {
      padding: 0.75rem;
    }
    .blog-card__title {
      font-size: 0.78rem;
    }
    .blog-carousel__dots {
      left: 50%;
      top: auto;
      bottom: 42%;
      transform: translateX(-50%);
    }
  }
/* END_SECTION:blog */

/* START_SECTION:case-cards (INDEX:7) */
.case-cards .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }

  /* ── Banner strip ── */
  .case-cards__banner {
    padding-block: 72px;
  }

  .case-cards__banner-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    max-width: 1260px;
    margin: 0 auto;
    padding-inline: 2rem;
  }

  .case-cards__banner-text {
    flex: 1;
    max-width: 680px;
  }

  .case-cards__tagline {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 0.6rem;
  }

  .case-cards__heading {
    font-size: clamp(1.5rem, 2.8vw, 2rem);
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin-bottom: 0.6rem;
  }

  .case-cards__description {
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    margin: 0;
  }

  .case-cards__banner-media {
    flex-shrink: 0;
    width: 180px;
    height: 180px;
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
  }

  .case-cards__banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* ── Cards area ── */
  .case-cards .section-spacing {
    padding-block: 80px;
  }

  .case-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }

  .case-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 20px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .case-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
  }

  .case-card__image-wrap {
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
  }

  .case-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
  }

  .case-card:hover .case-card__img {
    transform: scale(1.04);
  }

  .case-card__body {
    padding: 1.5rem;
  }

  .case-card__region {
    display: block;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #B0B0B5;
    margin-bottom: 0.5rem;
  }

  .case-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.3;
    margin-bottom: 0.5rem;
  }

  .case-card__desc {
    font-size: 0.85rem;
    color: #86868B;
    line-height: 1.55;
    margin-bottom: 1rem;
  }

  .case-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-accent, #2563EB);
    text-decoration: none;
    transition: gap 0.2s ease;
  }

  .case-card__link:hover {
    gap: 0.6rem;
  }

  .case-cards__empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem;
    color: #86868B;
  }

  .case-cards__bottom {
    text-align: center;
    margin-top: 2.5rem;
  }

  .case-cards__view-all {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-accent, #2563EB);
    text-decoration: none;
    transition: gap 0.2s ease;
  }

  .case-cards__view-all:hover {
    gap: 0.7rem;
  }

  @media (max-width: 768px) {
    .case-cards__banner {
      padding-block: 48px;
    }
    .case-cards__banner-inner {
      flex-direction: column;
      gap: 1.5rem;
    }
    .case-cards__banner-media {
      width: 120px;
      height: 120px;
    }
    .case-cards__grid {
      grid-template-columns: 1fr;
      gap: 1rem;
    }
    .case-cards .section-spacing {
      padding-block: 60px;
    }
  }
/* END_SECTION:case-cards */

/* START_SECTION:case-detail (INDEX:8) */
.case-detail .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .case-detail .section-spacing {
    padding-block: 100px;
  }

  .case-detail {
    scroll-margin-top: calc(var(--header-h, 5rem) + 1rem);
  }

  .case-detail__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
  }

  .case-detail__media {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .case-detail__img {
    width: 100%;
    max-width: 560px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 20px;
  }

  .case-detail__placeholder {
    width: 100%;
    max-width: 560px;
    aspect-ratio: 1 / 1;
    background: #F5F5F7;
    border-radius: 20px;
  }

  .case-detail__text {
    max-width: 520px;
  }

  .case-detail__region {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #B0B0B5;
    margin-bottom: 0.75rem;
  }

  .case-detail__heading {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
  }

  .case-detail__desc {
    font-size: 0.95rem;
    color: #86868B;
    line-height: 1.7;
    margin-bottom: 1.5rem;
  }

  .case-detail__metrics {
    display: flex;
    gap: 2rem;
    margin-bottom: 1.5rem;
  }

  .case-detail__metric-value {
    display: block;
    font-size: 1.75rem;
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1;
    letter-spacing: -0.02em;
  }

  .case-detail__metric-label {
    display: block;
    font-size: 0.8rem;
    color: #86868B;
    margin-top: 0.25rem;
  }

  .case-detail__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .case-detail__tag {
    display: inline-block;
    padding: 0.35rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 500;
    color: #1d1d1f;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 100px;
  }

  @media (max-width: 768px) {
    .case-detail__grid {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .case-detail__text {
      max-width: 100%;
    }
    .case-detail__media {
      order: -1;
    }
  }
/* END_SECTION:case-detail */

/* START_SECTION:case-studies (INDEX:9) */
.case-studies {
    overflow: hidden;
  }

  .case-studies .section-header {
    text-align: center;
  }

  /* --- Viewport — full-width, center card visible, sides peek --- */
  .case-studies__viewport {
    margin-top: 2.5rem;
    --card-w: clamp(300px, 44vw, 640px);
    --gap: 1.5rem;
    --peek: calc((100vw - var(--card-w) - var(--gap) * 2) / 2);
  }

  .case-studies__track {
    display: flex;
    gap: var(--gap);
    padding: 0 calc(var(--peek) + var(--gap));
    transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  }

  /* --- Each slide --- */
  .case-studies__slide {
    flex: 0 0 var(--card-w);
    min-width: 0;
    transition: opacity 0.4s, transform 0.4s;
  }

  .case-studies__slide.is-dimmed {
    opacity: 0.4;
  }

  .case-slide__card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 4/3;
    isolation: isolate;
    cursor: pointer;
    display: block;
    color: inherit;
    text-decoration: none;
  }

  .case-slide__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
  }

  .case-slide__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
  }

  .case-slide__card:hover .case-slide__img {
    transform: scale(1.04);
  }

  .case-slide__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
      180deg,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.02) 30%,
      rgba(0,0,0,0.5) 65%,
      rgba(0,0,0,0.82) 100%
    );
  }

  .case-slide__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    padding: 1.75rem;
  }

  .case-slide__region {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6);
    margin-bottom: 0.5rem;
  }

  .case-slide__title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    margin-bottom: 0.5rem;
    letter-spacing: -0.01em;
  }

  .case-slide__desc {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.72);
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* --- Controls --- */
  .case-studies__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    margin-top: 2rem;
    padding-bottom: 100px;
  }

  .case-studies__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #D2D2D7;
    background: transparent;
    color: #1d1d1f;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    flex-shrink: 0;
  }

  .case-studies__arrow:hover {
    background: #1d1d1f;
    border-color: #1d1d1f;
    color: #fff;
  }

  .case-studies__dots {
    display: flex;
    gap: 0.5rem;
  }

  .case-studies__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: #D2D2D7;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
    padding: 0;
  }

  .case-studies__dot--active {
    background: #1d1d1f;
    transform: scale(1.4);
  }

  @media (max-width: 1024px) {
    .case-studies__viewport {
      --card-w: clamp(240px, 60vw, 500px);
    }
    .case-slide__title {
      font-size: 1rem;
    }
  }

  @media (max-width: 640px) {
    .case-studies__viewport {
      --card-w: calc(100vw - 4rem);
      --peek: 0px;
    }
    .case-studies__track {
      padding: 0 2rem;
      gap: 1rem;
    }
    .case-slide__card {
      aspect-ratio: 16/10;
    }
  }
/* END_SECTION:case-studies */

/* START_SECTION:collection (INDEX:10) */
.collection-page {
    background-color: #fff;
  }

  /* ── Layout ── */
  .collection-layout {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
  }

  .collection-main {
    flex: 1;
    min-width: 0;
  }

  /* ── Panels ── */
  .collection-panel {
    display: none;
  }
  .collection-panel--active {
    display: block;
  }

  /* ── Sidebar ── */
  .collection-sidebar {
    flex: 0 0 240px;
    position: sticky;
    top: 60px;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  /* ── Sidebar search ── */
  .collection-sidebar__search {
    display: flex;
    gap: 0;
    margin-bottom: 1.25rem;
    flex-shrink: 0;
  }

  .collection-sidebar__input {
    flex: 1;
    min-width: 0;
    padding: 0.55rem 0.75rem;
    font-size: 0.82rem;
    font-family: inherit;
    color: var(--color-text-dark);
    background: rgba(0,0,0,0.04);
    border: 1px solid var(--color-border);
    border-right: none;
    border-radius: 6px 0 0 6px;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
  }

  .collection-sidebar__input::-webkit-search-decoration,
  .collection-sidebar__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
  }

  .collection-sidebar__input::placeholder {
    color: var(--color-text-body);
  }

  .collection-sidebar__reset {
    flex-shrink: 0;
    padding: 0.55rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #fff;
    background: var(--color-text-dark);
    border: none;
    border-radius: 0 6px 6px 0;
    cursor: pointer;
    transition: opacity 0.2s;
    white-space: nowrap;
  }

  .collection-sidebar__reset:hover {
    opacity: 0.85;
  }

  /* ── Sidebar accordion sections ── */
  .collection-sidebar__section {
    border-top: 1px solid var(--color-border);
  }

  .collection-sidebar__section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.75rem 0;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-dark);
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: inherit;
  }

  .collection-sidebar__section-chevron {
    flex-shrink: 0;
    transition: transform 0.25s ease;
  }

  .collection-sidebar__section.is-open .collection-sidebar__section-chevron {
    transform: rotate(180deg);
  }

  .collection-sidebar__section-body {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease;
  }

  .collection-sidebar__section.is-open .collection-sidebar__section-body {
    max-height: none;
    overflow: visible;
  }

  .collection-sidebar__section-scroll {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding-bottom: 0.75rem;
    max-height: 300px;
    overflow-y: auto;
  }

  .collection-sidebar__section-scroll::-webkit-scrollbar {
    width: 4px;
  }

  .collection-sidebar__section-scroll::-webkit-scrollbar-thumb {
    background: var(--color-border);
    border-radius: 2px;
  }

  /* ── Sidebar radio (category) ── */
  .collection-sidebar__radio {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--color-text-body);
    cursor: pointer;
    padding: 0.2rem 0;
  }

  .collection-sidebar__radio input {
    accent-color: var(--color-text-dark);
  }

  .collection-sidebar__radio input:checked + span {
    color: var(--color-text-dark);
    font-weight: 600;
  }

  /* ── Sidebar checkbox (tags) ── */
  .collection-sidebar__checkbox {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--color-text-body);
    cursor: pointer;
  }

  .collection-sidebar__checkbox input {
    accent-color: var(--color-text-dark);
  }

  /* ── Sidebar count ── */
  /* ── Empty state ── */
  .collection-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
    text-align: center;
    padding: 2rem 1rem;
  }

  .collection-empty__icon {
    display: block;
    margin: 0 auto 1.25rem;
    color: var(--color-border);
  }

  .collection-empty__text {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--color-text-dark);
    margin: 0 0 0.35rem;
  }

  .collection-empty__hint {
    font-size: 0.82rem;
    color: var(--color-text-body);
    margin: 0;
  }

  /* ── Product grid ── */
  .collection-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.75rem;
  }

  .collection-grid .collection-product-wrap .product-card-hover {
    height: 100%;
  }

  /* ── Loader ── */
  .collection-grid__loader {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
    pointer-events: none;
  }

  .collection-grid__loader[data-active] {
    opacity: 1;
    visibility: visible;
  }

  .collection-grid__spinner {
    width: 36px;
    height: 36px;
    border: 3px solid var(--color-border);
    border-top-color: var(--color-text-dark);
    border-radius: 50%;
    animation: collectionSpin 0.7s linear infinite;
  }

  @keyframes collectionSpin {
    to { transform: rotate(360deg); }
  }

  .collection-grid__loader-text {
    font-size: 0.85rem;
    color: var(--color-text-body);
  }

  /* ── Product card styles (mirrored from product-showcase) ── */
  .product-card-hover {
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    transition: box-shadow 0.3s;
    position: relative;
  }

  .product-card-hover:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  }

  .product-card-hover__link {
    display: block;
    position: relative;
    text-decoration: none;
    color: inherit;
  }

  .product-card-hover__image {
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #F0F0F2;
    position: relative;
  }

  .product-card-hover__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
  }

  .product-card-hover:hover .product-card-hover__img {
    transform: scale(1.06);
  }

  .product-card-hover__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: #F0F0F2;
  }

  .product-card-hover__placeholder svg {
    width: 50%;
    height: 50%;
    opacity: 0.15;
  }

  .product-card-hover__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.78) 100%);
    display: flex;
    align-items: flex-end;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 2;
  }

  .product-card-hover__link:hover .product-card-hover__overlay {
    opacity: 1;
    visibility: visible;
  }

  .product-card-hover__overlay-content {
    padding: 1rem;
    width: 100%;
    transform: translateY(8px);
    transition: transform 0.35s ease;
  }

  .product-card-hover__link:hover .product-card-hover__overlay-content {
    transform: translateY(0);
  }

  .product-card-hover__category {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 0.35rem;
  }

  .product-card-hover__title {
    font-size: 0.85rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    margin-bottom: 0.4rem;
  }

  .product-card-hover__desc {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-card-hover__cta {
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: gap 0.25s;
  }

  .product-card-hover__link:hover .product-card-hover__cta {
    gap: 0.65rem;
  }

  /* ── Split layout: overlay direct child of card root (collection page) ── */
  .product-card-hover > .product-card-hover__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.78) 100%);
    display: flex;
    align-items: flex-end;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 2;
  }

  .product-card-hover:hover > .product-card-hover__overlay {
    opacity: 1;
    visibility: visible;
  }

  .product-card-hover:hover > .product-card-hover__overlay .product-card-hover__overlay-content {
    transform: translateY(0);
  }

  .product-card-hover:hover > .product-card-hover__overlay .product-card-hover__cta {
    gap: 0.65rem;
  }

  /* ── Desktop transparent link covering the image area ── */
  .product-card-hover__image-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    z-index: 3;
  }

  .product-card-hover__meta {
    padding: 0.6rem 0.7rem 0.7rem;
  }

  .product-card-hover__meta-cat {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-text-muted);
  }

  .product-card-hover__meta-title {
    font-size: 0.76rem;
    font-weight: 600;
    color: var(--color-text-dark);
    line-height: 1.3;
    margin: 0.25rem 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-card-hover__meta-desc {
    display: none;
    font-size: 0.72rem;
    color: var(--color-text-body);
    line-height: 1.4;
    margin: 0.3rem 0 0;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* ── Touch devices: no hover overlay, enhanced meta ── */
  @media (hover: none) and (pointer: coarse) {
    .product-card-hover__image-link {
      display: none;
    }

    .product-card-hover__overlay {
      display: none;
    }

    .compare-check {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      aspect-ratio: 1 / 1;
      opacity: 1;
      z-index: 4;
      cursor: pointer;
      display: block;
    }

    .compare-check__box {
      position: absolute;
      top: 0.5rem;
      right: 0.5rem;
      z-index: 5;
    }

    .compare-check:has(.compare-check__input:checked) ~ .product-card-hover .product-card-hover__overlay,
    .compare-check:has(.compare-check__input:checked) ~ .product-card-hover > .product-card-hover__overlay {
      display: flex;
      opacity: 1;
      visibility: visible;
    }

    .compare-check:has(.compare-check__input:checked) ~ .product-card-hover .product-card-hover__overlay-content {
      display: none;
    }

    .product-card-hover__meta {
      padding: clamp(0.6rem, 2vw, 0.9rem);
    }

    .product-card-hover__meta-title {
      font-size: clamp(0.78rem, 0.7rem + 0.3vw, 0.88rem);
    }

    .product-card-hover__meta-cat {
      font-size: clamp(0.62rem, 0.55rem + 0.2vw, 0.7rem);
    }

    .product-card-hover__meta-desc {
      display: -webkit-box;
    }

    .product-card-hover__meta::after {
      content: '\2192';
      display: inline-block;
      margin-left: 0.3rem;
      font-size: 0.8rem;
      color: var(--color-text-muted);
      transition: transform 0.2s;
    }

    .product-card-hover:active .product-card-hover__meta::after {
      transform: translateX(3px);
    }
  }

  /* ── Hide overlay title/desc at smaller card sizes ── */
  @media (max-width: 1024px) {
    .product-card-hover__overlay .product-card-hover__title {
      display: none;
    }

    .product-card-hover__overlay .product-card-hover__desc {
      display: none;
    }
  }

  .collection-grid__empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 4rem 1rem;
    color: var(--color-text-body);
  }

  /* ── Pagination ── */
  .collection-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border);
  }

  .collection-pagination__arrow {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--color-border);
    background: transparent;
    cursor: pointer;
    color: var(--color-text-dark);
    transition: all 0.2s;
    text-decoration: none;
  }

  .collection-pagination__arrow:hover {
    background: var(--color-text-dark);
    color: #fff;
    border-color: var(--color-text-dark);
  }

  .collection-pagination__arrow--disabled {
    opacity: 0.25;
    pointer-events: none;
  }

  .collection-pagination__indicator {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--color-text-body);
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    gap: 0.15rem;
  }

  .collection-pagination__current {
    color: var(--color-text-dark);
    font-weight: 600;
  }

  .collection-pagination__divider {
    color: var(--color-border);
    margin: 0 0.1rem;
  }

  .collection-pagination__total {
    color: var(--color-text-body);
  }

  /* ── Mobile bar ── */
  .collection-mobile-bar {
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }

  .collection-mobile-bar__search {
    display: flex;
    flex: 1;
    min-width: 0;
    gap: 0;
  }

  .collection-mobile-bar__input {
    flex: 1;
    min-width: 0;
    padding: 0.55rem 0.75rem;
    font-size: 0.82rem;
    font-family: inherit;
    color: var(--color-text-dark);
    background: rgba(0,0,0,0.04);
    border: 1px solid var(--color-border);
    border-right: none;
    border-radius: 6px 0 0 6px;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
  }

  .collection-mobile-bar__input::-webkit-search-decoration,
  .collection-mobile-bar__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
  }

  .collection-mobile-bar__input::placeholder {
    color: var(--color-text-body);
  }

  .collection-mobile-bar__reset {
    flex-shrink: 0;
    padding: 0.55rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #fff;
    background: var(--color-text-dark);
    border: none;
    border-radius: 0 6px 6px 0;
    cursor: pointer;
    white-space: nowrap;
  }

  .collection-mobile-bar__filter {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--color-text-dark);
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    cursor: pointer;
    font-family: inherit;
  }

  /* ── Sidebar close button ── */
  .collection-sidebar__close {
    display: none;
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    padding: 0.25rem;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--color-text-dark);
    opacity: 0.6;
  }

  .collection-sidebar__close:hover {
    opacity: 1;
  }

  /* ── Drawer backdrop ── */
  .collection-drawer-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.3);
    z-index: 190;
  }

  /* ── Responsive ── */
  @media (max-width: 1200px) {
    .collection-grid {
      grid-template-columns: repeat(4, 1fr);
    }
    .collection-sidebar {
      flex: 0 0 210px;
    }
  }

  @media (max-width: 1050px) {
    .collection-layout {
      flex-direction: column;
    }

    .collection-sidebar {
      position: fixed;
      top: 0;
      left: 0;
      width: 300px;
      max-width: 85vw;
      height: 100vh;
      max-height: 100vh;
      flex: auto;
      z-index: 200;
      background: #fff;
      padding: 1.25rem;
      padding-top: 3.5rem;
      overflow-y: auto;
      transform: translateX(-100%);
      box-shadow: 2px 0 20px rgba(0,0,0,0.1);
    }

    .collection-sidebar.is-drawer-open {
      transform: translateX(0);
      transition: transform 0.3s ease;
    }

    .collection-sidebar__close {
      display: block;
    }

    .collection-drawer-backdrop.is-visible {
      display: block;
    }

    .collection-mobile-bar {
      display: flex;
    }

    .collection-sidebar__search {
      display: none;
    }

    .collection-grid {
      grid-template-columns: repeat(3, 1fr);
    }

    .collection-sidebar__section-scroll {
      max-height: none;
    }
  }

  @media (max-width: 640px) {
    .collection-grid {
      grid-template-columns: repeat(2, 1fr);
    }
    .collection-pagination {
      gap: 0.5rem;
    }
  }

  /* ── Compare checkbox on product cards ── */
  .collection-product-wrap {
    position: relative;
  }
  .compare-check {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 5;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.2s;
  }
  .collection-product-wrap:hover .compare-check,
  .compare-check__input:checked ~ .compare-check__box,
  .compare-check:has(.compare-check__input:checked) {
    opacity: 1;
  }
  .compare-check__input:checked + .compare-check__box {
    opacity: 1;
  }
  .compare-check__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  .compare-check__box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 2px solid #D2D2D7;
    border-radius: 6px;
    background: #fff;
    transition: all 0.2s;
  }
  .compare-check__box::after {
    content: '';
    display: none;
    width: 12px;
    height: 12px;
    background: #0071e3;
    border-radius: 3px;
    transform: scale(0);
    transition: transform 0.15s;
  }
  .compare-check__input:checked + .compare-check__box {
    border-color: #0071e3;
  }
  .compare-check__input:checked + .compare-check__box::after {
    display: block;
    transform: scale(1);
  }

  /* ── Compare tray ── */
  .compare-tray {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    border-top: 1px solid #e5e7eb;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.12);
    transform: translateY(100%);
    transition: transform 0.3s ease;
    padding: 1rem 0;
  }
  .compare-tray--visible {
    transform: translateY(0);
  }
  .compare-tray__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    gap: 2rem;
  }
  .compare-tray__slots {
    display: flex;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
  }
  .compare-tray__slot {
    flex: 0 0 auto;
    min-width: 80px;
    max-width: 200px;
    height: 80px;
    border-radius: 8px;
    background: #F5F5F7;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.65rem;
    overflow: hidden;
    position: relative;
    border: 1px solid transparent;
    transition: border-color 0.2s;
  }
  .compare-tray__slot:hover {
    border-color: #D2D2D7;
  }
  .compare-tray__slot--empty {
    justify-content: center;
    border: 1px dashed #D2D2D7;
  }
  .compare-tray__slot--empty::after {
    content: '+';
    font-size: 1.5rem;
    color: #D2D2D7;
    font-weight: 300;
  }
  .compare-tray__slot img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 4px;
    background: #fff;
  }
  .compare-tray__slot-name {
    font-size: 0.7rem;
    font-weight: 600;
    color: #1d1d1f;
    line-height: 1.3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-word;
  }
  .compare-tray__slot-remove {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #1d1d1f;
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 0.65rem;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    opacity: 0;
    transition: opacity 0.15s;
  }
  .compare-tray__slot:hover .compare-tray__slot-remove {
    opacity: 1;
  }
  .compare-tray__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
  }
  .compare-tray__clear {
    padding: 0.65rem 1.25rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #1d1d1f;
    background: transparent;
    border: 1px solid #D2D2D7;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.2s, background 0.2s;
  }
  .compare-tray__clear:hover {
    border-color: #1d1d1f;
    background: rgba(0,0,0,0.03);
  }
  .compare-tray__go {
    display: inline-flex;
    align-items: center;
    padding: 0.65rem 1.5rem;
    background: #1d1d1f;
    color: #fff;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    font-family: inherit;
    transition: background 0.2s;
    white-space: nowrap;
  }
  .compare-tray__go:hover { background: #333; color: #fff; }

  @media (max-width: 1024px) {
    .compare-tray__slot {
      width: 80px;
      flex: 0 0 80px;
      min-width: 80px;
      max-width: 80px;
      justify-content: center;
      padding: 0.5rem;
      gap: 0;
    }
    .compare-tray__slot img {
      width: 100%;
      height: 100%;
    }
    .compare-tray__slot-name {
      display: none;
    }
  }

  @media (max-width: 749px) {
    .compare-tray__inner { flex-direction: column; gap: 0.75rem; padding: 0 1rem; }
    .compare-tray__slot { width: 64px; height: 64px; flex: 0 0 64px; min-width: 64px; max-width: 64px; }
    .compare-tray__actions { width: 100%; justify-content: space-between; }
  }
/* END_SECTION:collection */

/* START_SECTION:collections (INDEX:11) */
.collections {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--collection-card-size), 100%), 1fr));
    gap: var(--grid-gap);
  }
  .collections--compact {
    --collection-card-size: 160px;
  }
  .collections--full {
    --collection-card-size: 280px;
  }
  .collection-card {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
/* END_SECTION:collections */

/* START_SECTION:compare-page (INDEX:12) */
.compare-page table {
    width:100%;
    border-collapse:collapse;
    font-size:0.8125rem;
    min-width:600px;
    border:1px solid #D2D2D7;
    border-radius:12px;
    overflow:hidden;
  }
  .compare-page th {
    padding:1.25rem 1rem 1rem;
    text-align:center;
    vertical-align:top;
    background:#F5F5F7;
    border-bottom:1px solid #D2D2D7;
    border-left:1px solid #D2D2D7;
  }
  .compare-page th:first-child {
    background:#F5F5F7;
    text-align:left;
    font-weight:500;
    color:#86868B;
    font-size:0.75rem;
    min-width:140px;
    border-left:none;
  }
  .compare-page th img {
    display:block;
    max-width:160px;
    height:auto;
    margin:0 auto 0.75rem;
    object-fit:contain;
  }
  .compare-page th .cp-name {
    display:block;
    font-size:0.85rem;
    font-weight:600;
    color:#1d1d1f;
    margin-bottom:0.5rem;
  }
  .compare-page th .cp-remove {
    font-size:0.75rem;
    color:#86868B;
    cursor:pointer;
    background:none;
    border:none;
    text-decoration:underline;
    padding:0;
  }
  .compare-page td {
    padding:0.7rem 1rem;
    text-align:center;
    border-bottom:1px solid #D2D2D7;
    border-left:1px solid #D2D2D7;
    color:#1d1d1f;
    line-height:1.4;
  }
  .compare-page td:first-child {
    text-align:left;
    font-weight:500;
    color:#86868B;
    font-size:0.8rem;
    background:rgba(0,0,0,0.015);
    border-left:none;
  }
  .compare-page tr:nth-child(even) td { background:rgba(0,0,0,0.01); }
  .compare-page tr:nth-child(even) td:first-child { background:rgba(0,0,0,0.02); }
  @media (max-width:749px) {
    .compare-page th img { max-width:90px; }
    .compare-page th .cp-name { font-size:0.7rem; }
    .compare-page td { font-size:0.75rem; padding:0.5rem 0.75rem; }
  }
/* END_SECTION:compare-page */

/* START_SECTION:contact-form (INDEX:13) */
/* =============================================
     Container — 1260px max, consistent with all sections
     ============================================= */
  .contact-form-section__container {
    max-width: 1260px;
    margin-inline: auto;
    padding-inline: 2rem;
  }
  .contact-form-section .section-spacing {
    padding-block: 100px;
  }

  /* =============================================
     SPLIT LAYOUT
     ============================================= */
  .contact-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  @media (min-width: 900px) {
    .contact-split {
      grid-template-columns: 1.1fr 0.9fr;
      gap: 5rem;
    }
  }

  /* --- Info sidebar --- */
  .contact-split__info {
    padding: 2.5rem 2rem;
    background: #F5F5F7;
    border-radius: 20px;
    height: fit-content;
  }

  .contact-split__info-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1d1d1f;
    margin: 0 0 1.75rem;
    letter-spacing: -0.01em;
  }

  .contact-info-cards {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .contact-info-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
  }

  .contact-info-card__icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border-radius: 12px;
    flex-shrink: 0;
    color: #1d1d1f;
  }

  .contact-info-card__icon svg {
    width: 18px;
    height: 18px;
  }

  .contact-info-card__label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #86868B;
    margin-bottom: 0.2rem;
  }

  .contact-info-card__text {
    font-size: 0.92rem;
    color: #1d1d1f;
    line-height: 1.5;
    margin: 0;
  }

  .contact-info-card__link {
    color: #1d1d1f;
    text-decoration: none;
    transition: opacity 0.2s;
  }

  .contact-info-card__link:hover {
    opacity: 0.6;
  }

  .contact-info-hours {
    padding-top: 1.5rem;
    border-top: 1px solid #E5E5EA;
  }

  /* =============================================
     CENTERED LAYOUT
     ============================================= */
  .contact-centered {
    max-width: 720px;
    margin-inline: auto;
    text-align: center;
  }

  .contact-centered__form {
    margin-top: 2.5rem;
    text-align: left;
  }

  /* =============================================
     FORM FIELDS (shared)
     ============================================= */
  .contact-fields {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }

  .contact-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }

  .contact-field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }

  .contact-field__label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #1d1d1f;
    letter-spacing: -0.01em;
  }

  .contact-field__label .required-star {
    color: #FF3B30;
    margin-left: 0.15rem;
  }

  .contact-field__input {
    padding: 0.85rem 1rem;
    font-size: 0.92rem;
    font-family: inherit;
    color: #1d1d1f;
    background: #F5F5F7;
    border: 1.5px solid transparent;
    border-radius: 12px;
    outline: none;
    width: 100%;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
  }

  .contact-field__input::placeholder {
    color: #B0B0B5;
  }

  .contact-field__input:hover {
    background: #EEEEF0;
  }

  .contact-field__input:focus {
    background: #FFFFFF;
    border-color: #1d1d1f;
    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.04);
  }

  .contact-field__input--select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%2386868B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.75rem;
    cursor: pointer;
  }

  .contact-field__textarea {
    resize: vertical;
    min-height: 130px;
  }

  /* --- Submit button --- */
  .contact-submit {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.5rem;
  }

  .contact-submit__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex: 7;
    min-width: 0;
    padding: 0.95rem 1.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: inherit;
    color: #FFFFFF;
    background: #1d1d1f;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    letter-spacing: -0.01em;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  }

  .contact-submit__btn:hover {
    background: #000000;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  }

  .contact-submit__btn:active {
    transform: scale(0.985);
  }

  .contact-submit__arrow {
    transition: transform 0.2s;
  }

  .contact-submit__btn:hover .contact-submit__arrow {
    transform: translateX(3px);
  }

  /* --- Success state --- */
  .contact-success {
    text-align: center;
    padding: 3rem 1rem;
  }

  .contact-success__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #ECFDF5;
    margin-bottom: 1.25rem;
  }

  .contact-success__text {
    font-size: 1.05rem;
    font-weight: 500;
    color: #1d1d1f;
    line-height: 1.5;
  }

  /* --- Error state --- */
  .contact-errors {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    background: #FEF2F2;
    border: 1px solid #FECACA;
    border-radius: 10px;
    color: #DC2626;
    font-size: 0.85rem;
  }

  /* =============================================
     RESPONSIVE
     ============================================= */
  @media (max-width: 640px) {
    .contact-form-section__container {
      padding-inline: 1.25rem;
    }
    .contact-form-section .section-spacing {
      padding-block: 64px;
    }
    .contact-field-row {
      grid-template-columns: 1fr;
    }
    .contact-split__info {
      padding: 2rem 1.5rem;
    }
  }
/* END_SECTION:contact-form */

/* START_SECTION:cta-banner (INDEX:14) */
.cta-banner__container {
    max-width: 1260px;
    padding-inline: 2rem;
  }

  .cta-banner__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
  }

  .cta-banner__text {
    max-width: 480px;
  }

  .cta-banner__heading {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.15;
    margin-bottom: 0.75rem;
    letter-spacing: -0.02em;
  }

  .cta-banner__description {
    font-size: 0.95rem;
    color: #86868B;
    line-height: 1.6;
    margin-bottom: 1.5rem;
  }

  .cta-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .cta-banner__media {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .cta-banner__illustration {
    width: 100%;
    max-width: 420px;
    height: auto;
  }

  @media (max-width: 768px) {
    .cta-banner__grid {
      grid-template-columns: 1fr;
      gap: 2rem;
      text-align: center;
    }
    .cta-banner__text {
      max-width: 100%;
    }
    .cta-banner__actions {
      justify-content: center;
    }
    .cta-banner__illustration {
      max-width: 240px;
    }
  }
/* END_SECTION:cta-banner */

/* START_SECTION:custom-section (INDEX:15) */
.custom-section {
    position: relative;
    overflow: hidden;
    width: 100%;
  }
  .custom-section__background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
  }
  .custom-section__background img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .custom-section__content {
    display: grid;
    grid-template-columns: var(--content-grid);
  }
  .custom-section__content > * {
    grid-column: 2;
  }
/* END_SECTION:custom-section */

/* START_SECTION:footer (INDEX:16) */
.site-footer .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }

  .site-footer {
    background-color: #0A0A0A;
    color: var(--color-text-secondary);
    padding: 5rem 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }

  .site-footer__grid {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
  }

  .site-footer__col--brand {
    flex: 0 0 240px;
  }

  /* ── Middle waterfall area ── */
  .site-footer__nav-area {
    flex: 1;
    min-width: 0;
  }

  @media (min-width: 768px) {
    .site-footer__nav-area {
      column-count: 3;
      column-gap: 2rem;
    }
    .site-footer__nav-area .site-footer__col--nav {
      break-inside: avoid;
      margin-bottom: 2rem;
    }
  }

  @media (min-width: 1024px) {
    .site-footer__nav-area {
      column-count: 3;
      column-gap: 2.5rem;
    }
    .site-footer__nav-area .site-footer__col--nav {
      margin-bottom: 2.5rem;
    }
  }

  .site-footer__col--contact {
    flex: 0 0 220px;
  }

  .site-footer__logo {
    display: inline-block;
    margin-bottom: 1rem;
  }

  .site-footer__logo-img {
    width: 140px;
    height: auto;
  }

  .site-footer__desc {
    font-size: 0.8125rem;
    line-height: 1.65;
    color: rgba(255,255,255,0.55);
    margin-bottom: 1.25rem;
  }

  .site-footer__social {
    display: flex;
    gap: 0.85rem;
  }

  .site-footer__social a {
    display: flex;
    align-items: center;
    color: rgba(255,255,255,0.5);
    transition: color 0.2s;
  }

  .site-footer__social a:hover {
    color: #fff;
  }

  .site-footer__heading {
    font-family: var(--font-heading--family);
    font-size: 0.75rem;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 1.125rem;
  }

  .site-footer__links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .site-footer__links a {
    font-size: 0.8125rem;
    color: rgba(255,255,255,0.55);
    transition: color 0.2s;
  }

  .site-footer__links a:hover {
    color: #fff;
  }

  /* --- Sub-headings inside link columns --- */
  .site-footer__link-group {
    margin-bottom: 0.875rem;
  }

  .site-footer__link-group:last-child {
    margin-bottom: 0;
  }

  .site-footer__subheading {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: rgba(255,255,255,0.7);
    margin-bottom: 0.45rem;
  }

  .site-footer__subheading--link {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    transition: color 0.2s;
  }

  .site-footer__subheading--link:hover {
    color: #fff;
  }

  .site-footer__sublinks {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
  }

  .site-footer__sublinks a {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.4);
    text-decoration: none;
    transition: color 0.2s;
  }

  .site-footer__sublinks a:hover {
    color: rgba(255,255,255,0.75);
  }

  .site-footer__contact li {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.8125rem;
    color: rgba(255,255,255,0.55);
  }

  .site-footer__contact svg {
    flex-shrink: 0;
    margin-top: 0.2rem;
  }

  .site-footer__contact a {
    color: var(--color-text-secondary);
    white-space: nowrap;
  }

  .site-footer__contact a:hover {
    color: var(--color-text-primary);
  }

  /* Newsletter */
  .site-footer__newsletter {
    margin-top: 1.5rem;
    border-top: 1px solid var(--color-border-light);
    padding-top: 1.5rem;
  }

  .site-footer__newsletter-desc {
    font-size: 0.8125rem;
    color: rgba(255,255,255,0.55);
    margin-bottom: 0.75rem;
  }

  .site-footer__newsletter-form {
    display: flex;
    gap: 0;
    min-width: 0;
  }

  .site-footer__newsletter-input {
    flex: 1;
    min-width: 0;
    padding: 0.65rem 0.85rem;
    font-size: 0.85rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--color-border-light);
    border-right: none;
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
    color: var(--color-text-primary);
    outline: none;
    transition: border-color 0.2s;
  }

  .site-footer__newsletter-input:focus {
    border-color: rgba(255, 255, 255, 0.5);
  }

  .site-footer__newsletter-btn {
    flex-shrink: 0;
    padding: 0.65rem 1.1rem;
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    border: none;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    cursor: pointer;
    transition: background-color 0.2s;
  }

  .site-footer__newsletter-btn:hover {
    background: rgba(255, 255, 255, 0.22);
  }

  .site-footer__newsletter-success {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: #34D399;
  }

  .site-footer__newsletter-error {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: #F87171;
  }

  /* Bottom bar */
  .site-footer__bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-top: 4rem;
    padding: 1.5rem 0;
    border-top: 1px solid var(--color-border-light);
  }

  .site-footer__copyright {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.4);
  }

  .site-footer__bottom-links {
    display: flex;
    gap: 1.5rem;
  }

  .site-footer__bottom-links a {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.4);
    transition: color 0.2s;
  }

  .site-footer__bottom-links a:hover {
    color: rgba(255,255,255,0.7);
  }

  /* Responsive */
  @media (min-width: 1024px) {
    .site-footer__grid {
      gap: 2.5rem;
    }
  }

  @media (min-width: 768px) {
    .site-footer__bottom {
      flex-direction: row;
      justify-content: space-between;
    }
  }

  @media (max-width: 1023px) {
    .site-footer .container {
      padding-inline: 1.25rem;
    }
    .site-footer__grid {
      flex-direction: column;
      gap: 0;
      align-items: stretch;
    }
    .site-footer__col--brand,
    .site-footer__col--contact,
    .site-footer__nav-area,
    .site-footer__nav-area .site-footer__col--nav {
      flex: 0 0 auto !important;
      max-width: none;
      width: 100%;
    }
    .site-footer__nav-area {
      column-count: 1;
    }
    .site-footer__nav-area .site-footer__col--nav {
      margin-bottom: 0;
    }
  }

  /* ── Accordion ── */
  .site-footer__accordion-toggle {
    background: none;
    border: none;
    cursor: default;
    text-align: left;
    font-family: inherit;
    padding: 0;
    width: auto;
  }
  .site-footer__accordion-icon {
    display: none;
  }

  @media (max-width: 1023px) {
    .site-footer__accordion-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      cursor: pointer;
      padding: 0.95rem 0;
      margin-bottom: 0;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .site-footer__accordion-toggle:hover {
      color: #fff;
    }
    .site-footer__accordion-icon {
      display: block;
      transition: transform 0.25s ease;
      flex-shrink: 0;
      color: rgba(255,255,255,0.5);
    }
    .site-footer__accordion-toggle[aria-expanded="true"] .site-footer__accordion-icon {
      transform: rotate(180deg);
    }
    .site-footer__accordion-body {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease, padding 0.35s ease;
    }
    .site-footer__accordion-body[data-open] {
      max-height: 600px;
      padding-bottom: 0.5rem;
    }
    .site-footer__links {
      gap: 0.75rem;
    }
    .site-footer__links a {
      display: block;
      padding: 0.35rem 0;
      font-size: 0.875rem;
    }
    .site-footer__col--brand .site-footer__accordion-body {
      max-height: none;
      overflow: visible;
    }
  }
/* END_SECTION:footer */

/* START_SECTION:header (INDEX:17) */
:root {
    --header-h: clamp(3.5rem, 6vw, 5rem);
    --header-max-w: 78.75rem; /* ~1440px */
  }

  /* ========== Header Container ========== */
  .header {
    position: relative;
    z-index: 10;
    width: 100%;
    background-color: #fff;
    color: #333;
    border-bottom: 1px solid #e5e7eb;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  }

  .header--overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }

  .header--transparent {
    background-color: transparent;
    color: #fff;
    border-bottom: 1px solid transparent;
  }

  .header--solid {
    background-color: #fff;
    color: #333;
    border-bottom: 1px solid #e5e7eb;
  }

  /* ========== Header Inner (flex row) ========== */
  .header__inner {
    display: flex;
    align-items: center;
    max-width: var(--header-max-w);
    margin: 0 auto;
    height: var(--header-h);
    padding: 0 1rem;
  }

  /* ========== Brand / Logo ========== */
  .header__brand {
    flex: 1;
    display: flex;
    align-items: center;
  }

  .header__brand a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
  }

  .header__logo-img {
    width: var(--logo-width);
    height: auto;
    max-height: 2.5rem;
    object-fit: contain;
  }

  .header__logo-img--dark {
    display: none;
  }

  .header__logo-img--light {
    display: block;
  }

  .header:not(.header--transparent) .header__logo-img--dark {
    display: block;
  }

  .header:not(.header--transparent) .header__logo-img--light {
    display: none;
  }

  /* ========== Desktop Navigation ========== */
  .header__desktop-nav {
    display: flex;
    height: 100%;
  }

  @media (max-width: 1023px) {
    .header__desktop-nav {
      display: none;
    }

    .header {
      overflow: clip;
    }

    .header__dropdown,
    .header__search-panel {
      display: none !important;
    }
  }

  .header__nav-item {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    border-bottom: 3px solid transparent;
    transition: border-color 0.2s;
    cursor: pointer;
  }

  .header__nav-item:hover {
    border-bottom-color: var(--color-accent);
  }

  .header__nav-item--active {
    border-bottom-color: var(--color-accent);
  }

  .header__nav-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
  }

  .header__nav-item--active > .header__nav-link {
    color: var(--color-accent);
  }

  .header__nav-caret {
    display: inline-flex;
    margin-left: 0.375rem;
    transition: transform 0.2s;
  }

  /* ========== Dropdown Panel ========== */
  .header__dropdown {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 40;
    overflow: hidden;
    background-color: #fff;
    color: #333;
    border-top: 1px solid #e5e7eb;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-2px);
    transition: opacity 0.15s ease-out, transform 0.15s ease-out, visibility 0.15s;
  }

  .header__dropdown.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .header__dropdown-inner {
    max-width: var(--header-max-w);
    margin: 0 auto;
    display: flex;
  }

  /* Sidebar layout (has grandchildren) */
  .header__dropdown-sidebar {
    width: 25%;
    border-right: 1px solid #f3f4f6;
    padding: 1.5rem 1.5rem 1.5rem 0;
  }

  .header__dropdown-sidebar-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    padding: 0.625rem 0.75rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    background: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
    color: #333;
    font-family: inherit;
  }

  .header__dropdown-sidebar-item:hover {
    background-color: #f9fafb;
  }

  .header__dropdown-sidebar-item--active {
    background-color: var(--color-bg-surface);
    color: var(--color-accent);
  }

  .header__dropdown-sidebar-arrow {
    color: #ccc;
  }

  .header__dropdown-sidebar-link {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
    padding: 0.625rem 0.75rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    text-decoration: none;
    color: #333;
    transition: background-color 0.15s, color 0.15s;
  }

  .header__dropdown-sidebar-link:hover {
    background-color: #f9fafb;
    color: var(--color-accent);
  }

  .header__dropdown-main {
    width: 75%;
    padding: 1.5rem 0 1.5rem 2rem;
  }

  .header__dropdown-child-panel {
    display: none;
  }

  .header__dropdown-child-panel.is-active {
    display: block;
  }

  .header__dropdown-child-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 1rem;
  }

  .header__dropdown-child-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
    row-gap: 0.5rem;
  }

  /* Option 1: Featured Card at sidebar bottom — removed */

  .header__dropdown-child-link {
    display: block;
    padding: 0.375rem 0;
    font-size: 0.875rem;
    color: #666;
    text-decoration: none;
    transition: color 0.15s;
  }

  .header__dropdown-child-link:hover {
    color: var(--color-accent);
  }

  .header__dropdown-child-standalone {
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 600;
    color: #333;
    text-decoration: none;
    transition: color 0.15s;
  }

  .header__dropdown-child-standalone:hover {
    color: var(--color-accent);
  }

  /* Simple grid (no grandchildren) */
  .header__dropdown-simple {
    width: 100%;
    padding: 2rem;
  }

  .header__dropdown-simple-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }

  .header__dropdown-simple-link {
    display: block;
    color: #333;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.15s;
  }

  .header__dropdown-simple-link:hover {
    color: var(--color-accent);
  }

  /* ========== Action Buttons (search, locale, mobile toggle) ========== */
  .header__actions {
    flex: 1;
    display: flex;
    justify-content: flex-end;
  }

  .header__actions-desktop {
    display: flex;
    align-items: center;
    gap: 1.25rem;
  }

  @media (max-width: 1023px) {
    .header__actions-desktop {
      display: none;
    }
  }

  .header__action-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    padding: 0;
    transition: color 0.15s;
    font-family: inherit;
  }

  .header__action-btn:hover {
    color: var(--color-accent);
  }

  .header__action-icon {
    display: inline-flex;
    color: currentColor;
  }

  .header__action-locale {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.875rem;
    color: inherit;
    padding: 0;
    transition: color 0.15s;
    font-family: inherit;
  }

  .header__action-locale:hover {
    color: var(--color-accent);
  }

  .header__mobile-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: inherit;
  }

  @media (max-width: 1023px) {
    .header__mobile-toggle {
      display: inline-flex;
    }
  }

  /* ========== Search Panel ========== */
  .header__search-panel {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 40;
    background-color: #fff;
    color: #333;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
    transition: opacity 0.2s ease-out, transform 0.2s ease-out, visibility 0.2s;
  }

  .header__search-panel.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .header__search-inner {
    max-width: var(--header-max-w);
    margin: 0 auto;
    padding: 2.5rem 2rem;
  }

  .header__search-form {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 2.5rem;
  }

  .header__search-input-wrap {
    flex: 1;
    position: relative;
  }

  .header__search-input-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    pointer-events: none;
  }

  .header__search-input {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 3rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    color: #333;
    outline: none;
    transition: border-color 0.15s;
    font-family: inherit;
  }

  .header__search-input:focus {
    border-color: var(--color-accent);
  }

  .header__search-submit {
    padding: 0.75rem 2rem;
    background-color: var(--color-accent);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: background-color 0.15s;
    font-family: inherit;
    white-space: nowrap;
  }

  .header__search-submit:hover {
    background-color: var(--color-accent-hover);
  }

  /* Search suggestions */
  .header__search-suggestions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }

  .header__search-suggestions-title {
    font-size: 0.75rem;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
  }

  .header__search-suggestions-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
    row-gap: 0.5rem;
  }

  .header__search-suggestions-link {
    display: block;
    padding: 0.375rem 0;
    font-size: 0.875rem;
    color: #666;
    text-decoration: none;
    transition: color 0.15s;
  }

  .header__search-suggestions-link:hover {
    color: var(--color-accent);
  }

  /* ========== Locale Drawer ========== */
  .header__locale-drawer {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 50;
    background-color: #fff;
    color: #333;
    box-shadow: 0 0 30px rgba(0,0,0,0.15);
    height: 100%;
    overflow-y: auto;
    width: clamp(300px, 30vw, 420px);
    visibility: hidden;
    transform: translateX(100%);
    transition: transform 0.3s ease-out, visibility 0.3s;
  }

  .header__locale-drawer.is-open {
    visibility: visible;
    transform: translateX(0);
  }

  .header__locale-inner {
    padding: 2rem;
  }

  .header__locale-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
  }

  .header__locale-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #333;
  }

  .header__locale-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    transition: color 0.15s;
    font-family: inherit;
  }

  .header__locale-close:hover {
    color: var(--color-accent);
  }

  .header__locale-section {
    margin-bottom: 2rem;
  }

  .header__locale-section-title {
    font-size: 0.75rem;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
  }

  .header__locale-form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .header__locale-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.75rem 1rem;
    border-radius: 0.25rem;
    text-align: left;
    font-size: 0.875rem;
    background: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
    color: #333;
    font-family: inherit;
  }

  .header__locale-option:hover {
    background-color: #f9fafb;
  }

  .header__locale-option--active {
    background-color: var(--color-bg-surface);
    color: var(--color-accent);
    font-weight: 500;
  }

  /* ========== Divider Line ========== */
  .header__divider {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #f3f4f6;
    pointer-events: none;
    z-index: 50;
    opacity: 0;
    transition: opacity 0.3s;
  }

  .header__divider.is-visible {
    opacity: 1;
  }

  /* ========== Mobile Overlay ========== */
  .header__mobile-overlay {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: none;
    flex-direction: column;
    background-color: #fff;
    color: #333;
  }

  .header__mobile-overlay.is-open {
    display: flex;
  }

  .header__mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    flex-shrink: 0;
  }

  .header__mobile-brand {
    display: inline-flex;
    align-items: center;
  }

  .header__mobile-brand .header__logo-img {
    width: var(--logo-width);
    height: auto;
    max-height: 2rem;
    object-fit: contain;
  }

  .header__mobile-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    color: inherit;
    font-family: inherit;
  }

  /* Mobile navigation */
  .header__mobile-nav {
    flex: 1;
    overflow-y: auto;
    padding: 0 1rem;
  }

  /* ========== Accordion (mobile nav) ========== */
  .header__accordion {
    border-bottom: 1px solid #eee;
  }

  .header__accordion--nested {
    border-bottom: none;
  }

  .header__accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: inherit;
    font-family: inherit;
  }

  .header__accordion-trigger--l1 {
    padding: 1rem 0;
    font-size: 1.125rem;
  }

  .header__accordion-trigger--l2 {
    padding: 0.5rem 0;
    font-size: 1rem;
    color: #666;
  }

  .header__accordion-icon {
    color: #999;
    transition: transform 0.2s;
    display: inline-flex;
  }

  .header__accordion-trigger[aria-expanded="true"] .header__accordion-icon {
    transform: rotate(180deg);
  }

  .header__accordion-panel {
    display: none;
    overflow: hidden;
  }

  .header__accordion-panel.is-open {
    display: block;
  }

  /* Accordion links */
  .header__accordion-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-decoration: none;
    color: inherit;
  }

  .header__accordion-link--l1 {
    padding: 1rem 0;
    font-size: 1.125rem;
  }

  .header__accordion-link--l2 {
    padding: 0.5rem 0;
    font-size: 1rem;
    color: #666;
  }

  .header__accordion-link--l3 {
    display: block;
    padding: 0.375rem 0;
    font-size: 0.875rem;
    color: #999;
  }

  .header__accordion-link--l3:hover {
    color: var(--color-accent);
  }

  .header__accordion-link-arrow {
    color: #999;
    transform: rotate(-90deg);
    display: inline-flex;
  }

  /* Level 1 panel padding */
  .header__accordion > .header__accordion-panel {
    padding-bottom: 0.5rem;
    padding-left: 1rem;
  }

  /* Level 2 panel padding */
  .header__accordion--nested > .header__accordion-panel {
    padding-bottom: 0.25rem;
    padding-left: 1rem;
  }

  /* ========== Mobile Footer ========== */
  .header__mobile-footer {
    padding: 1.5rem 1rem;
    border-top: 1px solid #eee;
    flex-shrink: 0;
  }

  .header__mobile-footer-text {
    font-size: 0.875rem;
    color: #666;
  }

  /* ========== Dropdown Backdrop (below dropdown, above content) ========== */
  .header__dropdown-backdrop {
    position: fixed;
    top: var(--header-h);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
  }

  .header__dropdown-backdrop.is-visible {
    opacity: 1;
  }

  /* ========== Backdrop overlay for locale drawer ========== */
  .header__backdrop {
    position: fixed;
    inset: 0;
    z-index: 45;
    background-color: rgba(0,0,0,0.3);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
  }

  .header__backdrop.is-open {
    visibility: visible;
    opacity: 1;
  }
/* END_SECTION:header */

/* START_SECTION:hello-world (INDEX:18) */
.welcome {
    display: grid;
    grid-template-columns: var(--content-grid);
    background-color: #f6f6f7;
    padding: 72px 0;
  }

  .welcome-content {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 0 24px;
  }

  .welcome-description {
    max-width: 80ch;
    line-height: 1.4;
    margin-top: 1.5rem;
  }

  .icon {
    width: 300px;
  }

  .highlights {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
  }

  @media (max-width: 1100px) {
    .highlights {
      grid-template-columns: 1fr;
    }
  }

  .highlight {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    border-radius: 8px;
    background-color: #eef3ff;
    color: rgb(92, 95, 98);
    line-height: 1.4;
  }

  .highlight > * + * {
    margin-top: 1rem;
  }

  .highlight h3 {
    font-size: 1rem;
    color: rgb(32, 34, 35);
  }

  .highlight-description {
    flex: 1 1;
  }

  .highlight a {
    display: flex;
    width: fit-content;
    background-color: rgb(250, 251, 251);
    box-shadow: rgba(0, 0, 0, 0.2) 0px -3px 0px 0px inset, rgba(255, 255, 255, 0.9) 0px 2px 0px 0px inset;
    border: 1px solid rgb(140, 145, 150);
    border-radius: 4px;
    color: rgb(92, 95, 98);
    padding: 3px 10px 5px;
    text-decoration: none;
  }
/* END_SECTION:hello-world */

/* START_SECTION:hero-banner (INDEX:19) */
.hero-banner { position: relative; display: flex; align-items: flex-start; min-height: var(--hero-min-height, 85svh); overflow: hidden; background-color: #000; }
  .hero-banner__slide { background-color: var(--slide-bg, #000); }
  .hero-banner__slide { position: absolute; inset: 0; opacity: 0; transform: translateX(60px); transition: opacity 0.8s ease, transform 0.8s ease; pointer-events: none; }
  .hero-banner__slide--active { opacity: 1; transform: translateX(0); pointer-events: auto; }
  .hero-banner__slide--exit-left { opacity: 0; transform: translateX(-60px); }
  .hero-banner__slide--exit-right { opacity: 0; transform: translateX(60px); }

  .hero-banner__bg { position: absolute; inset: 0; z-index: 0; }
  .hero-banner__image, .hero-banner__video { position: absolute; width: 100%; height: 100%; object-fit: cover; }
  .hero-banner__overlay { position: absolute; inset: 0; }
  .hero-banner__content { position: relative; z-index: 1; padding-top: 22vh; padding-bottom: 5vh; }
  .hero-banner__text { max-width: 720px; }
  .hero-banner__tagline { display: inline-block; font-size: clamp(0.65rem, 1.2vw, 0.75rem); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.7); margin-bottom: clamp(0.75rem, 1.5vw, 1.25rem); }
  .hero-banner__heading { font-size: clamp(2.25rem, 5.5vw, 4.5rem); font-weight: 700; color: #fff; line-height: 1.05; margin-bottom: clamp(1rem, 2vw, 1.5rem); letter-spacing: -0.02em; }
  .hero-banner__description { font-size: clamp(0.95rem, 1.6vw, 1.2rem); color: rgba(255,255,255,0.7); line-height: 1.7; max-width: 560px; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
  .hero-banner__actions { display: flex; flex-wrap: wrap; gap: clamp(0.75rem, 1.5vw, 1rem); }

  /* Dots */
  .hero-banner__dots { position: absolute; bottom: 5rem; left: 50%; transform: translateX(-50%); z-index: 2; display: flex; gap: 0.75rem; }
  .hero-banner__dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.3); border: none; cursor: pointer; transition: background 0.3s, transform 0.3s; padding: 0; }
  .hero-banner__dot--active { background: #fff; transform: scale(1.3); }

  /* Arrows */
  .hero-banner__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); border-radius: 50%; color: #fff; cursor: pointer; opacity: 0; transition: opacity 0.3s, background 0.3s; backdrop-filter: blur(8px); }
  .hero-banner:hover .hero-banner__arrow { opacity: 1; }
  .hero-banner__arrow:hover { background: rgba(255,255,255,0.18); }
  .hero-banner__arrow--prev { left: 1.5rem; }
  .hero-banner__arrow--next { right: 1.5rem; }

  .hero-banner__scroll-indicator { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); z-index: 1; width: 24px; height: 40px; border: 2px solid rgba(255,255,255,0.3); border-radius: 12px; display: flex; justify-content: center; padding-top: 8px; }
  .hero-banner__scroll-indicator span { width: 4px; height: 8px; background: rgba(255,255,255,0.5); border-radius: 2px; animation: heroScrollPulse 1.6s ease-in-out infinite; }
  @keyframes heroScrollPulse { 0%, 100% { transform: translateY(0); opacity: 0.3; } 50% { transform: translateY(8px); opacity: 1; } }

  @media (max-width: 768px) {
    .hero-banner { min-height: 80svh; }
    .hero-banner__content { padding-top: 18vh; padding-bottom: 4vh; }
    .hero-banner__actions { flex-direction: column; align-items: flex-start; }
    .hero-banner__scroll-indicator { display: none; }
    .hero-banner__dots { bottom: 2rem; }
    .hero-banner__arrow { display: none; }
  }
/* END_SECTION:hero-banner */

/* START_SECTION:partners-cities (INDEX:21) */
.partners-cities .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .partners-cities .section-spacing {
    padding-block: 100px;
  }

  .partners-cities__map-wrap {
    margin-top: 3rem;
    margin-bottom: 3rem;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
  }

  .partners-cities__map {
    width: 100%;
    height: auto;
    display: block;
  }

  @media (max-width: 640px) {
    .partners-cities__map-wrap {
      margin-top: 2rem;
      margin-bottom: 0;
      border-radius: 12px;
    }
  }
/* END_SECTION:partners-cities */

/* START_SECTION:partners-investment (INDEX:22) */
.partners-investment .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .partners-investment .section-spacing {
    padding-block: 100px;
  }

  .partners-investment__collage-wrap {
    margin-top: 3rem;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
  }

  .partners-investment__collage {
    width: 100%;
    height: auto;
    display: block;
  }

  @media (max-width: 640px) {
    .partners-investment__collage-wrap {
      margin-top: 2rem;
      border-radius: 12px;
    }
  }
/* END_SECTION:partners-investment */

/* START_SECTION:product-showcase (INDEX:24) */
/* .product-showcase .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .product-showcase .section-spacing {
    padding-block: 120px;
  } */
  .product-showcase {
    background-color: var(--color-bg-primary);
  }

  /* --- Top bar --- */
  .product-showcase__topbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
  }

  .product-showcase__header {
    flex: 1;
    min-width: 280px;
  }

  .product-showcase__tagline {
    font-size: clamp(0.7rem, 0.6rem + 0.3vw, 0.82rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    margin-bottom: 0.5rem;
  }

  .product-showcase__heading {
    font-size: clamp(1.5rem, 1rem + 2.5vw, 2.25rem);
    font-weight: 700;
    color: var(--color-text-dark);
    letter-spacing: -0.02em;
    margin-bottom: 0.4rem;
  }

  .product-showcase__description {
    font-size: clamp(0.82rem, 0.75rem + 0.2vw, 0.95rem);
    color: var(--color-text-body);
    line-height: 1.55;
    max-width: 520px;
    margin: 0;
  }

  /* --- Footer --- */
  .product-showcase__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--color-border);
    flex-wrap: wrap;
  }

  /* --- Pagination (left side) --- */
  .product-showcase__pagination {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }

  .product-carousel__indicator {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--color-text-body);
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    gap: 0.15rem;
  }

  .product-carousel__current {
    color: var(--color-text-dark);
    font-weight: 600;
  }

  .product-carousel__divider {
    color: var(--color-border);
    margin: 0 0.1rem;
  }

  .product-carousel__arrow {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--color-border);
    background: transparent;
    cursor: pointer;
    color: var(--color-text-dark);
    transition: all 0.2s;
  }

  .product-carousel__arrow:hover {
    background: var(--color-text-dark);
    color: #fff;
    border-color: var(--color-text-dark);
  }

  .product-carousel__arrow:disabled {
    opacity: 0.25;
    cursor: default;
    pointer-events: none;
  }

  .product-carousel__arrow:disabled:hover {
    background: transparent;
    color: var(--color-text-dark);
  }

  /* --- View all button --- */
  .product-showcase__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 1.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #fff;
    background: var(--color-text-dark);
    border-radius: 100px;
    text-decoration: none;
    transition: opacity 0.2s, transform 0.2s;
    flex-shrink: 0;
  }

  .product-showcase__btn:hover {
    opacity: 0.85;
    transform: translateY(-1px);
  }

  .product-showcase__btn span {
    transition: transform 0.2s;
  }

  .product-showcase__btn:hover span {
    transform: translateX(3px);
  }

  /* --- Chips --- */
  .product-chips {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    margin-bottom: 1.75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* Scroll shadow: right-side fade when overflow */
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 2rem), transparent 100%);
    mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 2rem), transparent 100%);
  }

  .product-chips::-webkit-scrollbar {
    display: none;
  }

  .product-chips__chip {
    padding: 0.45rem 1rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--color-text-body);
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: 100px;
    cursor: pointer;
    transition: all 0.2s;
    font-family: inherit;
    white-space: nowrap;
    scroll-snap-align: start;
    flex-shrink: 0;
  }

  .product-chips__chip:hover {
    border-color: var(--color-text-dark);
    color: var(--color-text-dark);
  }

  .product-chips__chip--active {
    background: var(--color-text-dark);
    color: #fff;
    border-color: var(--color-text-dark);
  }

  .product-chips__chip--active:hover {
    color: #fff;
  }

  /* --- Panels --- */
  .product-carousel__panel {
    display: none;
  }

  .product-carousel__panel--active {
    display: block;
  }

  /* --- Scrollable track --- */
  .product-showcase__track {
    display: flex;
    gap: 1rem;
    transition: transform 0.45s cubic-bezier(0.25, 0.1, 0.25, 1);
  }

  .product-showcase__track--animating {
    transition: transform 0.45s cubic-bezier(0.25, 0.1, 0.25, 1);
  }

  .product-showcase__track--instant {
    transition: none;
  }

  /* --- Viewport: clipping window for the track --- */
  .product-showcase__viewport {
    overflow: hidden;
  }

  /* --- Card (5 per view) --- */
  .product-card-hover {
    flex: 0 0 calc(20% - 0.8rem);
    min-width: 180px;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    transition: box-shadow 0.3s;
    position: relative;
  }

  .product-card-hover:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  }

  .product-card-hover__link {
    display: block;
    position: relative;
    text-decoration: none;
    color: inherit;
  }

  .product-card-hover__image {
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #F0F0F2;
    position: relative;
  }

  .product-card-hover__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.5s ease;
  }

  .product-card-hover:hover .product-card-hover__img {
    transform: scale(1.06);
  }

  .product-card-hover__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: #F0F0F2;
  }

  .product-card-hover__placeholder svg {
    width: 50%;
    height: 50%;
    opacity: 0.15;
  }

  /* --- Hover overlay --- */
  .product-card-hover__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.78) 100%);
    display: flex;
    align-items: flex-end;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 2;
  }

  .product-card-hover__link:hover .product-card-hover__overlay {
    opacity: 1;
    visibility: visible;
  }

  .product-card-hover__overlay-content {
    padding: 1.25rem;
    width: 100%;
    transform: translateY(8px);
    transition: transform 0.35s ease;
    overflow: hidden;
  }

  .product-card-hover__link:hover .product-card-hover__overlay-content {
    transform: translateY(0);
  }

  .product-card-hover__category {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 0.35rem;
  }

  .product-card-hover__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    margin-bottom: 0.4rem;
  }

  .product-card-hover__desc {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-card-hover__cta {
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: gap 0.25s;
  }

  .product-card-hover__link:hover .product-card-hover__cta {
    gap: 0.65rem;
  }

  /* ── Split layout: overlay direct child of card root ── */
  .product-card-hover > .product-card-hover__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.78) 100%);
    display: flex;
    align-items: flex-end;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 2;
  }

  .product-card-hover:hover > .product-card-hover__overlay {
    opacity: 1;
    visibility: visible;
  }

  .product-card-hover:hover > .product-card-hover__overlay .product-card-hover__overlay-content {
    transform: translateY(0);
  }

  .product-card-hover:hover > .product-card-hover__overlay .product-card-hover__cta {
    gap: 0.65rem;
  }

  /* ── Desktop transparent link covering the image area ── */
  .product-card-hover__image-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    z-index: 3;
  }

  /* --- Visible meta below image --- */
  .product-card-hover__meta {
    padding: 0.8rem 0.9rem 0.9rem;
  }

  .product-card-hover__meta-cat {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-text-muted);
  }

  .product-card-hover__meta-title {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--color-text-dark);
    line-height: 1.3;
    margin: 0.25rem 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-card-hover__meta-desc {
    display: none;
    font-size: 0.72rem;
    color: var(--color-text-body);
    line-height: 1.4;
    margin: 0.3rem 0 0;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* ── Touch devices: meta-desc visible when overlay is hidden ── */
  @media (hover: none) and (pointer: coarse) {
    .product-card-hover__meta-desc {
      display: -webkit-box;
    }
  }

  @media (max-width: 1200px) {
    .product-card-hover {
      flex: 0 0 calc(25% - 0.75rem);
    }
  }

  @media (max-width: 900px) {
    .product-card-hover {
      flex: 0 0 calc(33.333% - 0.67rem);
    }
  }

  @media (max-width: 640px) {
    .product-showcase__topbar {
      gap: 1rem;
    }

    .product-showcase__footer {
      justify-content: center;
      gap: 1rem;
    }

    .product-showcase__heading {
      font-size: 1.5rem;
    }

    .product-chips {
      gap: 0.35rem;
      padding-bottom: 0.5rem;
    }

    .product-chips__chip {
      padding: 0.35rem 0.8rem;
      font-size: 0.73rem;
    }

    .product-card-hover {
      flex: 0 0 calc(50% - 0.5rem);
      min-width: 140px;
    }

    .product-card-hover__meta {
      padding: 0.6rem 0.7rem 0.7rem;
    }
  }

  /* ── Touch devices: no hover, show enhanced meta ── */
  @media (hover: none) and (pointer: coarse) {
    .product-card-hover__image-link {
      display: none;
    }

    .product-card-hover__overlay {
      display: none;
    }

    .product-card-hover__meta {
      padding: clamp(0.6rem, 2vw, 0.9rem);
    }

    .product-card-hover__meta-title {
      font-size: clamp(0.78rem, 0.7rem + 0.3vw, 0.88rem);
    }

    .product-card-hover__meta-cat {
      font-size: clamp(0.62rem, 0.55rem + 0.2vw, 0.7rem);
    }

    .product-card-hover__meta::after {
      content: '→';
      display: inline-block;
      margin-left: 0.3rem;
      font-size: 0.8rem;
      color: var(--color-text-muted);
      transition: transform 0.2s;
    }

    .product-card-hover:active .product-card-hover__meta::after {
      transform: translateX(3px);
    }
  }

  /* ── Overlay text clipping fix ── */
  .product-card-hover__title {
    overflow-wrap: break-word;
    hyphens: auto;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-card-hover__desc {
    overflow-wrap: break-word;
  }
/* END_SECTION:product-showcase */

/* START_SECTION:product-specs (INDEX:25) */
.product-specs {
    background-color: var(--color-bg-surface);
  }

  .product-specs__title {
    font-size: var(--font-size-h3);
    font-weight: 700;
    color: var(--color-text-dark);
    text-align: center;
    margin-bottom: 2rem;
  }

  .product-specs__table {
    max-width: 720px;
    margin-inline: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
  }

  .product-specs__row {
    display: grid;
    grid-template-columns: 240px 1fr;
  }

  .product-specs__row:not(:last-child) {
    border-bottom: 1px solid var(--color-border);
  }

  .product-specs__cell {
    padding: 0.85rem 1.25rem;
    font-size: 0.9rem;
    color: var(--color-text-dark);
  }

  .product-specs__cell--label {
    background: var(--color-bg-secondary);
    font-weight: 600;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-body);
  }

  .product-specs__download {
    text-align: center;
    margin-top: 2rem;
  }

  @media (max-width: 640px) {
    .product-specs__row {
      grid-template-columns: 1fr;
    }
    .product-specs__cell--label {
      border-bottom: 1px solid var(--color-border);
    }
  }
/* END_SECTION:product-specs */

/* START_SECTION:product (INDEX:26) */
/* ── Product Detail Page ── */
  .pd-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: calc(var(--header-h, 4rem) + 1rem) 2rem 0;
    font-family: var(--font-primary--family), -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--color-text-body);
  }

  /* Breadcrumb */
  .pd-breadcrumb {
    padding: 1.25rem 0;
    font-size: 0.8125rem;
    color: var(--color-text-body);
    border-bottom: 1px solid var(--color-border);
  }
  .pd-breadcrumb a {
    color: var(--color-text-dark);
    text-decoration: none;
    transition: opacity 0.2s;
  }
  .pd-breadcrumb a:hover {
    opacity: 0.7;
  }
  .pd-breadcrumb span {
    margin: 0 0.375rem;
    opacity: 0.3;
  }

  /* Main product layout */
  .pd-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    padding: 2.5rem 0 3rem;
    align-items: start;
  }

  /* ── Left: Image gallery ── */
  .pd-gallery {
  }
  .pd-gallery__main {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    cursor: zoom-in;
    position: relative;
    transition: box-shadow 0.2s;
  }
  .pd-gallery__main:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  }
  .pd-gallery__main img {
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
    transition: transform 0.35s ease;
  }
  .pd-gallery__main:hover img {
    transform: scale(1.06);
  }

  .pd-gallery__thumbs {
    display: flex;
    gap: 0.625rem;
    flex-wrap: wrap;
  }
  .pd-gallery__thumb {
    width: 72px;
    height: 72px;
    background: var(--color-bg-surface);
    border: 2px solid var(--color-border);
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s;
  }
  .pd-gallery__thumb:hover,
  .pd-gallery__thumb--active {
    border-color: var(--color-text-dark);
  }
  .pd-gallery__thumb img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
  }

  /* ── Right: Product info ── */
  .pd-info {
  }
  .pd-info__collection {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-body);
    margin-bottom: 0.5rem;
  }
  .pd-info__model {
    font-size: 0.8125rem;
    color: var(--color-text-body);
    margin-bottom: 0.25rem;
  }
  .pd-info__title {
    font-size: clamp(1.5rem, 4vw, 2rem);
    font-weight: 700;
    color: var(--color-text-dark);
    line-height: 1.2;
    margin: 0 0 1.25rem;
    letter-spacing: -0.02em;
  }

  /* Key features */
  .pd-info__features {
    margin-bottom: 1.75rem;
  }
  .pd-info__feature {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    font-size: 0.875rem;
    color: var(--color-text-body);
    line-height: 1.6;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--color-border-light, var(--color-border));
  }
  .pd-info__feature:last-child {
    border-bottom: none;
  }
  .pd-info__feature::before {
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--color-text-dark);
    flex-shrink: 0;
    margin-top: 0.5rem;
  }

  /* Certifications */
  .pd-info__certs {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 1.75rem;
  }
  .pd-info__cert {
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: 100px;
    padding: 0.25rem 0.75rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--color-text-body);
    letter-spacing: 0.04em;
  }

  /* Action buttons */
  .pd-info__actions {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
  }
  .pd-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #0071e3;
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 0.875rem 2rem;
    border-radius: 10px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    flex: 1.3;
    justify-content: center;
    font-family: inherit;
    box-shadow: 0 2px 8px rgba(0, 113, 227, 0.25);
  }
  .pd-btn-primary:hover {
    background: #0066cc;
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 113, 227, 0.35);
  }
  .pd-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: transparent;
    color: var(--color-text-dark);
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid var(--color-border);
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    flex: 1;
    justify-content: center;
    font-family: inherit;
  }
  .pd-btn-outline:hover {
    border-color: var(--color-text-dark);
    background: rgba(0, 0, 0, 0.03);
    text-decoration: none;
    color: var(--color-text-dark);
  }

  /* Assurance bar */
  .pd-info__assurance {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    padding: 1rem 0;
    border-top: 1px solid var(--color-border);
    font-size: 0.75rem;
    color: var(--color-text-body);
  }
  .pd-info__assurance-item {
    display: flex;
    align-items: center;
    gap: 0.35rem;
  }
  .pd-info__assurance-item::before {
    content: '—';
    color: var(--color-text-dark);
    font-weight: 700;
    font-size: 0.7rem;
  }

  /* ── Tabs ── */
  .pd-tabs {
    border-bottom: 1px solid var(--color-border);
    display: flex;
    gap: 0;
    margin-bottom: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .pd-tabs::-webkit-scrollbar {
    display: none;
  }
  .pd-tab {
    padding: 0.875rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--color-text-body);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
    transition: color 0.2s, border-color 0.2s;
    margin-bottom: -1px;
    font-family: inherit;
  }
  .pd-tab:hover {
    color: var(--color-text-dark);
  }
  .pd-tab--active {
    color: var(--color-text-dark);
    border-bottom-color: var(--color-text-dark);
    font-weight: 600;
  }

  .pd-tab-panel {
    display: none;
    padding: 2.5rem 0;
  }
  .pd-tab-panel--active {
    display: block;
  }

  /* ── Specification tab ── */
  .pd-spec-layout {
    display: grid;
    grid-template-columns: 200px 1fr;
    grid-template-rows: 1fr;
    gap: 0;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    overflow: hidden;
    height: 75vh;
  }
  .pd-spec-nav {
    background: var(--color-bg-surface);
    border-right: 1px solid var(--color-border);
    overflow-y: auto;
    min-height: 0;
  }
  .pd-spec-nav-item {
    display: block;
    padding: 0.75rem 1.125rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--color-text-body);
    cursor: pointer;
    border-bottom: 1px solid var(--color-border);
    transition: background 0.15s, color 0.15s;
    text-decoration: none;
  }
  .pd-spec-nav-item:last-child {
    border-bottom: none;
  }
  .pd-spec-nav-item:hover,
  .pd-spec-nav-item--active {
    background: #fff;
    color: var(--color-text-dark);
    font-weight: 600;
  }

  .pd-spec-content {
    background: #fff;
    overflow-y: auto;
    scroll-behavior: smooth;
    min-height: 0;
  }
  .pd-spec-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    font-size: 0.8125rem;
  }
  .pd-spec-content table tr {
    border-bottom: 1px solid var(--color-border);
  }
  .pd-spec-content table tr:last-child {
    border-bottom: none;
  }
  .pd-spec-content table th {
    text-align: left;
    padding: 0.65rem 1.125rem;
    font-weight: 600;
    color: var(--color-text-dark);
    background: #fff;
    width: 36%;
    vertical-align: top;
    border-right: 1px solid var(--color-border);
    font-size: 0.8125rem;
  }
  .pd-spec-content table td {
    padding: 0.65rem 1.125rem;
    color: var(--color-text-body);
    line-height: 1.5;
    background: #fff;
    font-size: 0.8125rem;
  }
  .pd-spec-content h3 {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-dark);
    padding: 0.85rem 1.125rem;
    background: #f0f0f2;
    border-bottom: 1px solid var(--color-border);
    border-left: 3px solid #0071e3;
    margin: 0;
  }
  .pd-spec-overview {
    border-bottom: 1px solid var(--color-border);
  }
  .pd-spec-overview h3 {
    background: #e8f0fe;
  }
  .pd-spec-overview p,
  .pd-spec-overview ul {
    padding: 1rem 1.125rem;
    color: var(--color-text-body);
    font-size: 0.85rem;
    line-height: 1.7;
    margin: 0;
  }
  .pd-spec-content p {
    padding: 1rem 1.125rem;
    color: var(--color-text-body);
    font-size: 0.85rem;
    line-height: 1.7;
    margin: 0;
  }
  .pd-spec-content ul {
    padding: 0.75rem 1.125rem 0.75rem 2.25rem;
    margin: 0;
    color: var(--color-text-body);
    font-size: 0.8125rem;
    line-height: 1.8;
  }

  /* ── Resources tab ── */
  .pd-resources-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .pd-resource-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    transition: border-color 0.2s;
  }
  .pd-resource-item:hover {
    border-color: var(--color-text-dark);
  }
  .pd-resource-icon {
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid var(--color-border);
  }
  .pd-resource-info {
    flex: 1;
    min-width: 0;
  }
  .pd-resource-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-text-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .pd-resource-meta {
    font-size: 0.75rem;
    color: var(--color-text-body);
    margin-top: 0.125rem;
  }
  .pd-resource-download {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: var(--color-text-dark);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.45rem 0.9rem;
    border-radius: 100px;
    text-decoration: none;
    transition: opacity 0.2s;
    flex-shrink: 0;
    white-space: nowrap;
  }
  .pd-resource-download:hover {
    opacity: 0.85;
    color: #fff;
    text-decoration: none;
  }

  /* ── PDF preview modal ── */
  .pd-pdf-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999;
  }
  .pd-pdf-modal.is-open {
    display: block;
  }
  .pd-pdf-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
  }
  .pd-pdf-modal__content {
    position: absolute;
    top: 2rem;
    left: 2rem;
    right: 2rem;
    bottom: 2rem;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    display: flex;
    flex-direction: column;
  }
  .pd-pdf-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
  }
  .pd-pdf-modal__title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-text-dark);
  }
  .pd-pdf-modal__close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--color-text-dark);
    font-size: 1.125rem;
    transition: background 0.15s;
  }
  .pd-pdf-modal__close:hover {
    background: rgba(0,0,0,0.06);
  }
  .pd-pdf-modal__frame {
    flex: 1;
    width: 100%;
    border: none;
  }

  /* ── Image zoom lightbox ── */
  .pd-zoom {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,0.92);
    cursor: zoom-out;
    align-items: center;
    justify-content: center;
    padding: 2rem;
  }
  .pd-zoom--open {
    display: flex;
  }
  .pd-zoom__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: #fff;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    z-index: 1;
  }
  .pd-zoom__close:hover { background: rgba(255,255,255,0.25); }
  .pd-zoom__img {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    cursor: default;
    border-radius: 4px;
  }

  /* Mobile */
  @media screen and (max-width: 749px) {
    .pd-main {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .pd-spec-layout {
      grid-template-columns: 1fr;
    }
    .pd-spec-nav {
      border-right: none;
      border-bottom: 1px solid var(--color-border);
      display: flex;
      overflow-x: auto;
    }
    .pd-spec-nav-item {
      border-bottom: none;
      border-right: 1px solid var(--color-border);
      white-space: nowrap;
      flex-shrink: 0;
    }
    .pd-info__actions {
      flex-direction: column;
    }
    .pd-btn-primary,
    .pd-btn-outline {
      flex: none;
      width: 100%;
    }

    .pd-pdf-modal__content {
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      border-radius: 0;
    }
  }
/* END_SECTION:product */

/* START_SECTION:resources-download (INDEX:27) */
.resources-download { border-top: 1px solid rgba(0,0,0,0.05); }
  .resources-download__wrap { display: grid; grid-template-columns: 260px 1fr; gap: 3rem; max-width: 1260px; margin: 0 auto; padding: 80px 2rem; align-items: start; }

  /* ── Sidebar ── */
  .resources-download__sidebar { position: sticky; top: calc(var(--header-h, 5rem) + 1.5rem); }
  .resources-download__sidebar-search { position: relative; display: flex; align-items: center; margin-bottom: 1.25rem; }
  .resources-download__sidebar-search svg:first-child { position: absolute; left: 0.75rem; color: #B0B0B5; pointer-events: none; }
  .resources-download__search-input { width: 100%; padding: 0.55rem 2.25rem 0.55rem 2.25rem; font-size: 0.82rem; color: #1d1d1f; background: #F5F5F7; border: 1px solid transparent; border-radius: 10px; outline: none; box-sizing: border-box; transition: border-color 0.2s, background 0.2s; }
  .resources-download__search-input:focus { background: #FFFFFF; border-color: rgba(0,0,0,0.15); }
  .resources-download__search-input::placeholder { color: #B0B0B5; }
  .resources-download__search-reset { position: absolute; right: 0.5rem; display: none; align-items: center; justify-content: center; width: 22px; height: 22px; padding: 0; color: #B0B0B5; background: transparent; border: none; border-radius: 50%; cursor: pointer; }
  .resources-download__search-reset:hover { color: #1d1d1f; background: rgba(0,0,0,0.05); }
  .resources-download__search-reset--visible { display: flex; }
  .resources-download__sidebar-title { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #B0B0B5; margin: 0 0 0.75rem; }
  .resources-download__nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.2rem; }
  .resources-download__nav-btn { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0.5rem 0.75rem; font-size: 0.84rem; font-weight: 500; color: #86868B; background: transparent; border: none; border-radius: 8px; cursor: pointer; text-align: left; transition: all 0.15s; }
  .resources-download__nav-btn:hover { color: #1d1d1f; background: #F5F5F7; }
  .resources-download__nav-btn--active { color: #1d1d1f; background: #F5F5F7; font-weight: 600; }
  .resources-download__count { font-size: 0.68rem; color: #B0B0B5; font-weight: 400; }
  .resources-download__nav-btn--active .resources-download__count { color: #86868B; }
  .resources-download__sidebar-gate { margin-top: 2rem; padding: 1.25rem; background: #1d1d1f; border-radius: 14px; }
  .resources-download__sidebar-gate-text { font-size: 0.78rem; font-weight: 600; color: #FFFFFF; margin: 0 0 0.75rem; line-height: 1.4; }
  .resources-download__sidebar-input { width: 100%; padding: 0.5rem 0.75rem; font-size: 0.78rem; color: #1d1d1f; background: #FFFFFF; border: none; border-radius: 8px; outline: none; margin-bottom: 0.5rem; box-sizing: border-box; }
  .resources-download__sidebar-btn { width: 100%; padding: 0.5rem; font-size: 0.78rem; font-weight: 600; color: #1d1d1f; background: #FFFFFF; border: none; border-radius: 8px; cursor: pointer; transition: opacity 0.2s; }
  .resources-download__sidebar-btn:hover { opacity: 0.85; }

  /* ── Mobile bar / drawer ── */
  .resources-download__mobile-bar { display: none; }
  .resources-download__drawer-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.3); z-index: 998; }
  .resources-download__drawer-overlay--open { display: block; }
  .resources-download__drawer { display: block; position: fixed; top: 0; left: 0; bottom: 0; width: 300px; max-width: 85vw; background: #FFFFFF; z-index: 999; transform: translateX(-100%); transition: transform 0.3s ease; overflow-y: auto; padding: 1.5rem; }
  .resources-download__drawer--open { transform: translateX(0); }
  .resources-download__drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; font-size: 0.95rem; font-weight: 700; color: #1d1d1f; }
  .resources-download__drawer-close { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; background: transparent; border: none; border-radius: 50%; cursor: pointer; color: #86868B; }
  .resources-download__drawer-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.2rem; }

  /* ── Main ── */
  .resources-download__header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1.25rem; }
  .resources-download__heading { font-size: 1.1rem; font-weight: 700; color: #1d1d1f; margin: 0; }
  .resources-download__showing { font-size: 0.78rem; color: #B0B0B5; }
  .resources-download__list { display: flex; flex-direction: column; gap: 1px; background: rgba(0,0,0,0.06); border-radius: 12px; overflow: hidden; }
  .resources-download__row { display: grid; grid-template-columns: 40px 1fr auto; gap: 1rem; align-items: center; padding: 1rem 1.25rem; background: #FFFFFF; transition: background 0.15s; }
  .resources-download__row:hover { background: #FBFBFD; }
  .resources-download__row--hidden { display: none; }
  .resources-download__row-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; }
  .resources-download__row-body { min-width: 0; }
  .resources-download__row-title { font-size: 0.9rem; font-weight: 600; color: #1d1d1f; margin: 0; line-height: 1.3; }
  .resources-download__row-desc { font-size: 0.78rem; color: #86868B; line-height: 1.5; margin: 0.2rem 0 0.3rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .resources-download__row-meta { font-size: 0.72rem; color: #B0B0B5; display: flex; align-items: center; gap: 0.4rem; }
  .resources-download__row-dot { width: 3px; height: 3px; border-radius: 50%; background: #D5D5DA; flex-shrink: 0; }
  .resources-download__row-btn { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.45rem 1rem; font-size: 0.78rem; font-weight: 600; color: #1d1d1f; background: #F5F5F7; border: none; border-radius: 100px; text-decoration: none; white-space: nowrap; transition: background 0.2s, color 0.2s; }
  .resources-download__row-btn:hover { background: #1d1d1f; color: #FFFFFF; }
  .resources-download__row-btn-icon { display: none; }
  .resources-download__pagination { display: flex; justify-content: center; gap: 0.35rem; margin-top: 2rem; }
  .resources-download__page-btn { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; font-size: 0.82rem; font-weight: 500; color: #86868B; background: transparent; border: 1px solid rgba(0,0,0,0.06); border-radius: 8px; cursor: pointer; transition: all 0.15s; }
  .resources-download__page-btn:hover { color: #1d1d1f; border-color: rgba(0,0,0,0.15); }
  .resources-download__page-btn--active { color: #FFFFFF; background: #1d1d1f; border-color: #1d1d1f; }
  .resources-download__page-btn--disabled { opacity: 0.3; pointer-events: none; }

  /* ── Tablet (sidebar → horizontal) ── */
  @media (max-width: 860px) {
    .resources-download__wrap { grid-template-columns: 1fr; gap: 1.5rem; padding: 50px 1.5rem; }
    .resources-download__sidebar { display: none; }
    .resources-download__mobile-bar { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
    .resources-download__filter-toggle { display: flex; align-items: center; gap: 0.4rem; padding: 0.5rem 0.9rem; font-size: 0.8rem; font-weight: 600; color: #1d1d1f; background: #F5F5F7; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; cursor: pointer; white-space: nowrap; flex-shrink: 0; }
    .resources-download__mobile-search { position: relative; display: flex; align-items: center; flex: 1; }
    .resources-download__mobile-search svg:first-child { position: absolute; left: 0.7rem; color: #B0B0B5; pointer-events: none; z-index: 1; }
    .resources-download__mobile-search .resources-download__search-input { padding-left: 2.1rem; }
    .resources-download__header { flex-direction: column; gap: 0.25rem; margin-bottom: 0.75rem; }
    .resources-download__heading { font-size: 1rem; }
    .resources-download__row { grid-template-columns: 34px 1fr auto; gap: 0.75rem; padding: 0.85rem 1rem; }
    .resources-download__row-icon { width: 34px; height: 34px; }
    .resources-download__row-icon svg { width: 21px; height: 21px; }
    .resources-download__row-title { font-size: 0.83rem; }
    .resources-download__row-desc { display: none; }
    .resources-download__row-meta { font-size: 0.7rem; }
    .resources-download__row-btn-text { display: none; }
    .resources-download__row-btn-icon { display: block; }
    .resources-download__row-btn { padding: 0.45rem 0.6rem; border-radius: 50%; }
    .resources-download__search-reset { right: 0.3rem; }
  }

  @media (max-width: 480px) {
    .resources-download__row { grid-template-columns: 30px 1fr auto; gap: 0.6rem; padding: 0.75rem 0.85rem; }
    .resources-download__row-icon { width: 30px; height: 30px; }
    .resources-download__row-icon svg { width: 18px; height: 18px; }
    .resources-download__pagination { gap: 0.25rem; margin-top: 1.5rem; }
    .resources-download__page-btn { width: 32px; height: 32px; font-size: 0.75rem; }
  }
/* END_SECTION:resources-download */

/* START_SECTION:search (INDEX:28) */
.search-page { background: #FFFFFF; }
  .search-page__wrap { max-width: 900px; margin: 0 auto; padding: 80px 2rem 100px; }

  .search-page__hero { text-align: center; margin-bottom: 2.5rem; }
  .search-page__heading { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; color: #1d1d1f; margin: 0 0 1.5rem; letter-spacing: -0.02em; }
  .search-page__form { position: relative; max-width: 560px; margin: 0 auto; }
  .search-page__form-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #B0B0B5; pointer-events: none; }
  .search-page__input { width: 100%; padding: 0.85rem 2.75rem 0.85rem 2.75rem; font-size: 1rem; color: #1d1d1f; background: #F5F5F7; border: 1px solid transparent; border-radius: 14px; outline: none; box-sizing: border-box; transition: border-color 0.2s, background 0.2s; }
  .search-page__input::-webkit-search-decoration,
  .search-page__input::-webkit-search-cancel-button,
  .search-page__input::-webkit-search-results-button,
  .search-page__input::-webkit-search-results-decoration { display: none; }
  .search-page__input:focus { background: #FFFFFF; border-color: rgba(0,0,0,0.15); }
  .search-page__input::placeholder { color: #B0B0B5; }
  .search-page__reset { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; color: #B0B0B5; border-radius: 50%; transition: color 0.2s, background 0.2s; }
  .search-page__reset:hover { color: #1d1d1f; background: rgba(0,0,0,0.04); }

  .search-page__meta { max-width: 560px; margin: 0 auto 2.5rem; text-align: center; }
  .search-page__count { font-size: 0.9rem; color: #86868B; margin: 0; }

  .search-page__list { display: flex; flex-direction: column; gap: 1px; background: rgba(0,0,0,0.06); border-radius: 14px; overflow: hidden; }

  .search-page__item { background: #FFFFFF; transition: background 0.15s; }
  .search-page__item:hover { background: #FBFBFD; }
  .search-page__item-link { display: grid; grid-template-columns: 80px 1fr auto; gap: 1rem; align-items: center; padding: 1rem 1.25rem; text-decoration: none; color: inherit; }
  .search-page__item-media { width: 72px; height: 72px; border-radius: 10px; overflow: hidden; background: #F5F5F7; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .search-page__item-img { width: 100%; height: 100%; object-fit: cover; }
  .search-page__item-placeholder { color: #B0B0B5; }
  .search-page__item-body { min-width: 0; }
  .search-page__item-type { display: inline-block; font-size: 0.65rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #B0B0B5; margin-bottom: 0.25rem; }
  .search-page__item-title { font-size: 0.9rem; font-weight: 600; color: #1d1d1f; margin: 0; line-height: 1.3; }
  .search-page__item-price { font-size: 0.82rem; color: #86868B; margin-top: 0.2rem; display: block; }
  .search-page__item-desc { font-size: 0.78rem; color: #86868B; line-height: 1.5; margin: 0.25rem 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .search-page__item-arrow { color: #B0B0B5; transition: color 0.2s, transform 0.2s; flex-shrink: 0; }
  .search-page__item:hover .search-page__item-arrow { color: #1d1d1f; transform: translateX(3px); }

  .search-page__pagination { display: flex; justify-content: center; padding: 1.5rem 0; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 0.5rem; }
  .search-page__pagination::-webkit-scrollbar { display: none; }
  .search-page__pagination .pagination { display: flex; align-items: center; gap: 0.75rem; list-style: none; padding: 0; margin: 0; flex-wrap: nowrap; }
  .search-page__pagination .page { min-width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: 500; border-radius: 10px; text-decoration: none; color: #86868B; background: #FFFFFF; border: 1px solid rgba(0,0,0,0.08); transition: all 0.15s; padding: 0 0.5rem; white-space: nowrap; flex-shrink: 0; }
  .search-page__pagination .page:hover { color: #1d1d1f; border-color: rgba(0,0,0,0.2); }
  .search-page__pagination .page.current { color: #FFFFFF; background: #1d1d1f; border-color: #1d1d1f; }
  .search-page__pagination .prev, .search-page__pagination .next { display: flex; flex-shrink: 0; }
  .search-page__pagination .prev a, .search-page__pagination .next a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 0; border-radius: 10px; text-decoration: none; color: #86868B; background: #FFFFFF; border: 1px solid rgba(0,0,0,0.08); transition: all 0.15s; position: relative; overflow: hidden; flex-shrink: 0; }
  .search-page__pagination .prev a::after { content: '\2190'; font-size: 0.9rem; }
  .search-page__pagination .next a::after { content: '\2192'; font-size: 0.9rem; }
  .search-page__pagination .prev a:hover, .search-page__pagination .next a:hover { color: #1d1d1f; border-color: rgba(0,0,0,0.2); }
  .search-page__pagination .disabled { opacity: 0.3; pointer-events: none; }

  @media (max-width: 640px) {
    .search-page__wrap { padding: 50px 1.25rem 80px; }
    .search-page__item-link { grid-template-columns: 52px 1fr auto; gap: 0.75rem; padding: 0.85rem 1rem; }
    .search-page__item-media { width: 48px; height: 48px; border-radius: 8px; }
    .search-page__item-media svg { width: 20px; height: 20px; }
    .search-page__item-desc { display: none; }
    .search-page__item-arrow { display: none; }
  }
/* END_SECTION:search */

/* START_SECTION:solution-detail (INDEX:29) */
.solution-detail .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .solution-detail .section-spacing {
    padding-block: 100px;
  }

  .solution-detail {
    scroll-margin-top: calc(var(--header-h, 5rem) + 1rem);
  }

  .solution-detail__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
  }

  .solution-detail__text {
    max-width: 520px;
  }

  .solution-detail__tagline {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-accent, #2563EB);
    margin-bottom: 0.5rem;
  }

  .solution-detail__index {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #B0B0B5;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
  }

  .solution-detail__heading {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
  }

  .solution-detail__desc {
    font-size: 0.95rem;
    color: #86868B;
    line-height: 1.7;
    margin-bottom: 1.5rem;
  }

  .solution-detail__caps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
  }

  .solution-detail__tag {
    display: inline-block;
    padding: 0.35rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 500;
    color: #1d1d1f;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 100px;
  }

  .solution-detail__metrics {
    display: flex;
    gap: 2rem;
    margin-bottom: 1.5rem;
  }

  .solution-detail__metric-value {
    display: block;
    font-size: 1.75rem;
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1;
    letter-spacing: -0.02em;
  }

  .solution-detail__metric-label {
    display: block;
    font-size: 0.8rem;
    color: #86868B;
    margin-top: 0.25rem;
  }

  .solution-detail__case {
    padding: 1.25rem 1.5rem;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
  }

  .solution-detail__case-kicker {
    display: block;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #B0B0B5;
    margin-bottom: 0.4rem;
  }

  .solution-detail__case-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1d1d1f;
    margin-bottom: 0.4rem;
    line-height: 1.3;
  }

  .solution-detail__case-desc {
    font-size: 0.82rem;
    color: #86868B;
    line-height: 1.55;
    margin: 0;
  }

  .solution-detail__media {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .solution-detail__img {
    width: 100%;
    max-width: 560px;
    border-radius: 20px;
  }

  .solution-detail__placeholder {
    width: 100%;
    max-width: 560px;
    aspect-ratio: 4/3;
    background: #F5F5F7;
    border-radius: 20px;
  }

  /* --- Image-right variant: swap columns --- */
  .solution-detail--image-right .solution-detail__grid {
    direction: rtl;
  }
  .solution-detail--image-right .solution-detail__text,
  .solution-detail--image-right .solution-detail__media {
    direction: ltr;
  }

  @media (max-width: 768px) {
    .solution-detail__grid {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .solution-detail__text {
      max-width: 100%;
    }
    .solution-detail__media {
      order: -1;
    }
  }
/* END_SECTION:solution-detail */

/* START_SECTION:solutions-cta (INDEX:30) */
.solutions-cta .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .solutions-cta .section-spacing {
    padding-block: 120px;
  }

  .solutions-cta {
    background-color: #0a0a0a;
  }

  .solutions-cta__content {
    text-align: center;
    padding-block: clamp(2.5rem, 6vh, 4rem);
    max-width: 560px;
    margin: 0 auto;
  }

  .solutions-cta__tagline {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.45);
    margin: 0 0 0.75rem;
  }

  .solutions-cta__heading {
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.18;
    margin: 0 0 0.875rem;
    letter-spacing: -0.02em;
  }

  .solutions-cta__desc {
    font-size: 0.9375rem;
    color: rgba(255,255,255,0.55);
    line-height: 1.6;
    margin: 0 0 1.75rem;
  }

  .solutions-cta__actions {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
  }

  .solutions-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
  }

  .solutions-cta__btn--primary {
    background: #fff;
    color: #0a0a0a;
  }

  .solutions-cta__btn--primary:hover {
    background: rgba(255,255,255,0.85);
    color: #0a0a0a;
    text-decoration: none;
  }

  .solutions-cta__btn--outline {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.25);
  }

  .solutions-cta__btn--outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.4);
    color: #fff;
    text-decoration: none;
  }

  @media (max-width: 749px) {
    .solutions-cta .container {
      padding-inline: 1.25rem;
    }
    .solutions-cta .section-spacing {
      padding-block: 80px;
    }
    .solutions-cta__actions {
      flex-direction: column;
      align-items: center;
    }
    .solutions-cta__btn {
      width: 100%;
      justify-content: center;
    }
  }
/* END_SECTION:solutions-cta */

/* START_SECTION:solutions-function (INDEX:31) */
.solutions-function .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .solutions-function .section-spacing {
    padding-block: 120px;
  }

  .solutions-function {
    background-color: #fafafa;
  }

  .solutions-function__tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 3rem;
    margin-bottom: 2.5rem;
  }

  .solutions-function__tab {
    padding: 0.45rem 1.125rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--color-text-body);
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: 100px;
    cursor: pointer;
    transition: all 0.2s;
    font-family: inherit;
  }

  .solutions-function__tab:hover {
    border-color: var(--color-text-dark);
    color: var(--color-text-dark);
  }

  .solutions-function__tab--active {
    background: var(--color-text-dark);
    color: #fff;
    border-color: var(--color-text-dark);
  }

  .solutions-function__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
  }

  .solutions-function__card {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.125rem;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s;
  }

  .solutions-function__card:hover {
    border-color: var(--color-text-dark);
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    text-decoration: none;
  }

  .solutions-function__card-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--color-bg-surface);
    color: var(--color-text-body);
  }

  .solutions-function__card-icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
  }

  .solutions-function__card-body {
    flex: 1;
    min-width: 0;
  }

  .solutions-function__card-title {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--color-text-dark);
    margin: 0 0 0.2rem;
    line-height: 1.3;
  }

  .solutions-function__card-desc {
    font-size: 0.72rem;
    color: var(--color-text-body);
    margin: 0;
    line-height: 1.4;
  }

  @media (max-width: 1050px) {
    .solutions-function__grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (max-width: 749px) {
    .solutions-function .container {
      padding-inline: 1.25rem;
    }
    .solutions-function .section-spacing {
      padding-block: 80px;
    }
    .solutions-function__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 0.75rem;
    }
    .solutions-function__card {
      padding: 0.875rem 1rem;
    }
  }
/* END_SECTION:solutions-function */

/* START_SECTION:solutions-hero (INDEX:32) */
.solutions-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 70vh;
    overflow: hidden;
    background-color: #0a0a0a;
  }
  .solutions-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
  .solutions-hero__slide--active {
    opacity: 1;
    visibility: visible;
  }
  .solutions-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .solutions-hero__bg picture {
    width: 100%;
    height: 100%;
    display: block;
  }
  .solutions-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .solutions-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0.65) 100%);
  }
  .solutions-hero__container {
    position: relative;
    z-index: 1;
  }
  .solutions-hero__content {
    max-width: 640px;
    padding-block: clamp(4rem, 12vh, 8rem);
  }
  .solutions-hero__tagline {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.55);
    margin: 0 0 0.875rem;
  }
  .solutions-hero__heading {
    font-size: clamp(1.875rem, 4.5vw, 3rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.12;
    margin: 0 0 1.125rem;
    letter-spacing: -0.025em;
  }
  .solutions-hero__desc {
    font-size: clamp(0.9375rem, 1.8vw, 1.0625rem);
    color: rgba(255,255,255,0.65);
    line-height: 1.6;
    margin: 0 0 1.75rem;
    max-width: 500px;
  }
  .solutions-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #fff;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
  }
  .solutions-hero__cta:hover {
    background: rgba(255,255,255,0.2);
    border-color: rgba(255,255,255,0.35);
    color: #fff;
    text-decoration: none;
  }

  /* dots */
  .solutions-hero__dots {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.5rem;
    z-index: 2;
  }
  .solutions-hero__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.5);
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: background 0.2s, border-color 0.2s;
  }
  .solutions-hero__dot--active {
    background: #fff;
    border-color: #fff;
  }

  /* arrows */
  .solutions-hero__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.25);
    background: rgba(0,0,0,0.3);
    backdrop-filter: blur(4px);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s;
  }
  .solutions-hero__arrow:hover { background: rgba(0,0,0,0.5); }
  .solutions-hero__arrow--prev { left: 1rem; }
  .solutions-hero__arrow--next { right: 1rem; }

  @media (max-width: 749px) {
    .solutions-hero { min-height: 60vh; }
    .solutions-hero__content {
      padding-block: 4rem 3rem;
      text-align: center;
    }
    .solutions-hero__desc { margin-left: auto; margin-right: auto; }
    .solutions-hero__arrow { display: none; }
  }
/* END_SECTION:solutions-hero */

/* START_SECTION:solutions-industry (INDEX:33) */
.solutions-industry .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .solutions-industry .section-spacing {
    padding-block: 120px;
  }

  .solutions-industry {
    background-color: #fff;
  }

  /* ── Tab bar ── */
  .solutions-industry__tabs {
    display: flex;
    justify-content: flex-start;
    gap: 0;
    margin-top: 2.5rem;
    border-bottom: 1px solid var(--color-border);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .solutions-industry__tabs::-webkit-scrollbar { display: none; }

  .solutions-industry__tab {
    padding: 0.75rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--color-text-body);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
    transition: color 0.2s, border-color 0.2s;
    margin-bottom: -1px;
  }
  .solutions-industry__tab:hover { color: var(--color-text-dark); }
  .solutions-industry__tab--active {
    color: var(--color-text-dark);
    border-bottom-color: var(--color-text-dark);
    font-weight: 600;
  }

  /* ── Panels ── */
  .solutions-industry__panel { display: none; }
  .solutions-industry__panel--active { display: block; }

  /* ── Banner ── */
  .solutions-industry__banner {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    margin-top: 1.5rem;
    aspect-ratio: 21/9;
    background: var(--color-bg-surface);
  }
  .solutions-industry__banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .solutions-industry__banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.3) 60%, rgba(0,0,0,0.15) 100%);
    display: flex;
    align-items: flex-end;
    padding: 2.5rem;
  }
  .solutions-industry__banner-content {
    max-width: 580px;
  }
  .solutions-industry__banner-kicker {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.6);
    margin: 0 0 0.5rem;
  }
  .solutions-industry__banner-heading {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.5rem;
    line-height: 1.2;
  }
  .solutions-industry__banner-desc {
    font-size: 0.875rem;
    color: rgba(255,255,255,0.7);
    line-height: 1.5;
    margin: 0 0 1rem;
  }

  /* ── Tags ── */
  .solutions-industry__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .solutions-industry__tag {
    padding: 0.35rem 0.85rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: #fff;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 100px;
    backdrop-filter: blur(4px);
  }

  /* ── Success story ── */
  .solutions-industry__story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
    margin-top: 2rem;
    padding: 2rem;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: 12px;
  }
  .solutions-industry__story-image {
    aspect-ratio: 4/3;
    border-radius: 8px;
    overflow: hidden;
  }
  .solutions-industry__story-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .solutions-industry__story-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .solutions-industry__story-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-text-dark);
    margin: 0 0 0.5rem;
    line-height: 1.3;
  }
  .solutions-industry__story-desc {
    font-size: 0.875rem;
    color: var(--color-text-body);
    line-height: 1.6;
    margin: 0 0 1rem;
  }
  .solutions-industry__story-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-text-dark);
    text-decoration: none;
    transition: gap 0.2s;
  }
  .solutions-industry__story-link:hover { gap: 0.6rem; text-decoration: none; }

  @media (max-width: 749px) {
    .solutions-industry .container {
      padding-inline: 1.25rem;
    }
    .solutions-industry .section-spacing {
      padding-block: 80px;
    }
    .solutions-industry__banner-overlay {
      padding: 1.5rem;
    }
    .solutions-industry__banner {
      aspect-ratio: 16/10;
    }
    .solutions-industry__story {
      grid-template-columns: 1fr;
      gap: 1rem;
      padding: 1.25rem;
    }
    .solutions-industry__tab {
      padding: 0.6rem 1rem;
      font-size: 0.8rem;
    }
  }
/* END_SECTION:solutions-industry */

/* START_SECTION:solutions-nav (INDEX:34) */
.solutions-nav {
    background-color: #fff;
    border-bottom: 1px solid #e5e7eb;
  }

  .solutions-nav .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }

  .solutions-nav__list {
    display: flex;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .solutions-nav__list::-webkit-scrollbar {
    display: none;
  }

  .solutions-nav__link {
    display: inline-flex;
    align-items: center;
    padding: 1rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6b7280;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
  }

  .solutions-nav__link:hover {
    color: #1d1d1f;
  }

  .solutions-nav__link--active {
    color: #1d1d1f;
    font-weight: 600;
    border-bottom-color: #1d1d1f;
  }

  @media (max-width: 640px) {
    .solutions-nav__link {
      padding: 0.875rem 1rem;
      font-size: 0.8125rem;
    }
  }
/* END_SECTION:solutions-nav */

/* START_SECTION:solutions-overview (INDEX:35) */
.solutions-overview .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .solutions-overview .section-spacing {
    padding-block: 120px;
  }
  .solutions-overview {
    background-color: #fff;
  }

  .solutions-overview__header {
    text-align: center;
    margin-bottom: 3rem;
  }

  .solutions-overview__header-text {
    max-width: 650px;
    margin: 0 auto;
  }

  .solutions-overview__tagline {
    font-size: clamp(0.72rem, 1vw, 0.82rem);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    margin-bottom: 0.75rem;
  }

  .solutions-overview__heading {
    font-size: clamp(1.75rem, 3.5vw, 2.25rem);
    font-weight: 700;
    color: var(--color-text-dark);
    line-height: 1.2;
    margin-bottom: 0.75rem;
    letter-spacing: -0.02em;
  }

  .solutions-overview__description {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: var(--color-text-body);
    line-height: 1.6;
    margin: 0;
  }

  /* --- Grid: asymmetrical, first card spans 2 rows --- */
  .solutions-overview__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    max-width: 1024px;
    margin: 0 auto;
  }

  .solution-card {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    min-height: 200px;
    min-width: 0;
    cursor: pointer;
    isolation: isolate;
    aspect-ratio: 16/9;
  }

  .solution-card--featured {
    grid-row: span 2;
    aspect-ratio: auto;
    min-height: 0;
  }

  /* --- Link wrapper --- */
  .solution-card__link-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: inherit;
    text-decoration: none;
  }

  /* --- Background image --- */
  .solution-card__bg {
    position: absolute;
    inset: 0;
    z-index: -1;
  }

  .solution-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
  }

  .solution-card:hover .solution-card__img {
    transform: scale(1.04);
  }

  /* --- Dark overlay --- */
  .solution-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.15) 0%,
      rgba(0, 0, 0, 0.05) 35%,
      rgba(0, 0, 0, 0.55) 70%,
      rgba(0, 0, 0, 0.82) 100%
    );
  }

  /* --- Content --- */
  .solution-card__content {
    position: relative;
    z-index: 1;
    padding: 1.75rem;
  }

  .solution-card__title {
    font-size: clamp(0.95rem, 1.5vw, 1.15rem);
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
    line-height: 1.3;
  }

  .solution-card--featured .solution-card__title {
    font-size: clamp(1.15rem, 2vw, 1.5rem);
  }

  .solution-card__description {
    font-size: clamp(0.75rem, 1vw, 0.85rem);
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.55;
    margin-bottom: 1rem;
    max-width: 90%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  .solution-card--featured .solution-card__description {
    font-size: clamp(0.8rem, 1.1vw, 0.9rem);
    max-width: 80%;
    -webkit-line-clamp: 4;
  }

  .solution-card__cta {
    font-size: clamp(0.75rem, 1vw, 0.85rem);
    font-weight: 600;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    align-self: flex-start;
    transition: gap 0.25s;
    white-space: nowrap;
  }

  .solution-card__link-wrap:hover .solution-card__cta {
    gap: 0.6rem;
  }

  @media (max-width: 768px) {
    .solutions-overview__heading {
      font-size: 1.75rem;
    }

    .solutions-overview__grid {
      grid-template-columns: 1fr;
      grid-template-rows: auto;
    }

    .solution-card--featured {
      grid-row: auto;
      min-height: 280px;
    }

    .solution-card {
      min-height: 200px;
      aspect-ratio: auto;
    }

    .solution-card__content {
      padding: 1.25rem;
    }

    .solution-card--featured .solution-card__title {
      font-size: 1.2rem;
    }

    .solution-card__description {
      -webkit-line-clamp: 2;
    }
  }
/* END_SECTION:solutions-overview */

/* START_SECTION:solutions-scenario (INDEX:36) */
.solutions-scenario .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .solutions-scenario .section-spacing {
    padding-block: 120px;
  }

  .solutions-scenario {
    background-color: #fff;
  }

  .solutions-scenario__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-top: 3rem;
  }

  .solutions-scenario__card {
    display: block;
    text-decoration: none;
    border-radius: 12px;
    overflow: hidden;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    transition: box-shadow 0.2s;
  }

  .solutions-scenario__card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    text-decoration: none;
  }

  .solutions-scenario__image {
    aspect-ratio: 3/2;
    overflow: hidden;
    background: var(--color-bg-surface);
  }

  .solutions-scenario__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
  }

  .solutions-scenario__card:hover .solutions-scenario__img {
    transform: scale(1.05);
  }

  .solutions-scenario__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-body);
  }

  .solutions-scenario__body {
    padding: 1rem 1.125rem 1.125rem;
  }

  .solutions-scenario__title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-text-dark);
    margin: 0 0 0.25rem;
    line-height: 1.3;
  }

  .solutions-scenario__desc {
    font-size: 0.75rem;
    color: var(--color-text-body);
    margin: 0;
    line-height: 1.5;
  }

  /* ── Pagination dots ── */
  .solutions-scenario__pagination {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2rem;
  }

  .solutions-scenario__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: var(--color-border);
    cursor: pointer;
    padding: 0;
    transition: background 0.2s;
  }

  .solutions-scenario__dot--active {
    background: var(--color-text-dark);
  }

  @media (max-width: 1050px) {
    .solutions-scenario__grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (max-width: 749px) {
    .solutions-scenario .container {
      padding-inline: 1.25rem;
    }
    .solutions-scenario .section-spacing {
      padding-block: 80px;
    }
    .solutions-scenario__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 0.75rem;
    }
  }
/* END_SECTION:solutions-scenario */

/* START_SECTION:stats-counter (INDEX:37) */
.stats-counter .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .stats-counter .section-spacing {
    padding-block: 120px;
  }
  .stats-counter {
    position: relative;
    background-color: #0a0a0a;
    overflow: hidden;
  }

  /* --- Background image --- */
  .stats-counter__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
  }

  .stats-counter__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
  }

  .stats-counter__bg-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      180deg,
      rgba(0,0,0,0.55) 0%,
      rgba(0,0,0,0.4) 50%,
      rgba(0,0,0,0.6) 100%
    );
  }

  .container {
    position: relative;
    z-index: 1;
  }

  /* --- Header --- */
  .stats-counter__header {
    text-align: center;
    margin-bottom: 2rem;
  }

  .stats-counter__tagline {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 0.75rem;
  }

  .stats-counter__heading {
    font-size: 2.25rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
  }

  .stats-counter__description {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
    max-width: 560px;
    margin: 0 auto;
  }

  /* --- Company intro --- */
  .stats-counter__intro {
    max-width: 720px;
    margin: 0 auto 3rem;
    text-align: center;
  }

  .stats-counter__intro p {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.75;
  }

  /* --- Stats grid --- */
  .stats-counter__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }

  .stat-item {
    flex: 0 0 160px;
    max-width: 180px;
    text-align: center;
    padding: 1.75rem 0.75rem 1.5rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    transition: background 0.3s, border-color 0.3s, transform 0.3s;
  }

  .stat-item:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.16);
    transform: translateY(-2px);
  }

  .stat-item__number {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.1rem;
    margin-bottom: 0.4rem;
  }

  .stat-item__value {
    font-size: 2.25rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
  }

  .stat-item__suffix {
    font-size: 1.1rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.4);
  }

  .stat-item__label {
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.3;
    margin: 0;
  }

  @media (max-width: 1024px) {
    .stat-item {
      flex: 0 0 140px;
      max-width: 160px;
    }
  }

  @media (max-width: 640px) {
    .stats-counter__heading {
      font-size: 1.5rem;
    }
    .stat-item {
      flex: 0 0 120px;
      max-width: 140px;
      padding: 1.25rem 0.5rem 1rem;
    }
    .stat-item__value {
      font-size: 1.75rem;
    }
  }
/* END_SECTION:stats-counter */

/* START_SECTION:tech-detail (INDEX:38) */
.tech-detail {
    scroll-margin-top: calc(var(--header-h, 5rem) + 1rem);
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  }

  .tech-detail .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .tech-detail .section-spacing {
    padding-block: 100px;
  }

  .tech-detail__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }

  /* ── Left: text ── */
  .tech-detail__text {
    max-width: 520px;
  }

  .tech-detail__index-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
  }

  .tech-detail__index {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #B0B0B5;
    font-variant-numeric: tabular-nums;
    text-transform: uppercase;
    flex-shrink: 0;
  }

  .tech-detail__index-line {
    flex: 1;
    height: 1px;
    background: #E5E5EA;
  }

  .tech-detail__heading {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
  }

  .tech-detail__desc {
    font-size: 0.95rem;
    color: #86868B;
    line-height: 1.7;
    margin-bottom: 1.5rem;
  }

  .tech-detail__metrics {
    display: flex;
    gap: 1.5rem;
  }

  .tech-detail__metric {
    padding: 0.75rem 0;
    border-top: 2px solid #1d1d1f;
  }

  .tech-detail__metric-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
  }

  .tech-detail__metric-label {
    display: block;
    font-size: 0.78rem;
    color: #86868B;
    margin-top: 0.3rem;
  }

  /* ── Right: SVG illustration + capability tags ── */
  .tech-detail__visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }

  .tech-illo {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .tech-detail__caps-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #B0B0B5;
    margin-bottom: 1rem;
  }

  .tech-detail__caps-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .tech-detail__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.85rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #1d1d1f;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 8px;
    transition: background 0.2s, transform 0.2s;
  }

  .tech-detail__tag:hover {
    background: #F5F5F7;
    transform: translateY(-1px);
  }

  .tech-detail__tag-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #1d1d1f;
    opacity: 0.25;
    flex-shrink: 0;
  }

  @media (max-width: 768px) {
    .tech-detail__grid {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .tech-detail__text {
      max-width: 100%;
    }
  }
/* END_SECTION:tech-detail */

/* START_SECTION:tech-engines (INDEX:39) */
.tech-engines .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }

  /* Desktop: viewport mimics container so grid stays within 1260px */
  .tech-engines__viewport {
    max-width: 1260px;
    margin-inline: auto;
    padding-inline: 2rem;
  }

  .tech-engines__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 3.5rem;
  }

  .tech-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2.5rem 2rem 2rem;
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.4s ease, transform 0.4s ease;
  }

  .tech-card:hover {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
    transform: translateY(-4px);
  }

  .tech-card__icon-wrap {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: #1d1d1f;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .tech-card__icon {
    width: 36px;
    height: 36px;
    object-fit: contain;
  }

  .tech-card__icon-fallback {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.2);
  }

  .tech-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }

  .tech-card__index {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #B0B0B5;
    font-variant-numeric: tabular-nums;
    text-transform: uppercase;
  }

  .tech-card__title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.2;
    letter-spacing: -0.02em;
  }

  .tech-card__desc {
    font-size: 0.95rem;
    color: #86868B;
    line-height: 1.6;
    margin: 0;
  }

  .tech-engines__controls {
    display: none; /* hidden on desktop */
  }

  .tech-engines__bottom {
    display: flex;
    justify-content: center;
  }

  @media (max-width: 1024px) {
    .tech-engines__grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  /* ── Mobile carousel (≤640px) ── */
  @media (max-width: 640px) {
    .tech-engines__viewport {
      --tech-card-w: calc(100vw - 5rem);
      --tech-gap: 1rem;
      --tech-peek: calc((100vw - var(--tech-card-w) - var(--tech-gap) * 2) / 2);
      overflow: hidden;
      width: 100%;
      max-width: none;
      margin-inline: 0;
      padding-inline: 0;
      margin-top: 2.5rem;
    }

    .tech-engines__track {
      display: flex;
      gap: var(--tech-gap);
      padding: 0 calc(var(--tech-peek) + var(--tech-gap));
      transition: transform 0.45s cubic-bezier(0.25, 0.1, 0.25, 1);
    }

    .tech-engines__grid {
      display: contents; /* let track control layout */
      gap: 0;
      margin-top: 0;
    }

    .tech-card {
      flex: 0 0 var(--tech-card-w);
      min-width: 0;
      padding: 1.75rem 1.25rem 1.5rem;
      gap: 1.25rem;
      transition: transform 0.4s ease, box-shadow 0.4s ease;
    }

    .tech-card__title {
      font-size: 1.1rem;
    }

    .tech-card__desc {
      font-size: 0.88rem;
    }

    /* ── Controls / dots ── */
    .tech-engines__controls {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 1.5rem;
      padding-bottom: 2rem;
    }

    .tech-engines__dots {
      display: flex;
      gap: 0.5rem;
    }

    .tech-engines__dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      border: none;
      background: #D2D2D7;
      cursor: pointer;
      transition: background 0.2s, transform 0.2s;
      padding: 0;
    }

    .tech-engines__dot--active {
      background: #1d1d1f;
      transform: scale(1.4);
    }
  }
/* END_SECTION:tech-engines */

/* START_SECTION:testimonials (INDEX:40) */
.logo-wall .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .logo-wall .section-spacing {
    padding-block: 120px;
  }
  .logo-wall {
    overflow: hidden;
  }

  .logo-wall .section-header {
    text-align: center;
  }

  .honeycomb {
    position: relative;
    max-width: 1200px;
    margin: 2rem auto 0;
    /* JS will set width & height dynamically */
  }

  .honeycomb__cell {
    position: absolute;
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    background: #FFFFFF;
    transition: transform 0.28s ease;
    cursor: default;
    /* width, height, left, top set by JS */
  }

  .honeycomb__cell--linked { cursor: pointer; }

  .honeycomb__cell:hover {
    transform: scale(1.08);
    z-index: 10;
  }

  .honeycomb__cell:hover .honeycomb__img {
    opacity: 0.9;
  }

  .honeycomb__inner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    padding: 0.5rem;
  }

  .honeycomb__img {
    max-width: 50%;
    max-height: 35%;
    width: auto;
    height: auto;
    object-fit: contain;
    opacity: 0.85;
    transition: opacity 0.3s;
  }

  .honeycomb__placeholder {
    font-family: var(--font-heading--family);
    font-size: clamp(0.45rem, 0.9vw, 0.6rem);
    font-weight: 700;
    color: #1D1D1F;
    opacity: 0.25;
    text-align: center;
    line-height: 1.2;
  }

  .honeycomb__label {
    font-size: clamp(0.3rem, 0.6vw, 0.4rem);
    font-weight: 500;
    color: #86868B;
    letter-spacing: 0.02em;
    text-align: center;
    transition: color 0.3s;
    line-height: 1.1;
  }

  /* Duplicate set — hidden on desktop, visible on mobile for marquee */
  .honeycomb__dup { display: none; }

  /* --- Mobile: auto-scrolling row --- */
  @media (max-width: 639px) {
    .honeycomb__dup {
      display: flex;
      gap: 0.75rem;
    }
    .honeycomb {
      display: flex;
      flex-wrap: nowrap;
      gap: 0.75rem;
      width: max-content !important;
      height: auto !important;
      margin: 1.5rem 0 0;
      padding: 0 1rem;
      animation: logoScroll 20s linear infinite;
      transform: translateZ(0);
    }

    .honeycomb:hover {
      animation-play-state: paused;
    }

    .honeycomb__cell {
      position: static !important;
      clip-path: none;
      border-radius: 16px;
      width: 100px !important;
      height: 100px !important;
      left: auto !important;
      top: auto !important;
      flex: 0 0 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    .honeycomb__inner {
      position: static;
      width: 100%;
      height: 100%;
      overflow: hidden;
    }

    .honeycomb__img {
      max-width: 55%;
      max-height: 40%;
    }

    .logo-wall {
      overflow: hidden;
    }

    @keyframes logoScroll {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
/* END_SECTION:testimonials */

/* START_SECTION:timeline (INDEX:41) */
.timeline-section {
    background-color: var(--color-bg-surface);
  }

  .timeline {
    position: relative;
    max-width: 800px;
    margin-inline: auto;
    margin-top: 3rem;
  }

  .timeline__item {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 1.5rem;
    padding-bottom: 2.5rem;
    opacity: 0.5;
    transition: opacity 0.3s;
  }

  .timeline__item:last-child {
    padding-bottom: 0;
  }

  .timeline__item:hover {
    opacity: 1;
  }

  .timeline__marker {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
  }

  .timeline__dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--color-border);
    border: 3px solid var(--color-bg-surface);
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    transition: background-color 0.3s, box-shadow 0.3s;
  }

  .timeline__item--active .timeline__dot,
  .timeline__item:hover .timeline__dot {
    background: #1D1D1F;
    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.08);
  }

  .timeline__line {
    width: 2px;
    flex: 1;
    background: var(--color-border);
    margin-top: 6px;
  }

  .timeline__year {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--color-text-body);
    letter-spacing: 0.08em;
    margin-bottom: 0.3rem;
  }

  .timeline__title {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: 0.35rem;
  }

  .timeline__description {
    font-size: 0.9rem;
    color: var(--color-text-body);
    line-height: 1.6;
  }

  @media (max-width: 640px) {
    .timeline__item {
      grid-template-columns: 40px 1fr;
      gap: 1rem;
    }
  }
/* END_SECTION:timeline */

/* START_SECTION:trusted-by (INDEX:42) */
.trusted-by .container {
    max-width: 1260px;
    padding-inline: 2rem;
  }
  .trusted-by .section-spacing {
    padding-block: 120px;
  }
  .trusted-by {
    padding-block: 3rem;
    background-color: var(--color-bg-secondary);
  }

  .trusted-by__header {
    margin-bottom: 2rem;
  }

  .trusted-by__header .section-header__heading {
    font-size: 1rem;
    font-weight: 500;
    color: var(--color-text-body);
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }

  .trusted-by__track-wrapper {
    overflow: hidden;
    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      black 10%,
      black 90%,
      transparent 100%
    );
  }

  .trusted-by__track {
    display: flex;
    gap: 3rem;
    align-items: center;
    animation: scrollLeft var(--scroll-speed, 30s) linear infinite;
    width: max-content;
  }

  .trusted-by__track:hover {
    animation-play-state: paused;
  }

  .trusted-by__logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.5rem;
    opacity: 0.4;
    transition: opacity 0.3s;
    filter: grayscale(100%) brightness(0);
  }

  .trusted-by__logo:hover {
    opacity: 0.8;
  }

  .trusted-by__logo-img {
    max-height: 100%;
    width: auto;
  }

  .trusted-by__logo-placeholder {
    font-family: var(--font-heading--family);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-text-body);
    white-space: nowrap;
  }
/* END_SECTION:trusted-by */

/* CSS from block stylesheet tags */
/* START_BLOCK:group (INDEX:43) */
.group {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }

  .group--horizontal {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--padding);
  }

  .group--vertical {
    flex-direction: column;
    align-items: var(--alignment);
    padding: var(--padding) 0;
  }
/* END_BLOCK:group */

/* START_BLOCK:text (INDEX:44) */
.text {
    text-align: var(--text-align);
  }
  .text--title {
    font-size: 2rem;
    font-weight: 700;
  }
  .text--subtitle {
    font-size: 1.5rem;
  }
/* END_BLOCK:text */