
      @import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@100;200;300;400;500;600;700;800;900&display=swap');

      :root {
        --uff-primary: #06e2b7;
        --uff-primary-dark: #159381;
      }

      * {
        box-sizing: border-box;
      }

      a {
        color: var(--uff-primary);
        cursor: pointer;
        text-decoration: none;
      }
      a:hover {
        opacity: 0.85;
      }

      /* ── Product Card ── */
      .vivido-product-card {
        cursor: pointer;
        width: 100%;
        max-width: 420px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-product-card a {
        display: block;
        text-decoration: none;
        color: inherit;
      }
      .vivido-product-card .vpc-card {
        width: 100%;
        display: flex;
        flex-direction: column;
        position: relative;
      }
      .vivido-product-card .vpc-card::before {
        content: '';
        position: absolute;
        bottom: 8px;
        left: 8%;
        right: 8%;
        height: 20px;
        background: rgba(0,0,0,0.6);
        filter: blur(10px);
        opacity: 0;
        transition: all 0.5s cubic-bezier(0.4,0,0.2,1);
        z-index: -1;
        border-radius: 50%;
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-product-card:hover .vpc-card::before {
          bottom: -8px;
          opacity: 1;
          filter: blur(12px);
          background: rgba(0,0,0,0.7);
        }
        .vivido-product-card:hover .vpc-image-wrap {
          transform: translateY(-8px);
        }
        .vivido-product-card:hover .vpc-glass {
          top: -60%;
          right: -10%;
          width: 78%;
          height: 145%;
          filter: blur(5px);
          opacity: 0.4;
        }
      }
      .vivido-product-card .vpc-image-wrap {
        position: relative;
        width: 100%;
        aspect-ratio: 553 / 738;
        border-radius: 12px;
        overflow: hidden;
        transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
      }
      .vivido-product-card .vpc-image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 75%;
        object-fit: cover;
        transform-origin: center center;
      }
      .vivido-product-card .vpc-gradient {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: -2px;
        background: linear-gradient(to top, rgb(0,0,0) 25%, rgba(0,0,0,0.95) 30%, rgba(0,0,0,0.7) 43%, rgba(0,0,0,0.3) 54%, rgba(0,0,0,0.15) 85%, rgba(0,0,0,0.1) 100%);
        pointer-events: none;
        z-index: 1;
      }
      .vivido-product-card .vpc-glass {
        position: absolute;
        top: -75%;
        right: -15%;
        width: 70%;
        height: 140%;
        transform: rotate(-50deg);
        pointer-events: none;
        z-index: 2;
        filter: blur(4px);
        opacity: 0.65;
        transition: top 0.4s cubic-bezier(0.4,0,0.2,1), right 0.4s cubic-bezier(0.4,0,0.2,1), width 0.4s cubic-bezier(0.4,0,0.2,1), height 0.4s cubic-bezier(0.4,0,0.2,1), filter 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.4s cubic-bezier(0.6,0,0.3,1);
        background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.1) 30%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0.1) 70%, transparent 100%);
      }
      .vivido-product-card .vpc-bottom {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        min-height: 220px;
        padding: 16px;
        z-index: 3;
        display: flex;
        flex-direction: column;
      }
      @media (min-width: 600px) {
        .vivido-product-card .vpc-bottom {
          min-height: 270px;
          padding: 20px;
        }
      }
      .vivido-product-card .vpc-title {
        color: #fff;
        font-size: 22px;
        font-weight: 600;
        line-height: 1.2;
        margin: 0 0 16px 0;
        max-width: 100%;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (min-width: 600px) {
        .vivido-product-card .vpc-title {
          font-size: 32px;
        }
      }
      @media (min-width: 720px) {
        .vivido-product-card .vpc-title {
          max-width: 75%;
        }
      }
      .vivido-product-card .vpc-desc {
        color: #c2c2c2;
        font-size: 16px;
        line-height: 1.4;
        margin: 0 0 8px 0;
        max-width: 100%;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (min-width: 600px) {
        .vivido-product-card .vpc-desc {
          margin: 0 0 12px 0;
        }
      }
      @media (min-width: 720px) {
        .vivido-product-card .vpc-desc {
          max-width: 75%;
        }
      }
      .vivido-product-card .vpc-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #06e2b7;
        border: 1px solid #06e2b7;
        border-radius: 36px;
        color: #fff;
        font-size: 13px;
        font-weight: 600;
        padding: 8px 20px;
        height: 42px;
        white-space: nowrap;
        cursor: pointer;
        text-decoration: none;
        transition: all 0.3s ease;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (min-width: 600px) {
        .vivido-product-card .vpc-cta { height: 52px; font-size: 14px; padding: 10px 28px; }
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-product-card .vpc-cta:hover {
          background: #159381;
          border-color: #159381;
          transform: scale(1.05);
          box-shadow: 0 0 16px rgba(6,226,183,0.5);
        }
      }
      /* Backward compat: existing pages may still have vpc-nights elements */
      .vivido-product-card .vpc-nights {
        background: #000;
        border: 1px solid #fff;
        border-radius: 36px;
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        padding: 8px 16px;
        display: flex;
        align-items: center;
        white-space: nowrap;
        height: 45px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-product-card .vpc-action {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 8px;
        margin-top: auto;
      }
      @media (min-width: 600px) {
        .vivido-product-card .vpc-action {
          gap: 12px;
        }
      }
      .vivido-product-card .vpc-price-wrap {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 4px;
        justify-content: flex-end;
        text-align: right;
      }
      .vivido-product-card .vpc-price-prefix {
        color: #fff;
        font-size: 13px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-product-card .vpc-price-amount {
        color: #06e2b7;
        font-size: 28px;
        font-weight: 600;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-product-card .vpc-price-suffix {
        color: #fff;
        font-size: 13px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }

      /* ── Product Row (responsive grid) ── */
      .vivido-product-row {
        display: flex;
        flex-wrap: nowrap;
        gap: 16px;
        width: 100%;
        justify-content: center;
        padding: 0;
      }
      /* All cards inside a row: remove standalone max-width, share space */
      .vivido-product-row > .vivido-product-card {
        max-width: none;
        flex: 1 1 0;
        min-width: 0;
      }

      /* ── 1 card in row: keep full size ── */
      .vivido-product-row > .vivido-product-card:only-child {
        flex: 0 1 420px;
        max-width: 420px;
      }

      /* ── 2 cards in row: medium scale ── */
      .vivido-product-row > :first-child:nth-last-child(2),
      .vivido-product-row > :first-child:nth-last-child(2) ~ * {
        max-width: 420px;
      }
      .vivido-product-row > :first-child:nth-last-child(2) .vpc-bottom,
      .vivido-product-row > :first-child:nth-last-child(2) ~ * .vpc-bottom {
        min-height: 180px;
        padding: 14px;
      }
      .vivido-product-row > :first-child:nth-last-child(2) .vpc-title,
      .vivido-product-row > :first-child:nth-last-child(2) ~ * .vpc-title {
        font-size: 19px;
        margin: 0 0 10px 0;
        max-width: 100%;
      }
      .vivido-product-row > :first-child:nth-last-child(2) .vpc-desc,
      .vivido-product-row > :first-child:nth-last-child(2) ~ * .vpc-desc {
        font-size: 13px;
        margin: 0 0 6px 0;
        max-width: 100%;
      }
      .vivido-product-row > :first-child:nth-last-child(2) .vpc-price-amount,
      .vivido-product-row > :first-child:nth-last-child(2) ~ * .vpc-price-amount {
        font-size: 19px;
      }
      .vivido-product-row > :first-child:nth-last-child(2) .vpc-price-prefix,
      .vivido-product-row > :first-child:nth-last-child(2) ~ * .vpc-price-prefix,
      .vivido-product-row > :first-child:nth-last-child(2) .vpc-price-suffix,
      .vivido-product-row > :first-child:nth-last-child(2) ~ * .vpc-price-suffix {
        font-size: 10px;
      }
      .vivido-product-row > :first-child:nth-last-child(2) .vpc-action,
      .vivido-product-row > :first-child:nth-last-child(2) ~ * .vpc-action {
        gap: 6px;
      }
      .vivido-product-row > :first-child:nth-last-child(2) .vpc-cta,
      .vivido-product-row > :first-child:nth-last-child(2) ~ * .vpc-cta {
        height: 32px; font-size: 10px; padding: 6px 12px;
      }

      /* ── 3 cards in row: compact scale ── */
      .vivido-product-row > :first-child:nth-last-child(3),
      .vivido-product-row > :first-child:nth-last-child(3) ~ * {
        max-width: 420px;
      }
      .vivido-product-row > :first-child:nth-last-child(3) .vpc-bottom,
      .vivido-product-row > :first-child:nth-last-child(3) ~ * .vpc-bottom {
        min-height: 150px;
        padding: 10px;
      }
      .vivido-product-row > :first-child:nth-last-child(3) .vpc-title,
      .vivido-product-row > :first-child:nth-last-child(3) ~ * .vpc-title {
        font-size: 15px;
        margin: 0 0 6px 0;
        max-width: 100%;
      }
      .vivido-product-row > :first-child:nth-last-child(3) .vpc-desc,
      .vivido-product-row > :first-child:nth-last-child(3) ~ * .vpc-desc {
        font-size: 12px;
        margin: 0 0 4px 0;
        max-width: 100%;
      }
      .vivido-product-row > :first-child:nth-last-child(3) .vpc-price-amount,
      .vivido-product-row > :first-child:nth-last-child(3) ~ * .vpc-price-amount {
        font-size: 15px;
      }
      .vivido-product-row > :first-child:nth-last-child(3) .vpc-price-prefix,
      .vivido-product-row > :first-child:nth-last-child(3) ~ * .vpc-price-prefix,
      .vivido-product-row > :first-child:nth-last-child(3) .vpc-price-suffix,
      .vivido-product-row > :first-child:nth-last-child(3) ~ * .vpc-price-suffix {
        font-size: 9px;
      }
      .vivido-product-row > :first-child:nth-last-child(3) .vpc-action,
      .vivido-product-row > :first-child:nth-last-child(3) ~ * .vpc-action {
        gap: 4px;
      }
      .vivido-product-row > :first-child:nth-last-child(3) .vpc-cta,
      .vivido-product-row > :first-child:nth-last-child(3) ~ * .vpc-cta {
        height: 28px; font-size: 9px; padding: 4px 8px;
      }

      /* ── Mobile: stack cards in column ── */
      @media (max-width: 480px) {
        .vivido-product-row {
          flex-direction: column;
          align-items: center;
          gap: 20px;
        }
        .vivido-product-row > .vivido-product-card {
          flex: 0 1 auto;
          width: 100%;
          max-width: 420px;
        }
        /* Reset scaled-down sizes back to full when stacked */
        .vivido-product-row > .vivido-product-card .vpc-bottom {
          min-height: 220px;
          padding: 16px;
        }
        .vivido-product-row > .vivido-product-card .vpc-title {
          font-size: 22px;
          margin: 0 0 16px 0;
        }
        .vivido-product-row > .vivido-product-card .vpc-desc {
          font-size: 16px;
          margin: 0 0 8px 0;
        }
        .vivido-product-row > .vivido-product-card .vpc-cta {
          height: 36px;
          font-size: 11px;
          padding: 8px 16px;
        }
        .vivido-product-row > .vivido-product-card .vpc-price-amount {
          font-size: 24px;
        }
        .vivido-product-row > .vivido-product-card .vpc-price-prefix,
        .vivido-product-row > .vivido-product-card .vpc-price-suffix {
          font-size: 12px;
        }
        .vivido-product-row > .vivido-product-card .vpc-action {
          gap: 8px;
        }
      }

      /* Premium CTA Animations */
      @keyframes elegantPulse {
        0%, 100% {
          box-shadow: 0 0 0 0 rgba(6, 226, 183, 0.5), 0 4px 15px rgba(6, 226, 183, 0.3);
        }
        50% {
          box-shadow: 0 0 0 12px transparent, 0 4px 25px rgba(6, 226, 183, 0.5);
        }
      }

      @keyframes auroraShift {
        0% { background-position: 0% 50%; }
        50% { background-position: 100% 50%; }
        100% { background-position: 0% 50%; }
      }

      @keyframes luxeShimmer {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
      }

      @keyframes electricFlow {
        0% { background-position: 0% 50%; }
        100% { background-position: 300% 50%; }
      }

      /* ── Width utility classes ── */
      .vivido-width-full { max-width: 100%; margin-left: auto; margin-right: auto; }
      .vivido-width-wide { max-width: 90%; margin-left: auto; margin-right: auto; }
      .vivido-width-medium { max-width: 85%; margin-left: auto; margin-right: auto; }
      .vivido-width-narrow { max-width: 80%; margin-left: auto; margin-right: auto; }
      @media (min-width: 720px) {
        .vivido-width-medium { max-width: 80%; }
        .vivido-width-narrow { max-width: 70%; }
      }
      @media (min-width: 980px) {
        .vivido-width-wide { max-width: 1200px; }
        .vivido-width-medium { max-width: 900px; }
        .vivido-width-narrow { max-width: 700px; }
      }

      /* ── Container / Wrapper ── */
      .vivido-container {
        margin: 0 auto;
        padding: 0 24px;
        width: 100%;
        min-height: 40px;
      }

      /* ── Transparent Background utility ── */
      .vivido-bg-transparent { background-color: transparent !important; background-image: none !important; }
      /* Category card + inner elements */
      .vivido-category-card.vivido-bg-transparent { background-color: transparent !important; }
      .vivido-category-card.vivido-bg-transparent .vcc-content { background-color: transparent !important; }
      .vivido-category-card.vivido-bg-transparent .vcc-image-wrap { background-color: transparent !important; }
      /* Product card overlay */
      .vivido-product-card.vivido-bg-transparent .vpc-card::before { background: transparent !important; }
      /* FAQ items */
      .vivido-faq-section.vivido-bg-transparent .vfaq-item { background-color: transparent !important; background: transparent !important; }
      .vivido-faq-section.vivido-bg-transparent details[open].vfaq-item { border-color: currentColor; }
      /* Journey steps */
      .vivido-journey-steps.vivido-bg-transparent .vjs-step { background-color: transparent !important; background: transparent !important; }
      /* Category carousel */
      .vivido-category-carousel.vivido-bg-transparent { background-color: transparent !important; }
      /* Press section */
      .vivido-press-section.vivido-bg-transparent .vps-card { background-color: transparent !important; background: transparent !important; }
      /* Banner (inline styles handled via trait handler, class is backup) */
      .vivido-banner.vivido-bg-transparent { background-color: transparent !important; }
      /* Premium CTA wrapper */
      .vivido-cta-wrapper.vivido-bg-transparent .vivido-cta-btn { background: transparent !important; background-image: none !important; }

      /* ── Hero Heading ── */
      .vivido-hero-heading {
        font-size: 36px;
        line-height: 1;
        font-weight: 600;
        color: #fff;
        text-shadow: 0px 1px 4px rgba(0,0,0,0.35);
        margin: 0 auto 20px;
        white-space: pre-wrap;
        width: 100%;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (min-width: 720px) { .vivido-hero-heading { margin-bottom: 48px; } }
      @media (min-width: 980px) { .vivido-hero-heading { font-size: 48px; } }
      @media (min-width: 1920px) { .vivido-hero-heading { font-size: 72px; } }

      /* ── Subtitle ── */
      .vivido-subtitle {
        font-size: 16px;
        line-height: 1.5;
        font-weight: 400;
        color: #fff;
        text-shadow: 0px 1px 4px rgba(0,0,0,0.35);
        margin: 0 auto 16px;
        white-space: pre-wrap;
        width: 100%;
        padding: 0 16px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (min-width: 720px) { .vivido-subtitle { font-size: 24px; padding: 0; } }
      @media (min-width: 1920px) { .vivido-subtitle { font-size: 28px; } }
      /* Subtitle width overrides */
      .vivido-subtitle.vivido-width-wide { max-width: 90%; }
      .vivido-subtitle.vivido-width-medium { max-width: 85%; }
      .vivido-subtitle.vivido-width-narrow { max-width: 80%; }
      @media (min-width: 720px) {
        .vivido-subtitle.vivido-width-medium { max-width: 80%; }
        .vivido-subtitle.vivido-width-narrow { max-width: 70%; }
      }
      @media (min-width: 980px) {
        .vivido-subtitle.vivido-width-wide { max-width: 1100px; }
        .vivido-subtitle.vivido-width-medium { max-width: 800px; }
        .vivido-subtitle.vivido-width-narrow { max-width: 650px; }
      }

      /* ── Body Text ── */
      .vivido-body-text {
        font-size: 16px;
        line-height: 1.5;
        font-weight: 400;
        color: #fff;
        margin: 0 0 16px;
        width: 100%;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-body-text.vivido-size-small { font-size: 12px; }
      .vivido-body-text.vivido-size-medium-small { font-size: 14px; }
      .vivido-body-text.vivido-size-medium { font-size: 16px; }
      .vivido-body-text.vivido-size-medium-large { font-size: 20px; }
      .vivido-body-text.vivido-size-large { font-size: 24px; }
      /* Body Text width overrides */
      .vivido-body-text.vivido-width-wide { max-width: 95%; }
      .vivido-body-text.vivido-width-medium { max-width: 90%; }
      .vivido-body-text.vivido-width-narrow { max-width: 85%; }
      @media (min-width: 720px) {
        .vivido-body-text.vivido-width-medium { max-width: 85%; }
        .vivido-body-text.vivido-width-narrow { max-width: 75%; }
      }
      @media (min-width: 980px) {
        .vivido-body-text.vivido-width-wide { max-width: 1100px; }
        .vivido-body-text.vivido-width-medium { max-width: 800px; }
        .vivido-body-text.vivido-width-narrow { max-width: 650px; }
      }

      /* ── Rich text nested element styling ── */
      .vivido-hero-heading p, .vivido-subtitle p, .vivido-body-text p { margin: 0 0 12px; }
      .vivido-hero-heading strong, .vivido-hero-heading b,
      .vivido-subtitle strong, .vivido-subtitle b,
      .vivido-body-text strong, .vivido-body-text b { font-weight: 800; }
      .vivido-hero-heading em, .vivido-hero-heading i,
      .vivido-subtitle em, .vivido-subtitle i,
      .vivido-body-text em, .vivido-body-text i { font-style: italic; }
      .vivido-hero-heading a, .vivido-subtitle a, .vivido-body-text a {
        color: var(--uff-primary);
        text-decoration: underline;
      }
      .vivido-hero-heading a:hover, .vivido-subtitle a:hover, .vivido-body-text a:hover {
        color: var(--uff-primary-dark);
      }
      .vivido-hero-heading ul, .vivido-hero-heading ol,
      .vivido-subtitle ul, .vivido-subtitle ol,
      .vivido-body-text ul, .vivido-body-text ol {
        padding-left: 32px;
        margin: 12px 0;
        list-style: revert;
      }
      @media (max-width: 480px) {
        .vivido-hero-heading ul, .vivido-hero-heading ol,
        .vivido-subtitle ul, .vivido-subtitle ol,
        .vivido-body-text ul, .vivido-body-text ol { padding-left: 24px; }
      }
      .vivido-hero-heading li, .vivido-subtitle li, .vivido-body-text li {
        margin-bottom: 4px;
        line-height: 1.6;
      }

      /* ── List component ── */
      .vivido-list {
        color: #fff;
        line-height: 1.6;
        margin: 12px 0;
        padding-left: 40px;
        list-style-type: disc;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (max-width: 480px) { .vivido-list { padding-left: 32px; } }
      .vivido-list.vivido-size-small { font-size: 12px; }
      .vivido-list.vivido-size-medium-small { font-size: 14px; }
      .vivido-list.vivido-size-medium { font-size: 16px; }
      .vivido-list.vivido-size-medium-large { font-size: 20px; }
      .vivido-list.vivido-size-large { font-size: 24px; }
      .vivido-list li { line-height: 1.6; }

      /* ── Category Card ── */
      .vivido-category-card {
        display: flex;
        flex-direction: column;
        background: #333333;
        border-radius: 12px;
        overflow: hidden;
        width: 100%;
        height: 560px;
        cursor: pointer;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        text-decoration: none;
        color: inherit;
      }
      @media (max-width: 1280px) { .vivido-category-card { height: 450px; } }
      @media (max-width: 720px) { .vivido-category-card { height: 480px; } }
      @media (max-width: 480px) { .vivido-category-card { height: 420px; } }
      @media (hover: hover) and (pointer: fine) {
        .vivido-category-card:hover {
          transform: translateY(-8px);
          box-shadow: 0 24px 48px rgba(0,0,0,0.3);
        }
        .vivido-category-card:hover .vcc-image { transform: scale(1.05); }
        .vivido-category-card:hover .vcc-image.vivido-img-zoom-12 { transform: scale(1.26); }
        .vivido-category-card:hover .vcc-image.vivido-img-zoom-15 { transform: scale(1.575); }
        .vivido-category-card:hover .vcc-image.vivido-img-zoom-2 { transform: scale(2.1); }
      }
      .vivido-category-card .vcc-image-wrap {
        position: relative;
        width: 100%;
        flex: 1;
        overflow: hidden;
        background: #1A1A1A;
      }
      .vivido-category-card .vcc-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        transform-origin: center center;
      }
      .vivido-category-card .vcc-content {
        padding: 24px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        background: #000000;
      }
      @media (max-width: 480px) {
        .vivido-category-card .vcc-content { padding: 20px; gap: 8px; }
      }
      .vivido-category-card .vcc-title {
        font-size: 28px;
        font-weight: 600;
        color: #fff;
        margin: 0;
        line-height: 1.3;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (max-width: 480px) { .vivido-category-card .vcc-title { font-size: 32px; } }
      .vivido-category-card .vcc-description {
        font-size: 14px;
        color: #06e2b7;
        margin: 0;
        line-height: 1.5;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }

      /* ── Premium CTA ── */
      .vivido-cta-wrapper {
        display: flex;
        width: 100%;
        min-width: 100%;
        flex: 1 1 100%;
      }
      .vivido-cta-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: relative;
        border-radius: 36px;
        font-weight: 600;
        text-decoration: none;
        cursor: pointer;
        border: none;
        isolation: isolate;
        color: #fff;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
      }
      .vivido-cta-btn.vivido-cta-small { height: 44px; padding: 0 24px; font-size: 12px; }
      .vivido-cta-btn.vivido-cta-medium { height: 54px; padding: 0 32px; font-size: 16px; }
      .vivido-cta-btn.vivido-cta-large { height: 64px; padding: 0 40px; font-size: 20px; }
      .vivido-cta-btn.vivido-cta-extra-large { height: 76px; padding: 0 48px; font-size: 24px; }
      @media (max-width: 600px) {
        .vivido-cta-btn.vivido-cta-large { height: 58px; padding: 0 32px; font-size: 16px; }
        .vivido-cta-btn.vivido-cta-extra-large { height: 66px; padding: 0 40px; font-size: 20px; }
      }
      @media (max-width: 380px) {
        .vivido-cta-btn.vivido-cta-small { height: 40px; padding: 0 20px; font-size: 11px; }
        .vivido-cta-btn.vivido-cta-medium { height: 48px; padding: 0 24px; font-size: 12px; }
        .vivido-cta-btn.vivido-cta-large { height: 52px; padding: 0 24px; font-size: 12px; }
        .vivido-cta-btn.vivido-cta-extra-large { height: 56px; padding: 0 28px; font-size: 16px; }
      }
      /* CTA variant styles — color is controlled by the fontColor trait */
      .vivido-cta-btn.vivido-cta-pulse {
        background: #06e2b7;
        animation: elegantPulse 3s ease-in-out infinite;
      }
      .vivido-cta-btn.vivido-cta-aurora {
        background: linear-gradient(135deg, #06e2b7 0%, #159381 25%, #06d5e2 50%, #06e2b7 75%, #159381 100%);
        background-size: 400% 400%;
        animation: auroraShift 10s ease-in-out infinite;
      }
      .vivido-cta-btn.vivido-cta-aurora.vivido-anim-slow { animation-duration: 20s; }
      .vivido-cta-btn.vivido-cta-aurora.vivido-anim-fast { animation-duration: 5s; }
      .vivido-cta-btn.vivido-cta-luxe {
        background: #000;
        animation: luxeShimmer 4s linear infinite;
        background-size: 200% 100%;
        background-image: linear-gradient(90deg, #000 0%, #000 40%, rgba(255,255,255,0.08) 50%, #000 60%, #000 100%);
      }
      .vivido-cta-btn.vivido-cta-luxe-glow {
        background: #06e2b7;
        animation: luxeShimmer 4s linear infinite;
        background-size: 200% 100%;
        background-image: linear-gradient(90deg, #06e2b7 0%, #06e2b7 40%, rgba(255,255,255,0.3) 50%, #06e2b7 60%, #06e2b7 100%);
      }
      .vivido-cta-btn.vivido-cta-electric {
        background: transparent;
        border: 2px solid #06e2b7;
        animation: electricFlow 2s linear infinite;
        background-size: 300% 300%;
        background-image: linear-gradient(90deg, transparent, rgba(6,226,183,0.1), transparent);
      }
      .vivido-cta-btn.vivido-cta-bold {
        background: linear-gradient(135deg, #06e2b7, #159381);
        border: 4px solid #fff;
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-cta-btn.vivido-cta-bold:hover { transform: scale(1.05); }
      }

      /* ── FAQ Section ── */
      .vivido-faq-section {
        padding: 48px 0;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-faq-section .vfaq-title {
        font-size: 24px;
        font-weight: 600;
        margin: 0 0 32px;
        color: #fff;
        text-align: center;
      }
      @media (min-width: 720px) { .vivido-faq-section .vfaq-title { font-size: 32px; } }
      .vivido-faq-section .vfaq-list {
        display: flex;
        flex-direction: column;
        gap: 16px;
        max-width: 980px;
        margin: 0 auto;
      }
      .vivido-faq-section .vfaq-item {
        padding: 24px;
        border-radius: 10px;
        background: #1c1c1c;
        border: 1px solid #333333;
        transition: all 0.3s ease;
      }
      @media (min-width: 720px) { .vivido-faq-section .vfaq-item { padding: 32px; } }
      .vivido-faq-section .vfaq-question {
        font-weight: 600;
        margin: 0 0 12px;
        color: #fff;
        font-size: 16px;
      }
      .vivido-faq-section .vfaq-answer {
        line-height: 1.6;
        margin: 0;
        color: #c2c2c2;
        font-size: 16px;
      }
      /* FAQ answer rich text */
      .vivido-faq-section .vfaq-answer a { color: #06e2b7; text-decoration: underline; }
      .vivido-faq-section .vfaq-answer a:hover { color: #159381; }
      .vivido-faq-section .vfaq-answer strong, .vivido-faq-section .vfaq-answer b { font-weight: 700; }
      .vivido-faq-section .vfaq-answer em, .vivido-faq-section .vfaq-answer i { font-style: italic; }
      .vivido-faq-section .vfaq-answer ul, .vivido-faq-section .vfaq-answer ol { padding-left: 32px; margin: 8px 0; list-style: revert; }
      .vivido-faq-section .vfaq-answer li { margin-bottom: 4px; line-height: 1.6; }
      /* FAQ accordion (details/summary) */
      .vivido-faq-section details.vfaq-item { cursor: pointer; }
      .vivido-faq-section details.vfaq-item summary {
        display: flex;
        justify-content: space-between;
        align-items: center;
        list-style: none;
        font-weight: 600;
        color: #fff;
        font-size: 16px;
      }
      .vivido-faq-section details.vfaq-item summary::-webkit-details-marker { display: none; }
      .vivido-faq-section details.vfaq-item summary::after {
        content: '+';
        font-size: 32px;
        color: #06e2b7;
        font-weight: 600;
        transition: transform 0.3s ease;
        flex-shrink: 0;
        margin-left: 16px;
      }
      .vivido-faq-section details[open].vfaq-item summary::after { content: '\2212'; }
      .vivido-faq-section details[open].vfaq-item { border-color: #06e2b7; }
      .vivido-faq-section details.vfaq-item .vfaq-answer { margin-top: 12px; margin-bottom: 0; }
      @media (hover: hover) and (pointer: fine) {
        .vivido-faq-section details.vfaq-item:hover { background: #333333; border-color: #545454; }
      }
      /* FAQ size variants */
      .vivido-faq-section.vivido-faq-small .vfaq-question,
      .vivido-faq-section.vivido-faq-small summary { font-size: 12px; }
      .vivido-faq-section.vivido-faq-small .vfaq-answer { font-size: 12px; }
      .vivido-faq-section.vivido-faq-medium-small .vfaq-question,
      .vivido-faq-section.vivido-faq-medium-small summary { font-size: 14px; }
      .vivido-faq-section.vivido-faq-medium-small .vfaq-answer { font-size: 14px; }
      .vivido-faq-section.vivido-faq-medium .vfaq-question,
      .vivido-faq-section.vivido-faq-medium summary { font-size: 16px; }
      .vivido-faq-section.vivido-faq-medium .vfaq-answer { font-size: 16px; }
      .vivido-faq-section.vivido-faq-medium-large .vfaq-question,
      .vivido-faq-section.vivido-faq-medium-large summary { font-size: 20px; }
      .vivido-faq-section.vivido-faq-medium-large .vfaq-answer { font-size: 20px; }
      .vivido-faq-section.vivido-faq-large .vfaq-question,
      .vivido-faq-section.vivido-faq-large summary { font-size: 24px; }
      .vivido-faq-section.vivido-faq-large .vfaq-answer { font-size: 24px; }

      /* ── Journey Steps ── */
      .vivido-journey-steps {
        width: 100%;
        background: #1C1C1C;
        padding: 30px 0 50px;
        position: relative;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (max-width: 980px) { .vivido-journey-steps { padding: 60px 0; } }
      @media (max-width: 480px) { .vivido-journey-steps { padding: 40px 0; } }
      .vivido-journey-steps .vjs-container {
        max-width: 1152px;
        margin: 0 auto;
        padding: 0 24px;
        display: grid;
        grid-template-columns: 400px 1fr;
        gap: 80px;
        align-items: flex-end;
      }
      @media (max-width: 980px) {
        .vivido-journey-steps .vjs-container {
          grid-template-columns: 1fr;
          gap: 48px;
          text-align: center;
        }
      }
      .vivido-journey-steps .vjs-headline {
        font-size: 48px;
        font-weight: 800;
        color: #fff;
        line-height: 1.2;
        margin: 0;
      }
      @media (max-width: 980px) { .vivido-journey-steps .vjs-headline { font-size: 36px; } }
      @media (max-width: 480px) { .vivido-journey-steps .vjs-headline { font-size: 28px; } }
      .vivido-journey-steps .vjs-steps-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 32px;
        row-gap: 80px;
        position: relative;
        z-index: 2;
        padding-top: 30px;
      }
      @media (max-width: 720px) {
        .vivido-journey-steps .vjs-steps-grid {
          grid-template-columns: 1fr;
          gap: 48px;
        }
      }
      .vivido-journey-steps .vjs-step {
        border-radius: 16px;
        padding: 40px 32px;
        position: relative;
        min-height: 200px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        background: #333333;
      }
      /* Default card backgrounds (fallback when inline styles are lost on reload) */
      .vivido-journey-steps .vjs-step:nth-child(1) { background: #333333; }
      .vivido-journey-steps .vjs-step:nth-child(2) { background: #000000; }
      .vivido-journey-steps .vjs-step:nth-child(3) { background: #06e2b7; }
      .vivido-journey-steps .vjs-step:nth-child(3) .vjs-step-title { color: #000000; }
      .vivido-journey-steps .vjs-step:nth-child(3) .vjs-step-desc { color: rgba(0,0,0,0.7); }
      .vivido-journey-steps .vjs-step:nth-child(4) { background: #545454; }
      @media (max-width: 980px) { .vivido-journey-steps .vjs-step { padding: 32px 24px; } }
      @media (max-width: 480px) {
        .vivido-journey-steps .vjs-step {
          padding: 40px 24px 24px;
          min-height: auto;
          background: transparent !important;
        }
      }
      .vivido-journey-steps .vjs-badge {
        position: absolute;
        top: -24px;
        left: 50%;
        transform: translateX(-50%);
        border: 6px solid #1C1C1C;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: #06e2b7;
        color: #000000;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        font-weight: 800;
        z-index: 3;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (max-width: 480px) {
        .vivido-journey-steps .vjs-badge {
          width: 48px; height: 48px; font-size: 20px;
          border: 4px solid #fff;
          background: transparent;
          color: #06e2b7;
        }
      }
      .vivido-journey-steps .vjs-step-title {
        font-size: 20px;
        font-weight: 600;
        color: #06e2b7;
        margin: 8px 0 0;
        text-align: center;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (max-width: 980px) { .vivido-journey-steps .vjs-step-title { font-size: 18px; } }
      @media (max-width: 480px) { .vivido-journey-steps .vjs-step-title { font-size: 16px; } }
      .vivido-journey-steps .vjs-step-desc {
        font-size: 14px;
        font-weight: 400;
        color: rgba(255,255,255,0.7);
        margin: 0;
        line-height: 1.6;
        text-align: center;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (max-width: 480px) {
        .vivido-journey-steps .vjs-step-desc { font-size: 13px; color: rgba(255,255,255,0.8); }
      }

      /* ── Logo Row ── */
      .vivido-logo-row {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 24px;
        padding: 16px 0;
      }
      @media (min-width: 720px) { .vivido-logo-row { gap: 32px; } }
      @media (max-width: 600px) { .vivido-logo-row { gap: 16px; } }
      .vivido-logo-row img {
        object-fit: contain;
        transition: all 0.6s cubic-bezier(0.14, 0.07, 0, 1);
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-logo-row img:hover { opacity: 0.8; transform: scale(1.02); }
      }
      .vivido-logo-row.vivido-logo-xs img { height: 40px; }
      .vivido-logo-row.vivido-logo-sm img { height: 60px; }
      .vivido-logo-row.vivido-logo-md img { height: 80px; }
      .vivido-logo-row.vivido-logo-lg img { height: 100px; }
      .vivido-logo-row.vivido-logo-xl img { height: 120px; }
      @media (max-width: 480px) {
        .vivido-logo-row.vivido-logo-xs img { height: 32px; }
        .vivido-logo-row.vivido-logo-sm img { height: 48px; }
        .vivido-logo-row.vivido-logo-md img { height: 64px; }
        .vivido-logo-row.vivido-logo-lg img { height: 80px; }
        .vivido-logo-row.vivido-logo-xl img { height: 96px; }
      }

      /* ── Banner ── */
      .vivido-banner {
        width: 100%;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-banner h2 {
        margin: 0;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }

      /* ── Press Download Section ── */
      .vivido-press-section {
        padding: 24px;
        margin-bottom: 32px;
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 12px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-press-section:last-child { margin-bottom: 0; }
      @media (min-width: 720px) { .vivido-press-section { padding: 32px; } }
      .vivido-press-section .vps-header {
        margin-bottom: 32px;
        padding-bottom: 24px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
      }
      .vivido-press-section .vps-title {
        font-size: 20px;
        font-weight: 600;
        color: #fff;
        margin: 0;
      }
      @media (min-width: 720px) { .vivido-press-section .vps-title { font-size: 24px; } }
      .vivido-press-section .vps-description {
        font-size: 16px;
        color: #c2c2c2;
        margin: 12px 0 0;
        line-height: 1.5;
      }
      .vivido-press-section .vps-grid {
        display: grid;
        gap: 20px;
        grid-template-columns: 1fr;
      }
      @media (min-width: 720px) { .vivido-press-section .vps-grid { grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 980px) { .vivido-press-section .vps-grid { grid-template-columns: repeat(3, 1fr); } }
      .vivido-press-section .vps-card {
        padding: 24px;
        gap: 16px;
        background: rgba(255,255,255,0.1);
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 12px;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-press-section .vps-card:hover {
          background: rgba(255,255,255,0.2);
          border-color: rgba(255,255,255,0.25);
          transform: translateY(-2px);
        }
      }
      .vivido-press-section .vps-card-title {
        font-size: 16px; font-weight: 600; color: #fff; margin: 0 0 8px;
      }
      .vivido-press-section .vps-card-desc {
        font-size: 14px; color: #c2c2c2; margin: 0 0 12px; line-height: 1.5; flex: 1;
      }
      .vivido-press-section .vps-meta {
        display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
      }
      .vivido-press-section .vps-badge {
        font-size: 12px; font-weight: 600;
        background: rgba(6,226,183,0.2); color: #06e2b7;
        padding: 4px 8px; border-radius: 4px; text-transform: uppercase;
      }
      .vivido-press-section .vps-size { font-size: 12px; color: #999; }
      .vivido-press-section .vps-download {
        display: inline-flex; align-items: center; justify-content: center;
        gap: 8px; padding: 12px 20px; font-size: 14px; font-weight: 600;
        border: 1px solid #06e2b7; border-radius: 8px;
        color: #06e2b7; background: transparent;
        text-decoration: none; cursor: pointer;
        position: relative; overflow: hidden;
        transition: color 0.3s ease, border-color 0.3s ease;
      }
      .vivido-press-section .vps-download::before {
        content: ''; position: absolute; top: 0; left: 0;
        width: 100%; height: 100%;
        background: #06e2b7;
        transform: scaleX(0); transform-origin: right;
        transition: transform 0.3s ease; z-index: 0;
      }
      .vivido-press-section .vps-download span,
      .vivido-press-section .vps-download svg {
        position: relative; z-index: 1;
      }
      .vivido-press-section .vps-download svg {
        width: 16px; height: 16px;
        stroke: #06e2b7; transition: stroke 0.3s ease;
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-press-section .vps-download:hover {
          color: #fff; border-color: #06e2b7;
        }
        .vivido-press-section .vps-download:hover::before {
          transform: scaleX(1); transform-origin: left;
        }
        .vivido-press-section .vps-download:hover svg {
          stroke: #fff;
        }
      }

      /* ── Press Media Cards (image/logo downloads with thumbnails) ── */
      .vivido-press-section .vps-media-grid {
        display: grid; gap: 16px; margin-top: 24px;
      }
      @media (min-width: 720px) { .vivido-press-section .vps-media-grid { grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 980px) { .vivido-press-section .vps-media-grid { grid-template-columns: repeat(3, 1fr); } }
      .vivido-press-section .vps-media-card {
        display: flex; flex-direction: column;
        background: rgba(255,255,255,0.1);
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 10px; overflow: hidden;
        transition: all 0.3s ease;
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-press-section .vps-media-card:hover {
          border-color: rgba(255,255,255,0.25);
        }
        .vivido-press-section .vps-media-card:hover .vps-thumbnail img {
          transform: scale(1.03);
        }
      }
      .vivido-press-section .vps-thumbnail {
        width: 100%; aspect-ratio: 16 / 9;
        position: relative; overflow: hidden;
      }
      .vivido-press-section .vps-thumbnail img {
        width: 100%; height: 100%; object-fit: cover;
        transition: transform 0.3s ease;
      }
      .vivido-press-section .vps-thumbnail.vps-svg-thumb {
        background: rgba(255,255,255,0.1);
      }
      .vivido-press-section .vps-thumbnail.vps-svg-thumb img {
        object-fit: contain; padding: 12px;
      }
      .vivido-press-section .vps-media-footer {
        display: flex; align-items: center; gap: 12px;
        padding: 12px; background: rgba(255,255,255,0.1);
      }
      .vivido-press-section .vps-media-info { flex: 1; min-width: 0; }
      .vivido-press-section .vps-media-title {
        font-size: 14px; font-weight: 600; color: #fff; margin: 0;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
      }
      .vivido-press-section .vps-media-meta {
        display: flex; align-items: center; gap: 8px; margin-top: 4px;
      }
      .vivido-press-section .vps-media-download {
        display: flex; align-items: center; justify-content: center;
        width: 32px; height: 32px; flex-shrink: 0;
        background: #06e2b7; border-radius: 8px;
        text-decoration: none; cursor: pointer;
        transition: all 0.3s ease;
      }
      .vivido-press-section .vps-media-download svg {
        width: 16px; height: 16px; stroke: #fff;
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-press-section .vps-media-download:hover {
          background: #159381; transform: scale(1.05);
        }
      }

      /* Transparent background variant */
      .vivido-press-section.vivido-bg-transparent,
      .vivido-press-section.vivido-bg-transparent .vps-card,
      .vivido-press-section.vivido-bg-transparent .vps-media-card {
        background-color: transparent !important;
        background: transparent !important;
      }

      /* ── Press card: media variant (thumbnail preview) ──
         Toggled via the "Card Type: Media" trait. Reuses the base
         .vps-thumbnail rules above and adds an in-card look + empty state. */
      .vivido-press-section .vps-card--media .vps-card-desc { display: none; }
      .vivido-press-section .vps-card--media .vps-thumbnail {
        border-radius: 8px;
        margin-bottom: 4px;
        background: rgba(255,255,255,0.06);
      }
      .vivido-press-section .vps-card--media .vps-thumbnail img { border-radius: 8px; }
      .vivido-press-section .vps-card--media .vps-thumbnail img[src=""],
      .vivido-press-section .vps-card--media .vps-thumbnail img:not([src]) { opacity: 0; }
      .vivido-press-section .vps-card--media .vps-thumbnail--empty {
        display: flex; align-items: center; justify-content: center;
      }
      .vivido-press-section .vps-card--media .vps-thumbnail--empty::before {
        content: 'Select a preview image';
        color: rgba(255,255,255,0.4);
        font-size: 13px;
      }

      /* ── Press Hero ── */
      .vivido-press-hero {
        text-align: center;
        padding: 40px 24px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (min-width: 720px) { .vivido-press-hero { padding: 60px 32px 40px; } }
      .vivido-press-hero .vph-title {
        font-size: 32px; font-weight: 700; color: #fff; margin: 0 0 20px;
      }
      @media (min-width: 720px) { .vivido-press-hero .vph-title { font-size: 48px; margin-bottom: 24px; } }
      .vivido-press-hero .vph-description {
        max-width: 840px; margin: 0 auto;
        font-size: 16px; line-height: 1.5; color: #c2c2c2;
        white-space: pre-line;
      }
      @media (min-width: 720px) { .vivido-press-hero .vph-description { font-size: 20px; } }

      /* ── Press Contacts ── */
      .vivido-press-contacts {
        padding: 24px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-press-contacts .vpc-wrapper {
        background: rgba(255,255,255,0.1);
        border-radius: 24px;
        padding: 32px;
      }
      @media (min-width: 720px) {
        .vivido-press-contacts .vpc-wrapper { padding: 32px 60px; }
      }
      @media (min-width: 980px) {
        .vivido-press-contacts .vpc-wrapper { padding: 32px 80px; }
      }
      .vivido-press-contacts .vpc-grid {
        display: grid; gap: 24px;
      }
      @media (min-width: 720px) {
        .vivido-press-contacts .vpc-grid {
          grid-template-columns: repeat(2, 1fr);
          gap: 32px; max-width: 600px; margin: 0 auto;
        }
      }
      .vivido-press-contacts .vpc-item {
        display: flex; align-items: center; gap: 16px;
      }
      @media (min-width: 720px) {
        .vivido-press-contacts .vpc-item {
          flex-direction: column; text-align: center;
        }
      }
      .vivido-press-contacts .vpc-icon {
        width: 48px; height: 48px; flex-shrink: 0;
        display: flex; align-items: center; justify-content: center;
        background: linear-gradient(305deg, #159381 0%, #06e2b7 99%);
        border-radius: 12px;
      }
      .vivido-press-contacts .vpc-icon svg { width: 24px; height: 24px; }
      .vivido-press-contacts .vpc-icon svg path { fill: #fff; stroke: none; }
      .vivido-press-contacts .vpc-info { flex: 1; }
      @media (min-width: 720px) { .vivido-press-contacts .vpc-info { flex: none; } }
      .vivido-press-contacts .vpc-label {
        font-size: 12px; font-weight: 600; color: #999;
        margin: 0 0 4px; text-transform: uppercase; letter-spacing: 0.5px;
      }
      .vivido-press-contacts .vpc-value {
        font-size: 16px; color: #fff; margin: 0; line-height: 1.4;
      }
      .vivido-press-contacts .vpc-link {
        font-size: 16px; color: #06e2b7;
        text-decoration: none; transition: color 0.2s ease;
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-press-contacts .vpc-link:hover {
          color: #06e2b7; text-decoration: underline;
        }
      }

      /* ── Category Carousel ── */
      .vivido-category-carousel {
        background: #1C1C1C;
        padding: 16px 0 112px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      @media (max-width: 480px) { .vivido-category-carousel { padding: 48px 0; } }
      .vivido-category-carousel .vcar-container {
        max-width: 1152px; margin: 0 auto; padding: 0 40px;
      }
      @media (max-width: 480px) { .vivido-category-carousel .vcar-container { padding: 0 16px; } }
      .vivido-category-carousel .vcar-title {
        font-size: 48px; font-weight: 600; color: #fff;
        text-align: center; margin: 0 0 96px;
      }
      @media (max-width: 720px) { .vivido-category-carousel .vcar-title { font-size: 32px; margin-bottom: 64px; } }
      @media (max-width: 480px) { .vivido-category-carousel .vcar-title { font-size: 28px; margin-bottom: 48px; } }
      .vivido-category-carousel .vcar-title span { color: #06e2b7; }
      .vivido-category-carousel .vcar-scroll {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 24px;
        padding: 24px 0;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
      }
      .vivido-category-carousel .vcar-scroll::-webkit-scrollbar { display: none; }
      .vivido-category-carousel .vcar-scroll .vivido-category-card {
        scroll-snap-align: start;
        flex: 0 0 367px;
      }
      @media (max-width: 1280px) { .vivido-category-carousel .vcar-scroll .vivido-category-card { flex: 0 0 280px; } }
      @media (max-width: 720px) { .vivido-category-carousel .vcar-scroll .vivido-category-card { flex: 0 0 300px; } }
      @media (max-width: 480px) { .vivido-category-carousel .vcar-scroll .vivido-category-card { flex: 0 0 260px; } }
      .vivido-category-carousel .vcar-nav {
        display: flex; justify-content: center; gap: 16px; margin-top: 32px;
      }
      .vivido-category-carousel .vcar-nav-btn {
        width: 48px; height: 48px; border-radius: 50%;
        border: 2px solid #fff; background: transparent; color: #fff;
        cursor: pointer; display: flex; align-items: center; justify-content: center;
        transition: all 0.3s ease;
      }
      @media (hover: hover) and (pointer: fine) {
        .vivido-category-carousel .vcar-nav-btn:hover { transform: scale(1.1); background: rgba(255,255,255,0.1); }
      }
      .vivido-category-carousel .vcar-nav-btn:active { transform: scale(0.9); }

      /* ── FAQ Schema placeholder ── */
      .vivido-faq-schema {
        padding: 24px;
        border: 2px dashed rgba(6,226,183,0.4);
        border-radius: 12px;
        text-align: center;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        color: #06e2b7;
        background: rgba(6,226,183,0.05);
      }
      .vivido-faq-schema .vfs-icon { font-size: 32px; margin-bottom: 8px; }
      .vivido-faq-schema .vfs-title { font-size: 16px; font-weight: 600; margin: 0 0 4px; }
      .vivido-faq-schema .vfs-desc { font-size: 12px; color: #c2c2c2; margin: 0; }

      /* ── Two-Column Section ── */
      .vivido-two-col-section {
        width: 100%;
        padding: 60px 24px;
        font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      }
      .vivido-two-col-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        max-width: 1152px;
        margin: 0 auto;
        gap: 32px;
        align-items: center;
      }
      .vivido-two-col-grid.vivido-ratio-60-40 { grid-template-columns: 3fr 2fr; }
      .vivido-two-col-grid.vivido-ratio-40-60 { grid-template-columns: 2fr 3fr; }
      .vivido-two-col-grid.vivido-gap-tight { gap: 16px; }
      .vivido-two-col-grid.vivido-gap-normal { gap: 32px; }
      .vivido-two-col-grid.vivido-gap-relaxed { gap: 48px; }
      .vivido-two-col-grid.vivido-gap-spacious { gap: 64px; }
      .vivido-two-col-grid.vivido-valign-start { align-items: start; }
      .vivido-two-col-grid.vivido-valign-center { align-items: center; }
      .vivido-two-col-grid.vivido-valign-end { align-items: end; }
      .vivido-two-col-grid.vivido-valign-stretch { align-items: stretch; }
      .vivido-two-col-left,
      .vivido-two-col-right {
        min-width: 0;
      }
      .vivido-two-col-left img,
      .vivido-two-col-right img {
        width: 100%;
        height: auto;
        border-radius: 12px;
        object-fit: cover;
      }
      @media (max-width: 720px) {
        .vivido-two-col-grid {
          grid-template-columns: 1fr !important;
          gap: 24px;
        }
        .vivido-two-col-grid.vivido-reverse-mobile .vivido-two-col-left { order: 2; }
        .vivido-two-col-grid.vivido-reverse-mobile .vivido-two-col-right { order: 1; }
      }

      /* ── CTA Full Width ── */
      .vivido-cta-btn.vivido-cta-fullwidth { width: 100%; text-align: center; }

      .vivido-journey-steps .vjs-steps-wrap { position: relative; }
      /* Hide decorative elements on existing pages that still have them in saved HTML */
      .vivido-journey-steps .vjs-dotted-line,
      .vivido-journey-steps .vjs-semicircle,
      .vivido-journey-steps .vjs-decorative { display: none; }

      /* ── Category Row ── */
      .vivido-category-row {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: 100%;
        gap: 32px;
      }
      .vivido-category-row.vivido-gap-tight { gap: 16px; }
      .vivido-category-row.vivido-gap-normal { gap: 32px; }
      .vivido-category-row.vivido-gap-relaxed { gap: 48px; }
      .vivido-category-row.vivido-gap-spacious { gap: 64px; }
      @media (max-width: 980px) { .vivido-category-row { grid-template-columns: repeat(2, 1fr); } }
      @media (max-width: 600px) { .vivido-category-row { grid-template-columns: 1fr; } }

      /* ── Free Image ── */
      .vivido-free-image { position: relative; overflow: hidden; display: inline-block; }
      .vivido-free-image img { display: block; width: 100%; height: 100%; }
      .vivido-free-image a { display: block; width: 100%; height: 100%; overflow: hidden; }

      /* ── Image Zoom Utility Classes ── */
      .vivido-img-zoom-12 { transform: scale(1.2); transform-origin: center center; }
      .vivido-img-zoom-15 { transform: scale(1.5); transform-origin: center center; }
      .vivido-img-zoom-2 { transform: scale(2); transform-origin: center center; }
  