      .landing-page-hero {
        position: relative;
        display: flex;
        flex-direction: column;
        background: #ffffff;
        min-height: 100vh;
        box-sizing: border-box;
        padding-top: 76px;
      }

      /* Hero content — two-column layout */
      .landing-hero-content {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        padding: 48px 64px 60px;
        gap: 0;
        min-height: 320px;
      }

      /* ── Drum roller (left column) ── */
      .hero-drum-col {
        flex-shrink: 0;
        width: 180px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        position: relative;
        height: 260px;
        overflow: hidden;
        /* fade top/bottom edges */
        mask-image: linear-gradient(to bottom,
            transparent 0%,
            black 22%,
            black 78%,
            transparent 100%);
        -webkit-mask-image: linear-gradient(to bottom,
            transparent 0%,
            black 22%,
            black 78%,
            transparent 100%);
      }

      .hero-drum-track {
        display: flex;
        flex-direction: column;
        gap: 10px;
        transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
        will-change: transform;
      }

      .hero-drum-item {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 7px 16px 7px 10px;
        border-radius: 200px;
        cursor: pointer;
        transition:
          background 0.35s ease,
          transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
          opacity 0.35s ease;
        white-space: nowrap;
        user-select: none;
      }

      .hero-drum-item .drum-dot {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        transition: background 0.35s ease, color 0.35s ease;
      }

      .hero-drum-item .drum-label {
        font-family: 'Libre Baskerville', 'Times New Roman', serif;
        font-size: 17px;
        font-style: italic;
        font-weight: 600;
        letter-spacing: -0.02em;
        transition: color 0.35s ease;
      }

      /* inactive state */
      .hero-drum-item {
        background: transparent;
        transform: scale(0.82);
        opacity: 0.38;
      }

      .hero-drum-item .drum-dot {
        background: #E8E8E8;
        color: #888;
      }

      .hero-drum-item .drum-label {
        color: #555;
      }

      /* active state */
      .hero-drum-item.drum-active {
        background: #0055FF;
        transform: scale(1);
        opacity: 1;
      }

      .hero-drum-item.drum-active .drum-dot {
        background: rgba(255, 255, 255, 0.22);
        color: #fff;
      }

      .hero-drum-item.drum-active .drum-label {
        color: #ffffff;
      }

      /* one-step-away */
      .hero-drum-item.drum-near {
        transform: scale(0.91);
        opacity: 0.65;
      }

      /* ── Center content column ── */
      .hero-content-col {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
        padding: 0 40px;
        position: relative;
      }

      .hero-slide {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        position: absolute;
        width: 100%;
        transition:
          opacity 0.4s ease,
          transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      }

      .hero-slide.slide-enter-from-below {
        opacity: 0;
        transform: translateY(18px);
        pointer-events: none;
      }

      .hero-slide.slide-exit-to-above {
        opacity: 0;
        transform: translateY(-18px);
        pointer-events: none;
      }

      .hero-slide.slide-enter-from-above {
        opacity: 0;
        transform: translateY(-18px);
        pointer-events: none;
      }

      .hero-slide.slide-exit-to-below {
        opacity: 0;
        transform: translateY(18px);
        pointer-events: none;
      }

      .hero-slide.slide-visible {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
      }

      /* content col needs fixed height to contain absolute slides */
      .hero-content-col-inner {
        position: relative;
        width: 100%;
        height: 240px;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .landing-headline {
        font-family: 'Libre Baskerville', 'Times New Roman', serif;
        font-size: clamp(32px, 3vw, 46px);
        font-weight: 400;
        color: #000000;
        letter-spacing: -0.017em;
        line-height: 1.46;
        text-align: center;
        margin: 0;
        max-width: 560px;
      }

      .landing-headline em {
        font-style: italic;
      }

      .landing-subtitle {
        font-family: 'Inter', system-ui, sans-serif;
        font-size: 17px;
        font-weight: 400;
        color: #555555;
        letter-spacing: -0.025em;
        line-height: 1.5;
        text-align: center;
        margin: 0;
        max-width: 440px;
      }

      .landing-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #0055FF;
        color: #ffffff;
        font-family: 'Inter', system-ui, sans-serif;
        font-size: 17px;
        font-weight: 500;
        letter-spacing: -0.01em;
        line-height: 1.4;
        border-radius: 24px;
        padding: 10px 22px;
        text-decoration: none;
        transition: opacity 0.2s ease, transform 0.15s ease;
      }

      .landing-cta:hover {
        opacity: 0.88;
        transform: translateY(-1px);
      }

      .landing-email-link {
        font-family: 'Inter', system-ui, sans-serif;
        font-size: 14px;
        font-weight: 400;
        color: #888888;
        text-decoration: none;
        letter-spacing: -0.01em;
        transition: color 0.2s;
      }

      .landing-email-link:hover {
        color: #333333;
      }

      /* below the two-col: CTA row */
      .hero-cta-row {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        padding-bottom: 16px;
      }

      @media (max-width: 768px) {
        .landing-hero-content {
          flex-direction: column;
          padding: 32px 24px 40px;
          gap: 28px;
          min-height: unset;
        }

        .hero-drum-col {
          width: 100%;
          height: auto;
          overflow: visible;
          mask-image: none;
          -webkit-mask-image: none;
          flex-direction: row;
          flex-wrap: wrap;
          gap: 8px;
          justify-content: center;
        }

        .hero-drum-track {
          flex-direction: row;
          flex-wrap: wrap;
          justify-content: center;
          gap: 8px;
          transform: none !important;
          transition: none;
        }

        .hero-drum-item {
          transform: scale(1) !important;
          opacity: 1 !important;
        }

        .hero-drum-item:not(.drum-active) {
          background: #F0F0F0;
          opacity: 0.75 !important;
        }

        .hero-drum-item:not(.drum-active) .drum-label {
          color: #555;
        }

        .hero-content-col {
          padding: 0;
          width: 100%;
        }

        .hero-content-col-inner {
          height: 220px;
        }

        .landing-headline {
          font-size: 30px;
        }
      }

      /* Marquee carousel */
      .lph-marquee-section {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 46px 0 120px;
        overflow: hidden;
        background: #ffffff;
      }

      .lph-marquee-row {
        display: flex;
        width: max-content;
        gap: 10px;
        will-change: transform;
        cursor: grab;
      }

      .lph-marquee-row:active {
        cursor: grabbing;
      }

      .lph-sc {
        flex-shrink: 0;
        height: 350px;
        width: auto;
        border-radius: 16px;
        overflow: hidden;
        position: relative;
        padding: 24px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      /* Placeholder backgrounds — swap for images when ready */
      .lph-sc-bg-1 {
        background: url('../../Images/background_yellow_lightblue.webp') center / cover no-repeat;
      }

      .lph-sc-bg-2 {
        background: none;
        height: 350px;
        padding: 0;
      }

      .lph-sc-bg-3 {
        background: #222222;
      }

      .lph-sc-bg-4 {
        background: #F5D6FF;
      }

      .lph-sc-bg-4 .lph-sc-bg-video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 0;
      }

      .lph-sc-bg-4 video:not(.lph-sc-bg-video) {
        position: relative;
        z-index: 1;
      }

      .lph-sc-bg-5 {
        background: #E8E8E8;
      }

      .lph-sc-bg-6 {
        background: url('../../Images/background_pink_orange.webp') center / cover no-repeat;
      }

      .lph-sc-bg-7 {
        background: url('../../Images/background_light_green.webp') center / cover no-repeat;
      }

      .lph-sc-bg-8 {
        background: url('../../Images/background white purple.webp') center / cover no-repeat;
      }

      .lph-sc-dither {
        background: none;
        width: auto;
        padding: 0;
      }


      .lph-logos-wrap {
        position: relative;
        flex-shrink: 0;
        display: inline-flex;
        /* Allow tile to overflow above, clip below */
        clip-path: inset(-80px 0 -2px 0);
      }

      .lph-sc-logos {
        background: transparent;
        width: 169px;
        padding: 0;
        cursor: default;
      }



      .lph-sc-logos iframe {
        width: 169px;
        height: 350px;
        border: none;
        display: block;
        pointer-events: auto;
        flex-shrink: 0;
      }

      .lph-sc-text-anim {
        background: url('../../Images/bakcground_text_animation.png') center / cover no-repeat;
        width: 280px;
        padding: 0;
        cursor: default;
      }

      .lph-sc-text-anim iframe {
        width: 280px;
        height: 350px;
        border: none;
        display: block;
        pointer-events: auto;
        flex-shrink: 0;
      }

      .lph-text-anim-wrap {
        position: relative;
        flex-shrink: 0;
        display: inline-flex;
      }


      .lph-logos-hint {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%) translateY(6px);
        font-family: 'Libre Baskerville', 'Times New Roman', serif;
        font-style: normal;
        font-weight: 400;
        font-size: 12px;
        color: #626262;
        white-space: nowrap;
        opacity: 0;
        transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
        z-index: 10;
        pointer-events: none;
        letter-spacing: -0.2px;
        display: flex;
        align-items: center;
        gap: 2px;
      }

      .lph-logos-wrap.is-visible .lph-logos-hint {
        opacity: 1;
        transform: translateX(-50%) translateY(-32px);
        transition-delay: 1s;
        pointer-events: auto;
      }

      .lottie-drag {
        width: 24px;
        height: 24px;
        margin-left: -16px;
        margin-bottom: 4px;
        display: block;
        flex-shrink: 0;
      }

      .lph-sc-dither canvas {
        width: 100%;
        height: 100%;
        display: block;
      }

      .lph-sc video {
        height: 100%;
        max-height: 100%;
        width: auto;
        display: block;
        border-radius: 15px;
        pointer-events: none;
      }

      .lph-marquee-section {
        user-select: none;
      }

      @media (max-width: 768px) {
        .lph-marquee-section {
          display: flex;
          padding: 40px 0 60px;
        }

        .lph-sc {
          height: 240px;
          padding: 16px;
          border-radius: 18px;
        }

        .lph-sc-bg-2 {
          height: 240px;
          padding: 0;
        }

        .lph-sc-dither {
          padding: 0;
        }

        .lph-sc-logos iframe {
          height: 240px;
        }

        .lph-sc-bg-4 {
          display: none;
        }

        .lph-text-anim-wrap {
          display: none;
        }

        .lph-sc-text-anim {
          width: 200px;
        }

        .lph-sc-text-anim iframe {
          width: 200px;
          height: 240px;
        }
      }

      /* ─── Particle hero ─── */
      .hero-particle-wrap {
        display: flex;
        flex-direction: column;
        flex: 1;
      }

      .hero-p-canvas-wrap {
        position: relative;
        height: 30vh;
        margin-top: -100px;
        padding-top: 100px;
        overflow: visible;
      }

      #heroCanvas {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        display: block;
      }

      .hero-p-sentence {
        position: relative;
        z-index: 1;
        text-align: center;
        padding: 40px 260px 24px;
        font-size: 48px;
        font-family: 'Libre Baskerville', Georgia, serif;
        font-style: normal;
        font-weight: 400;
        color: #111;
        line-height: 1.3;
        letter-spacing: -0.02em;
        opacity: 0;
        transition: opacity 0.42s ease;
        animation: enter-up 1s cubic-bezier(0.16, 1, 0.3, 1) 220ms both;
      }

      @media (max-width: 1499px) {
        .hero-p-sentence {
          padding: 40px 220px 24px;
          font-size: 36px;
        }
      }

      @media (max-width: 1299px) {
        .hero-p-sentence {
          padding: 40px 100px 24px;
          font-size: 36px;
        }
      }

      .hero-p-bars {
        display: flex;
        justify-content: center;
        gap: 12px;
        padding: 0 48px 0;
        animation: enter-up 1s cubic-bezier(0.16, 1, 0.3, 1) 380ms both;
      }

      .hero-p-bar {
        flex: none;
        width: 88px;
        padding: 16px 0;
        cursor: pointer;
        position: relative;
        overflow: visible;
        background: transparent;
      }

      .hero-p-bar::before {
        content: '';
        display: block;
        height: 3px;
        border-radius: 1.5px;
        background: rgba(0, 0, 0, 0.12);
        transition: background 0.2s ease;
      }

      .hero-p-bar:hover::before {
        background: rgba(0, 0, 0, 0.22);
      }

      .hero-p-bar-fill {
        position: absolute;
        left: 0;
        right: 0;
        top: 16px;
        height: 3px;
        border-radius: 1.5px;
        background: #0055ff;
        transform-origin: left center;
        transform: scaleX(0);
        transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
      }



      .hero-p-bar.done .hero-p-bar-fill {
        transform: scaleX(0);
      }

      .hero-p-bar-label {
        position: absolute;
        bottom: 29px;
        left: 50%;
        transform: translateX(-50%) translateY(10px);
        opacity: 0;
        pointer-events: none;
        white-space: nowrap;
        font-size: 14px;
        font-weight: 300;
        font-family: 'Libre Baskerville', Georgia, serif;
        font-style: normal;
        color: #999;
        letter-spacing: -0.01em;
        transition: opacity 0.35s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      }

      .hero-p-bar:hover .hero-p-bar-label {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
      }

      .hero-p-bar.active .hero-p-bar-label {
        color: #0055ff;
      }

      .hero-p-cta {
        --press-x: 50%;
        --press-y: 50%;
        display: inline-flex;
        align-items: center;
        gap: 14px;
        width: fit-content;
        margin: 0;
        position: relative;
        z-index: 2;
        padding: 16px 60px;
        font-size: 20px;
        font-family: 'Libre Baskerville', Georgia, serif;
        font-style: normal;
        font-weight: 500;
        letter-spacing: -0.2px;
        color: #fff;
        background: #0055ff;
        border: 0;
        border-radius: 100px;
        cursor: pointer;
        text-decoration: none;
        overflow: hidden;
        isolation: isolate;
        transition:
          transform .35s cubic-bezier(.2, .7, .2, 1),
          box-shadow .35s cubic-bezier(.2, .7, .2, 1),
          background .25s ease;
        box-shadow:
          0 1px 0 rgba(255, 255, 255, .18) inset,
          0 6px 14px -8px rgba(0, 85, 255, .5),
          0 0 0 0 rgba(0, 85, 255, .35);
      }

      /* sheen sweep on hover */
      .hero-p-cta::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(120deg,
            rgba(255, 255, 255, 0) 30%,
            rgba(255, 255, 255, .22) 50%,
            rgba(255, 255, 255, 0) 70%);
        transform: translateX(-130%);
        transition: transform .9s cubic-bezier(.55, .05, .2, 1);
        pointer-events: none;
        z-index: 1;
      }

      /* ripple origin tracked via JS */
      .hero-p-cta::after {
        content: '';
        position: absolute;
        left: var(--press-x);
        top: var(--press-y);
        width: 12px;
        height: 12px;
        margin: -6px 0 0 -6px;
        background: rgba(255, 255, 255, .5);
        border-radius: 999px;
        transform: scale(0);
        opacity: 0;
        pointer-events: none;
        z-index: 1;
      }

      .hero-p-cta.is-pressed::after {
        animation: hero-ripple .65s cubic-bezier(.2, .7, .2, 1) forwards;
      }

      .hero-p-cta:hover {
        background: #2f74ff;
        transform: translateY(-2px);
        box-shadow:
          0 1px 0 rgba(255, 255, 255, .22) inset,
          0 14px 28px -10px rgba(0, 85, 255, .55),
          0 0 0 6px rgba(0, 85, 255, .10);
      }

      .hero-p-cta:hover::before {
        transform: translateX(130%);
      }

      .hero-p-cta:active {
        transform: translateY(0) scale(.98);
        transition-duration: .08s;
        box-shadow:
          0 1px 0 rgba(255, 255, 255, .18) inset,
          0 4px 10px -6px rgba(0, 85, 255, .5),
          0 0 0 0 rgba(0, 85, 255, .35);
      }

      .hero-p-cta .label {
        position: relative;
        z-index: 2;
        color: #fff;
      }



      .hero-p-cta:focus-visible {
        outline: none;
        box-shadow:
          0 1px 0 rgba(255, 255, 255, .22) inset,
          0 14px 28px -10px rgba(0, 85, 255, .55),
          0 0 0 4px rgba(0, 85, 255, .30);
      }

      @keyframes hero-ripple {
        0% {
          transform: scale(0);
          opacity: .55;
        }

        80% {
          opacity: 0;
        }

        100% {
          transform: scale(40);
          opacity: 0;
        }
      }



      /* ─── CTA + chat bubble wrapper ─── */
      .hero-cta-wrap {
        position: relative;
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 32px;
        margin-bottom: 160px;
        animation: enter-up 1s cubic-bezier(0.16, 1, 0.3, 1) 540ms both;
      }

      .hero-chat-bubble {
        position: absolute;
        top: calc(100% + 10px);
        left: 50%;
        transform: translateX(-50%) translateY(calc((1 - var(--bubble-progress, 0)) * (-100% - 10px))) scale(calc(0.85 + var(--bubble-progress, 0) * 0.15));
        transform-origin: top center;
        opacity: var(--bubble-progress, 0);
        pointer-events: none;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        white-space: nowrap;
      }

      .hero-chat-header {
        display: flex;
        align-items: center;
        margin-top: 8px;

        gap: 8px;
      }

      .hero-chat-avatar {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: #c8c8c8 url('../../Images/valentina.copenaghen.desktop.webp') no-repeat center;
        background-size: cover;
        flex-shrink: 0;
      }

      .hero-chat-name {
        font-family: Libre Baskerville, Georgia, serif;
        font-size: 14px;
        font-weight: 600;
        font-style: normal;
        line-height: 18px;
        color: #0055ff;
      }

      .hero-chat-content {
        background: #f1f6ff;
        border-radius: 4px 12px 12px 12px;
        padding: 14px 14px;
      }

      .hero-chat-message {
        font-family: 'Libre Baskerville', Georgia, serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 20px;
        color: #1c1c1e;
      }

      /* --- Mobile desktop hint bubble --- */
      .mobile-desktop-hint-bubble {
        display: none;
      }

      @keyframes bubble-slide-up {
        from {
          opacity: 0;
          transform: translateY(20px);
        }

        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @keyframes bubble-fade-out {
        from {
          opacity: 1;
          transform: translateY(0) scale(1);
        }

        to {
          opacity: 0;
          transform: translateY(16px) scale(0.92);
        }
      }

      @media (max-width: 768px) {
        .landing-page-hero {
          min-height: auto;
        }

        .landing-nav {
          padding: 24px 16px 12px;
          gap: 10px;
        }

        .hero-p-canvas-wrap {
          height: 22vh;
          margin-top: -60px;
          padding-top: 60px;
        }

        .hero-p-sentence {
          padding: 20px 60px 28px;
          font-size: 28px;
        }

        .hero-p-bars {
          gap: 8px;
          padding: 0 24px 0;
        }

        .hero-p-bar {
          width: 64px;
        }

        .hero-p-bar-label {
          font-size: 12px;
        }

        .hero-p-cta {
          font-size: 16px;
          padding: 16px 22px;
          margin-bottom: 0;
        }

        .hero-cta-wrap {
          margin-bottom: 100px;
        }

        .hero-chat-bubble {
          display: none !important;
        }

        .mobile-desktop-hint-bubble {
          --mx: 50%;
          --my: 50%;
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 8px;
          position: fixed;
          bottom: 24px;
          right: 24px;
          z-index: 9999;
          cursor: pointer;
          background: rgba(255, 255, 255, 0.6);
          border-radius: 22px 1px 22px 22px;

          pointer-events: auto;
          transform-origin: right bottom;
          animation: bubble-slide-up 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.5s both;
          transition: opacity 0.5s ease, transform 0.5s ease;
        }

        .mobile-desktop-hint-bubble.is-dismissed {
          animation: bubble-fade-out 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
          pointer-events: none;
        }

        .mobile-desktop-hint-bubble .hero-chat-content {
          --mx: 50%;
          --my: 50%;
          position: relative;
          overflow: hidden;
          isolation: isolate;
          /* Frosted glass base (t-rail-item active style) */
          background: rgba(255, 255, 255, 0.6);
          -webkit-backdrop-filter: blur(28px) saturate(180%);
          backdrop-filter: blur(28px) saturate(180%);
          /* Border style (t-rail-item active style) */
          border: 1px solid rgba(255, 255, 255, 0.7);
          border-radius: 22px 1px 22px 22px;
          /* Box shadow (t-rail-item active style) */
          box-shadow:
            0 8px 40px rgba(0, 0, 0, 0.08),
            inset 0 1px 0 rgba(255, 255, 255, 0.9);
          white-space: normal;
          max-width: 160px;
          padding: 14px 16px;
          will-change: transform;
          transition: box-shadow 0.3s ease;
        }

        /* Refraction border overlay — disabled in favor of t-rail-item active solid border */
        .mobile-desktop-hint-bubble .hero-chat-content .glass-border {
          display: none;
        }

        /* Liquid shimmer spotlight — follows touch/mouse in real-time */
        .mobile-desktop-hint-bubble .hero-chat-content::before {
          content: '';
          position: absolute;
          inset: 0;
          background: radial-gradient(circle 120px at var(--mx) var(--my),
              rgba(255, 255, 255, 0.35) 0%,
              rgba(255, 255, 255, 0.12) 30%,
              rgba(200, 215, 255, 0.06) 50%,
              transparent 70%);
          pointer-events: none;
          z-index: 1;
          transition: background 0.15s ease;
        }

        /* Prismatic refraction edge — light splitting through glass bottom */
        .mobile-desktop-hint-bubble .hero-chat-content::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 6%;
          right: 6%;
          height: 1px;
          background: linear-gradient(90deg,
              transparent 0%,
              rgba(130, 160, 255, 0.25) 12%,
              rgba(180, 130, 255, 0.2) 30%,
              rgba(255, 180, 200, 0.15) 50%,
              rgba(130, 200, 255, 0.22) 70%,
              rgba(200, 160, 255, 0.18) 88%,
              transparent 100%);
          pointer-events: none;
          z-index: 1;
        }

        .mobile-desktop-hint-bubble .hero-chat-header {
          position: relative;
          z-index: 2;
          margin-top: 0;
          margin-bottom: 8px;
        }

        .mobile-desktop-hint-bubble .hero-chat-name {
          color: #0055FF;
        }

        .mobile-desktop-hint-bubble .hero-chat-message {
          position: relative;
          z-index: 2;
          display: block;
          color: rgba(0, 10, 40, 0.75);
          font-size: 13px;
          line-height: 18px;
        }

        /* Apple Liquid Glass Close Button */
        .mobile-desktop-hint-bubble .hero-chat-close {
          position: absolute;
          top: 10px;
          right: 10px;
          width: 20px;
          height: 20px;
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          background: rgba(255, 255, 255, 0.2);
          border: 1px solid rgba(255, 255, 255, 0.4);
          color: rgba(0, 10, 40, 0.6);
          padding: 0;
          cursor: pointer;
          transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
          z-index: 10;
          backdrop-filter: blur(5px);
          -webkit-backdrop-filter: blur(5px);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
        }

        .mobile-desktop-hint-bubble .hero-chat-close:hover {
          background: rgba(255, 255, 255, 0.4);
          border-color: rgba(255, 255, 255, 0.6);
          color: rgba(0, 10, 40, 0.9);
          transform: scale(1.05);
        }

        .mobile-desktop-hint-bubble .hero-chat-close:active {
          background: rgba(255, 255, 255, 0.1);
          border-color: rgba(255, 255, 255, 0.2);
          transform: scale(0.95);
        }
      }

      @media (max-width: 600px) {
        .hero-p-sentence {
          padding: 20px 24px 16px;
          font-size: clamp(20px, 5.1vw, 28px);
        }
      }

      /* ── Landscape mobile (e.g. iPhone in landscape) ── */
      @media (max-width: 768px) and (orientation: landscape) {
        .mobile-desktop-hint-bubble {
          display: none;
        }
      }

      @media (orientation: landscape) and (max-height: 500px) {
        .landing-page-hero {
          padding-top: 64px;
        }

        .hero-p-canvas-wrap {
          height: 22vh;
          margin-top: -60px;
          padding-top: 60px;
        }

        .hero-p-sentence {
          font-size: 14px;
          padding-top: 16px;
          padding-left: 150px;
          padding-right: 150px;
        }

        .hero-p-cta {
          font-size: 16px;
          padding: 12px 44px;
        }

        .hero-cta-wrap {
          margin-top: 48px;
          margin-bottom: 48px;
        }

        .hero-p-bars {
          margin-top: 8px;
        }

        .lph-marquee-section {
          padding-top: 32px;
        }

        .lph-sc {
          height: 220px;
        }

        .lph-sc-bg-2 {
          height: 220px;
        }

        .lph-sc-logos iframe,
        .lph-sc-text-anim iframe {
          height: 220px;
        }

        .lph-text-anim-wrap,
        .lph-sc-bg-4 {
          display: none;
        }
      }