/* Conmoji homepage styles — shared across en/nl/es.
   Per-language overrides live in a small inline <style> after the link. */

    [data-aos]{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out}
    [data-aos="fade-up"]{transform:translateY(24px)}
    [data-aos="fade-right"]{transform:translateX(-24px)}
    [data-aos="fade-left"]{transform:translateX(24px)}
    [data-aos].aos-animate{opacity:1;transform:none}
    

        /* Critical inline styles */
        html { scroll-behavior: smooth; }
        .skip-link { position: absolute; left: 12px; top: 12px; background: #292E2A; color: #fff; padding: 10px 16px; border-radius: 8px; font-weight: 800; font-size: 14px; transform: translateY(-200%); transition: transform .2s ease; z-index: 1100; }
        .skip-link:focus { transform: translateY(0); }
        body { background-color: #FFFFFF; color: #1F211E; font-family: "Nunito", -apple-system, sans-serif; }
        h1, h2, h3, h4, h5, h6 { font-family: "Nunito", sans-serif; font-weight: 800; }
        h1,h2,h3,h4,h5,h6 { text-wrap: balance; }
        p,li,blockquote { text-wrap: pretty; }
        .logo-link { font-family: "Nunito", sans-serif; font-weight: 900; letter-spacing: -0.02em; }

        /* Kinso Pill Nav */
        .kinso-nav-container {
            backdrop-filter: blur(8px);
            background-color: rgba(255, 255, 255, 0.7);
            border: 1px solid rgba(255, 255, 255, 0.4);
            border-radius: 16px;
            box-shadow:
                rgba(0, 0, 0, 0.08) 0px 0.6px 0.6px -1.25px,
                rgba(0, 0, 0, 0.06) 0px 2.3px 2.3px -2.5px,
                rgba(0, 0, 0, 0.04) 0px 10px 10px -3.75px;
        }

        /* Floating Animation */
        .floating {
            animation: float 6s ease-in-out infinite;
        }

        @keyframes float {

            0%,
            100% {
                transform: translateY(0px);
            }

            50% {
                transform: translateY(-15px);
            }
        }

        /* Hero Shapes */
        .hero-shape {
            border-radius: 45% 55% 70% 30% / 30% 40% 60% 70%;
            filter: blur(80px);
            opacity: 0.6;
        }

        /* Hover lift */
        .hover-lift {
            transition: all 0.3s ease;
        }

        .hover-lift:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
        }

        /* Try Me Chip (from B_index) */
        .try-me-chip {
            position: absolute;
            top: 40px;
            left: -170px;
            background: #77ac77;
            color: white;
            padding: 8px 14px;
            border-radius: 50px;
            font-weight: 600;
            font-size: 0.85rem;
            box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
            animation: floatChip 3s ease-in-out infinite;
            z-index: 10;
            white-space: nowrap;
        }

        @keyframes floatChip {

            0%,
            100% {
                transform: translateY(0) translateX(0);
            }

            50% {
                transform: translateY(0) translateX(-10px);
            }
        }

        /* Chat Window (from B_index) */
        .chat-window-embed {
            border-radius: 24px;
            filter: drop-shadow(8px 8px 32px rgba(60, 80, 60, 0.20));
            overflow: hidden;
        }

        /* Stat moji decorations */
        .stats-card-wrapper {
            position: relative;
            display: flex;
            flex-direction: column;
        }

        .stats-moji-decoration {
            position: absolute;
            width: 126px;
            height: 126px;
            z-index: -1;
            pointer-events: none;
        }

        .stats-moji-decoration img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
            transform: scale(0.7);
        }

        .stats-moji-left-peek-1 {
            top: 90%;
            left: -75px;
            transform: translateY(-50%) rotate(-15deg);
            animation: peekFromLeft 20s infinite;
            animation-delay: 0s;
            opacity: 0;
        }

        .stats-moji-left-peek-2 {
            top: 10%;
            left: -75px;
            transform: translateY(-50%) rotate(-10deg);
            animation: peekFromLeft 20s infinite;
            animation-delay: 10s;
            opacity: 0;
        }

        .stats-moji-top-peek-1 {
            top: -90px;
            left: 70%;
            transform: translateX(-50%) rotate(10deg);
            animation: peekFromTop 20s infinite;
            animation-delay: 3s;
            opacity: 0;
        }

        .stats-moji-top-peek-2 {
            top: -150px;
            left: 20%;
            transform: translateX(-50%) rotate(-10deg);
            animation: peekFromTop 20s infinite;
            animation-delay: 13s;
            opacity: 0;
        }

        .stats-moji-right-peek-1 {
            top: 60%;
            right: -150px;
            transform: translateY(-50%) rotate(15deg);
            animation: peekFromRight 20s infinite;
            animation-delay: 6s;
            opacity: 0;
        }

        .stats-moji-right-peek-2 {
            top: 30%;
            right: -150px;
            transform: translateY(-50%) rotate(10deg);
            animation: peekFromRight 20s infinite;
            animation-delay: 16s;
            opacity: 0;
        }

        @keyframes peekFromLeft {

            0%,
            5% {
                left: 0px;
                opacity: 0;
            }

            10% {
                left: -75px;
                opacity: 1;
            }

            40% {
                left: -75px;
                opacity: 1;
            }

            45%,
            100% {
                left: 0px;
                opacity: 0;
            }
        }

        @keyframes peekFromTop {

            0%,
            5% {
                top: 0px;
                opacity: 0;
            }

            10% {
                top: -90px;
                opacity: 1;
            }

            40% {
                top: -90px;
                opacity: 1;
            }

            45%,
            100% {
                top: 0px;
                opacity: 0;
            }
        }

        @keyframes peekFromRight {

            0%,
            5% {
                right: -0px;
                opacity: 0;
            }

            10% {
                right: -70px;
                opacity: 1;
            }

            40% {
                right: -70px;
                opacity: 1;
            }

            45%,
            100% {
                right: -0px;
                opacity: 0;
            }
        }

        @media (max-width: 768px) {
            .stats-moji-decoration {
                display: none;
            }

            .try-me-chip {
                display: none;
            }

        }

        /* Hide full chat embed on mobile + tablet; show bubble widget instead */
        @media (max-width: 1024px) {
            flowise-fullchatbot {
                display: none !important;
            }

            /* Push chatbot bubble up on mobile to clear the nav */
            flowise-chatbot {
                --chatbot-bottom: 80px !important;
                bottom: 80px !important;
            }

            /* landing.css sets display:flex on .main-right globally — override it */
            .main-right { display: none !important; }

            /* Remove min-h-screen so hero doesn't leave empty space without the chat column */
            #hero { min-height: auto !important; }
        }

        /* Testimonial Carousel */
        .testimonial-track-outer {
            overflow: hidden;
            width: 100%;
        }

        .testimonial-track {
            display: flex;
            transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            will-change: transform;
        }

        .testimonial-slide {
            flex: 0 0 100%;
            min-width: 0;
        }

        .testimonial-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 48px;
            height: 48px;
            background: white;
            border: none;
            border-radius: 50%;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.14);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #1F211E;
            font-size: 0.875rem;
            z-index: 10;
            transition: all 0.2s ease;
        }

        .testimonial-arrow:hover {
            background: #77AC77;
            color: white;
            box-shadow: 0 6px 20px rgba(119, 172, 119, 0.4);
            transform: translateY(-50%) scale(1.1);
        }

        .testimonial-arrow-prev {
            left: -8px;
        }

        .testimonial-arrow-next {
            right: -8px;
        }

        .testimonial-tabs {
            display: flex;
            gap: 0.75rem;
            justify-content: center;
            flex-wrap: wrap;
            margin-top: 2.5rem;
            padding: 0 1rem;
        }

        .testimonial-tab {
            display: flex;
            align-items: center;
            gap: 0.625rem;
            padding: 0.5rem 1.125rem 0.5rem 0.5rem;
            background: rgba(255, 255, 255, 0.15);
            border: 2px solid rgba(255, 255, 255, 0.2);
            border-radius: 999px;
            cursor: pointer;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .testimonial-tab:hover {
            background: rgba(255, 255, 255, 0.28);
            border-color: rgba(255, 255, 255, 0.4);
        }

        .testimonial-tab.active {
            background: white;
            border-color: white;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        }

        .testimonial-tab img {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            object-fit: cover;
            flex-shrink: 0;
        }

        .testimonial-tab-name {
            font-size: 0.8125rem;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.8);
            white-space: nowrap;
            transition: color 0.3s ease;
        }

        .testimonial-tab.active .testimonial-tab-name {
            color: #1F211E;
        }

        .testimonial-tab-progress {
            position: absolute;
            bottom: 0;
            left: 0;
            height: 3px;
            width: 0%;
            background: #77AC77;
            border-radius: 999px;
        }

        .testimonial-tab.active .testimonial-tab-progress {
            animation: tab-fill 5s linear forwards;
        }

        @keyframes tab-fill {
            from {
                width: 0%;
            }

            to {
                width: 100%;
            }
        }

        @media (max-width: 640px) {
            .testimonial-arrow {
                display: none;
            }
        }

        /* ═══ Section Divider Band (Headspace-style) ═══ */
        .section-divider-band {
            position: relative;
            background: #77AC77;
            padding: 1.5rem 0;
            overflow: hidden;
        }

        .divider-marquee-wrapper {
            overflow: hidden;
            width: 100%;
        }

        .divider-marquee {
            display: flex;
            gap: 0;
            animation: divider-scroll 40s linear infinite;
            width: max-content;
        }

        @keyframes divider-scroll {
            0% {
                transform: translateX(0);
            }
            100% {
                transform: translateX(-50%);
            }
        }

        .divider-text {
            font-family: "Nunito", sans-serif;
            font-size: 1rem;
            font-weight: 600;
            color: white;
            white-space: nowrap;
            letter-spacing: 0.01em;
            padding: 0 0.25rem;
        }

        .divider-dot {
            color: rgba(255, 255, 255, 0.5);
            font-size: 0.75rem;
            padding: 0 0.75rem;
            display: flex;
            align-items: center;
        }

        @media (max-width: 768px) {
            .divider-text {
                font-size: 0.875rem;
            }
            .section-divider-band {
                padding: 0.75rem 0;
            }
        }

        /* Feature Ticker Styles (EXAMPLE design system) */
        .ticker {
          background: #5a8a5a;
          color: #fff;
          padding: 22px 0;
          border-radius: var(--r-pill);
          overflow: hidden;
          white-space: nowrap;
          margin: clamp(48px, 6vw, 80px) 0 0;
        }
        .ticker-track {
          display: inline-flex;
          gap: 56px;
          padding-left: 56px;
          font-weight: 800;
          font-size: 22px;
          letter-spacing: -0.01em;
          animation: tk 40s linear infinite;
          will-change: transform;
          backface-visibility: hidden;
        }
        .ticker-track span { display: inline-flex; gap: 8px; align-items: center; }
        .ticker-track span::after {
          content: "✦";
          color: var(--butter);
          margin-left: 56px;
        }
        @keyframes tk {
          from { transform: translateX(0); }
          to   { transform: translateX(-50%); }
        }

        /* Assessment Modal */
        #assessment-modal {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(31, 33, 30, 0.6);
            backdrop-filter: blur(8px);
            z-index: 1010;
            opacity: 0;
            transition: opacity 0.3s ease;
            align-items: center;
            justify-content: center;
            padding: 0.5rem;
        }

        #assessment-modal.open {
            display: flex;
            opacity: 1;
        }

        .assessment-modal-content {
            background: #efece4;
            width: 100%;
            max-width: 560px;
            height: min(620px, 88vh);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            border-radius: 2rem;
            position: relative;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            transform: scale(0.95);
            transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        #assessment-modal.open .assessment-modal-content {
            transform: scale(1);
        }

        @media (max-width: 640px) {
            #assessment-modal {
                padding: 0;
            }
            .assessment-modal-content {
                max-width: 100vw;
                width: 100vw;
                height: 100vh;
                max-height: 100vh;
                border-radius: 0;
            }
        }

        /* Quiz Styles */
        .quiz-option {
            background: white;
            border: 1.5px solid #d9c9b4;
            padding: 1.25rem 1.5rem;
            border-radius: 1.25rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            cursor: pointer;
            width: 100%;
        }

        .quiz-option.yes-option {
            border-color: #77AC77;
        }

        .quiz-option.yes-option:hover {
            background: #f0f7f0;
            transform: translateY(-2px);
            box-shadow: 0 10px 20px -10px rgba(119, 172, 119, 0.25);
        }

        .quiz-option.no-option:hover {
            background: #faf6f1;
            transform: translateY(-2px);
            box-shadow: 0 10px 20px -10px rgba(185, 145, 105, 0.2);
        }

        .quiz-option.selected {
            border-color: #77AC77;
            background: #F0F9F0;
            box-shadow: 0 0 0 1px #77AC77;
        }

        /* Text area for Big Five */
        .quiz-textarea {
            width: 100%;
            min-height: 100px;
            padding: 1rem 1.25rem;
            border: 2px solid #E5E7EB;
            border-radius: 1rem;
            font-family: 'Nunito', sans-serif;
            font-size: 1rem;
            resize: vertical;
            transition: border-color 0.3s ease;
            outline: none;
        }

        .quiz-textarea:focus {
            border-color: #77AC77;
        }

        /* Progress bar */
        .progress-container {
            height: 6px;
            background: #E8F5E8;
            border-radius: 100px;
            overflow: hidden;
        }

        .progress-bar-fill {
            height: 100%;
            background: #77AC77;
            border-radius: 100px;
            transition: width 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        /* Assessment CTA button */
        .assess-cta {
            display: flex; align-items: center; justify-content: space-between;
            width: 100%; padding: 8px 8px 8px 26px; gap: 10px;
            background: #77ac77; color: #1F211E;
            border: none; border-radius: 50px;
            font-family: "Nunito", sans-serif; font-weight: 800; font-size: 16px;
            cursor: pointer; transition: background .2s ease, transform .15s ease;
            box-shadow: 0 2px 12px rgba(119,172,119,0.25);
        }
        .assess-cta:hover { background: #5a8a5a; transform: translateY(-1px); }
        .assess-chip {
            width: 38px; height: 38px; flex-shrink: 0;
            background: #fcdd80; color: #1F211E;
            border-radius: 50%; display: grid; place-items: center;
            transition: transform .25s ease;
        }
        .assess-cta:hover .assess-chip { transform: rotate(-12deg); }
        .assess-chip svg { width: 16px; height: 16px; }

        /* Results card */
        .soft-results-card {
            background-color: #1F211E;
            border: 1px solid rgba(255, 255, 255, 0.05);
            box-shadow: 0 40px 100px -20px rgba(31, 33, 30, 0.4);
        }

        /* Video Modal */
        #video-modal {
            position: fixed;
            inset: 0;
            z-index: 9999;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1rem;
            background: rgba(0, 0, 0, 0);
            backdrop-filter: blur(0px);
            pointer-events: none;
            transition: background 0.35s ease, backdrop-filter 0.35s ease;
        }

        #video-modal.open {
            background: rgba(15, 20, 15, 0.82);
            backdrop-filter: blur(10px);
            pointer-events: all;
        }

        #video-modal-card {
            position: relative;
            width: 100%;
            max-width: 880px;
            background: #fff;
            border-radius: 28px;
            overflow: hidden;
            box-shadow: 0 40px 90px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.06);
            transform: scale(0.88) translateY(28px);
            opacity: 0;
            transition: transform 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.35s ease;
        }

        #video-modal.open #video-modal-card {
            transform: scale(1) translateY(0);
            opacity: 1;
        }

        #video-modal-close {
            position: absolute;
            top: 14px;
            right: 14px;
            z-index: 10;
            width: 34px;
            height: 34px;
            background: rgba(255, 255, 255, 0.92);
            backdrop-filter: blur(4px);
            border: 1px solid rgba(0, 0, 0, 0.08);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background 0.2s, transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.4);
            font-size: 0.8rem;
            color: #1F211E;
        }

        #video-modal-close:hover {
            background: #fff;
            transform: scale(1.12) rotate(90deg);
        }

        #video-modal-header {
            padding: 20px 56px 16px 22px;
            display: flex;
            align-items: center;
            gap: 10px;
            border-bottom: 1px solid #f1f5f9;
        }

        #video-modal-header .modal-logo {
            font-family: "Nunito", sans-serif;
            font-size: 1.35em;
            font-weight: 800;
            color: #77AC77;
            letter-spacing: -0.03em;
        }

        #video-modal-header .modal-tag {
            background: rgba(119, 172, 119, 0.12);
            color: #2e8b3c;
            font-size: 0.75rem;
            font-weight: 700;
            padding: 3px 11px;
            border-radius: 999px;
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }

        #video-modal #brand-video {
            width: 100%;
            display: block;
            background: #0a120a;
            max-height: 62vh;
            object-fit: contain;
        }

        #video-modal-footer {
            padding: 14px 22px 18px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            flex-wrap: wrap;
            border-top: 1px solid #f1f5f9;
        }

        #video-modal-footer p {
            font-size: 0.88rem;
            color: #64748b;
            font-weight: 600;
            margin: 0;
        }

        #video-modal-footer .modal-cta {
            background: #77AC77;
            color: white;
            font-weight: 700;
            font-size: 0.88rem;
            padding: 9px 22px;
            border-radius: 999px;
            text-decoration: none;
            transition: background 0.2s, transform 0.2s;
            white-space: nowrap;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        #video-modal-footer .modal-cta:hover {
            background: #5a9a5a;
            transform: scale(1.04);
        }

        @media (max-width: 600px) {
            #video-modal-card {
                border-radius: 18px;
            }

            #video-modal #brand-video {
                max-height: 45vh;
            }

            #video-modal-footer {
                flex-direction: column;
                align-items: flex-start;
            }
        }


        /* Language Switcher - Improved UX */
        .lang-switcher {
            position: relative;
        }

        .lang-switcher-btn {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 0.75rem;
            border-radius: 0.75rem;
            font-size: 0.875rem;
            font-weight: 600;
            color: #57534e;
            transition: all 0.2s ease;
            cursor: pointer;
            background: rgba(0, 0, 0, 0.03);
            border: 1px solid rgba(0, 0, 0, 0.08);
        }

        .lang-switcher-btn:hover {
            background: rgba(119, 172, 119, 0.1);
            border-color: rgba(119, 172, 119, 0.3);
        }

        .lang-switcher-btn .globe-icon {
            font-size: 1rem;
            color: #77AC77;
        }

        .lang-switcher-btn .current-flag {
            font-size: 1.1rem;
            line-height: 1;
        }

        .lang-dropdown {
            position: absolute;
            top: calc(100% + 0.5rem);
            right: 0;
            background: white;
            border-radius: 0.75rem;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
            padding: 0.5rem;
            min-width: 140px;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: all 0.2s ease;
            z-index: 200;
            border: 1px solid rgba(0, 0, 0, 0.08);
        }

        .lang-switcher:hover .lang-dropdown,
        .lang-switcher:focus-within .lang-dropdown {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .lang-dropdown a {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.625rem 0.75rem;
            border-radius: 0.5rem;
            font-size: 0.875rem;
            font-weight: 500;
            color: #57534e;
            text-decoration: none;
            transition: all 0.15s ease;
        }

        .lang-dropdown a .flag {
            font-size: 1.25rem;
            line-height: 1;
        }

        .lang-dropdown a:hover {
            background: rgba(119, 172, 119, 0.12);
            color: #5a8a5a;
        }

        .lang-dropdown a.active {
            background: rgba(119, 172, 119, 0.18);
            color: #5a8a5a;
        }

        .lang-dropdown a.active::after {
            content: '✓';
            margin-left: auto;
            font-weight: 700;
            color: #77AC77;
        }

        /* Mobile language switcher */
        .mobile-lang-switcher {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            margin-top: 1.5rem;
            padding: 1rem;
            background: rgba(0, 0, 0, 0.03);
            border-radius: 1rem;
        }

        .mobile-lang-switcher-label {
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: #a8a29e;
            margin-bottom: 0.25rem;
        }

        .mobile-lang-options {
            display: flex;
            gap: 0.5rem;
        }

        .mobile-lang-switcher a {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.625rem 1rem;
            border-radius: 0.5rem;
            font-size: 0.875rem !important;
            font-weight: 600 !important;
            color: #57534e !important;
            background: white;
            border: 1px solid rgba(0, 0, 0, 0.08);
            transition: all 0.2s ease;
            text-decoration: none;
        }

        .mobile-lang-switcher a .flag {
            font-size: 1.25rem;
        }

        .mobile-lang-switcher a:hover {
            background: rgba(119, 172, 119, 0.1);
            border-color: rgba(119, 172, 119, 0.3);
        }

        .mobile-lang-switcher a.active {
            background: rgba(119, 172, 119, 0.15);
            border-color: #77AC77;
            color: #5a8a5a !important;
        }

        /* Pulse soft */
        @keyframes pulse-soft {

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

            50% {
                opacity: 0.8;
                transform: scale(1.05);
            }
        }

        .animate-pulse-soft {
            animation: pulse-soft 3s ease-in-out infinite;
        }

        /* CTA benefit checkmarks */
        .cta-benefit {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.1);
            padding: 0.75rem 1.25rem;
            border-radius: 1rem;
            font-size: 0.9375rem;
            font-weight: 600;
            color: white;
        }

        /* Credibility founder card */
        .founder-card {
            background: white;
            border: 2px solid #E5E7EB;
            border-radius: 2rem;
            padding: 2.5rem;
            transition: all 0.3s ease;
        }

        .founder-card:hover {
            border-color: #77AC77;
            box-shadow: 0 20px 40px rgba(119, 172, 119, 0.1);
        }

        /* Research stat pill */
        .research-stat {
            background: #F0F9F0;
            border: 1px solid rgba(119, 172, 119, 0.15);
            border-radius: 1rem;
            padding: 1.5rem;
            text-align: center;
            transition: all 0.3s ease;
        }

        .research-stat:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
        }

        /* Waitlist form glow */
        #waitlist-form {
            box-shadow: 0 0 0 0 rgba(119, 172, 119, 0);
        }

        #waitlist-form:focus-within {
            box-shadow: 0 0 40px -10px rgba(119, 172, 119, 0.3);
        }

        /* Success modal */
        #success-modal {
            display: none;
        }

        /* Button polish */
        button,
        .btn-primary {
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        /* Bg utilities */
        .bg-moji-green {
            background-color: #77AC77 !important;
        }

        /* ═══ Mobile Optimization ═══ */
        @media (max-width: 640px) {
            /* Better touch targets - minimum 44px */
            button, a, .quiz-option, details summary {
                min-height: 44px;
            }
            
            /* Improve form usability */
            #waitlist-form {
                padding: 0.75rem;
            }
            #waitlist-form input {
                padding: 1rem 1.25rem;
                font-size: 1rem;
            }
            #waitlist-form button {
                padding: 1rem 1.5rem;
                width: 100%;
            }
            
            /* Stack CTA benefits */
            .cta-benefit {
                font-size: 0.875rem;
                padding: 0.625rem 1rem;
            }
            
            /* Testimonial cards padding */
            .testimonial-slide > div {
                padding: 1.5rem;
                border-radius: 2rem;
            }
            
            /* Section padding reduction */
            section {
                padding-top: 4rem;
                padding-bottom: 4rem;
            }
            
            /* Container padding */
            .container {
                padding-left: 1rem;
                padding-right: 1rem;
            }
        }
        
        @media (max-width: 480px) {
            /* Testimonial tab names hidden on very small screens */
            .testimonial-tab-name {
                display: none;
            }
            .testimonial-tabs {
                gap: 0.5rem;
            }
            .testimonial-tab {
                padding: 0.375rem;
            }
        }

        /* ═══ FAQ accordion ═══ */
        details.group {
            border: 1.5px solid #e5e7eb;
            transition: background .2s, border-color .2s;
        }
        details.group[open] {
            background: #dadbef !important;
            border-color: #7d7eba !important;
        }
        .faq-icon {
            flex-shrink: 0;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            border: 2px solid #7d7eba;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            font-weight: 300;
            color: #7d7eba;
            background: transparent;
            transition: background .2s, color .2s;
            line-height: 1;
        }
        details.group[open] .faq-icon {
            background: #7d7eba;
            color: #fff;
        }
        .faq-plus { display: block; }
        .faq-x    { display: none; }
        details.group[open] .faq-plus { display: none; }
        details.group[open] .faq-x    { display: block; }

        /* ═══ Cookie Consent Banner ═══ */
        #cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            z-index: 99998;
            transform: translateY(100%);
            transition: transform 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.1);
            pointer-events: none;
        }
        #cookie-banner.visible {
            transform: translateY(0);
            pointer-events: auto;
        }
        .cookie-banner-inner {
            background: #1F211E;
            border-top: 1px solid rgba(255,255,255,0.08);
            padding: 1.25rem 1.5rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;
            box-shadow: 0 -8px 32px rgba(0,0,0,0.35);
        }
        @media (min-width: 768px) {
            .cookie-banner-inner {
                flex-direction: row;
                align-items: center;
                justify-content: space-between;
                padding: 1rem 2.5rem;
                gap: 2rem;
            }
        }
        .cookie-banner-text {
            color: rgba(255,255,255,0.65);
            font-size: 0.875rem;
            line-height: 1.65;
            flex: 1;
        }
        .cookie-banner-text strong {
            color: white;
            font-weight: 700;
        }
        .cookie-banner-text a {
            color: #77AC77;
            text-decoration: underline;
            font-weight: 600;
        }
        .cookie-banner-text a:hover {
            color: #a0c8a0;
        }
        .cookie-banner-actions {
            display: flex;
            gap: 0.625rem;
            flex-shrink: 0;
            flex-wrap: wrap;
        }
        .cookie-btn-accept {
            background: #77AC77;
            color: white;
            border: none;
            padding: 0.625rem 1.5rem;
            border-radius: 999px;
            font-weight: 700;
            font-size: 0.875rem;
            cursor: pointer;
            transition: background 0.2s, transform 0.15s;
            white-space: nowrap;
        }
        .cookie-btn-accept:hover {
            background: #5a8a5a;
            transform: translateY(-1px);
        }
        .cookie-btn-necessary {
            background: transparent;
            color: rgba(255,255,255,0.55);
            border: 1px solid rgba(255,255,255,0.2);
            padding: 0.625rem 1.25rem;
            border-radius: 999px;
            font-weight: 600;
            font-size: 0.875rem;
            cursor: pointer;
            transition: all 0.2s;
            white-space: nowrap;
        }
        .cookie-btn-necessary:hover {
            border-color: rgba(255,255,255,0.5);
            color: white;
        }
        /* Cookie preferences re-open link */
        #cookie-prefs-btn {
            font-size: 0.75rem;
            color: rgba(255,255,255,0.3);
            background: none;
            border: none;
            cursor: pointer;
            padding: 0;
            text-decoration: underline;
            transition: color 0.2s;
        }
        #cookie-prefs-btn:hover {
            color: rgba(255,255,255,0.6);
        }
    

      /* --- tokens --- */
      :root {
        --paper: #efece4; --paper-soft: #f5f2ea; --card: #faf8f3;
        --ink: #292E2A; --ink-2: #2c322d; --ink-mute: #5a6058;
        --line: #d9d4c5; --line-soft: #e6e1d2;
        --green: #77ac77; --green-deep: #5a8a5a; --green-darker: #3d6c3e;
        --green-soft: #dbe7d4; --green-tint: #cee0c8;
        --butter: #fcdd80; --butter-soft: #fdf2c8;
        --coral: #e99d82; --coral-soft: #fbe1d6;
        --sky: #a9d6e5; --sky-soft: #e2f0f5;
        --blush: #f5bde2; --blush-soft: #fde4f4;
        --earth: #a6866d; --earth-soft: #e7d9cc;
        --lavender: #7d7eba; --lavender-mid: #9b9cd0; --lavender-soft: #dadbef;
        --r-sm: 10px; --r-md: 18px; --r-lg: 28px; --r-xl: 40px; --r-pill: 999px;
        --focus: 0 0 0 3px #fff, 0 0 0 6px var(--green-darker);
        --shadow-soft: 0 1px 0 rgba(31,42,35,.04), 0 6px 18px -8px rgba(31,42,35,.12);
        --shadow-card: 0 1px 0 rgba(31,42,35,.04), 0 14px 30px -16px rgba(31,42,35,.18);
        --section-y: clamp(80px, 8vw, 140px);
        --hf-container: 1440px;
        --container: 1440px;
      }
      @media (max-width: 900px) {
        :root { --section-y: clamp(56px, 10vw, 80px); }
      }

      /* --- hf-container --- */
      .hf-container { width: 100%; max-width: var(--hf-container); margin: 0 auto; padding: 0 64px; }
      @media (max-width: 720px) { .hf-container { padding: 0 24px; } }
      @media (max-width: 900px) { .hf-container { padding: 0 24px; } }

      /* --- eyebrow & lede --- */
      .eyebrow {
        display: inline-block; padding: 4px 16px;
        background: rgba(119,172,119,0.1); color: var(--green-deep);
        border-radius: 999px; font-size: 12px; font-weight: 700;
        text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 16px;
      }
      .lede { font-size: clamp(19px, 1.5vw, 24px); color: var(--ink-2); line-height: 1.55; max-width: 58ch; font-weight: 500; }
      @media (max-width: 900px) { .lede { font-size: 16px; } }

      /* --- hero v3 --- */
      #hero {
        padding-top: clamp(140px, 15vw, 200px) !important;
        padding-bottom: clamp(64px, 8vw, 100px) !important;
      }
      @media (max-width: 960px) {
        #hero { padding-top: 140px !important; padding-bottom: 72px !important; }
      }
      @media (max-width: 640px) {
        #hero { padding-top: 120px !important; padding-bottom: 60px !important; }
      }
      #hero h1 {
        font-size: clamp(44px, 6.6vw, 88px);
        line-height: 0.98;
        letter-spacing: -0.035em;
        font-weight: 900;
        margin-bottom: 24px;
        max-width: 16ch;
      }
      #value .hl { color: var(--butter); }
      .hero-ctas {
        display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
        margin-bottom: 36px;
      }
      .btn-watch {
        display: inline-flex; align-items: center; gap: 10px;
        padding: 8px 8px 8px 26px;
        background: #fff; color: var(--ink);
        border: 1.5px solid var(--line);
        border-radius: var(--r-pill);
        font-weight: 800; font-size: 16px;
        white-space: nowrap; cursor: pointer;
        font-family: inherit;
        transition: transform .15s ease, border-color .2s ease;
        box-shadow: var(--shadow-soft);
      }
      .btn-watch:hover { transform: translateY(-1px); border-color: var(--ink); }
      .btn-watch .chip {
        width: 38px; height: 38px;
        background: var(--coral-soft); color: var(--ink);
        border-radius: 50%; display: grid; place-items: center;
        transition: transform .25s ease; flex-shrink: 0;
      }
      .btn-watch:hover .chip { transform: rotate(8deg); }
      .btn-watch .chip svg { width: 14px; height: 14px; margin-left: 2px; }
      .hero-stats {
        display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
      }
      .hero-stats .hs-item { display: block; }
      .hero-stats .hs-num {
        font-size: 30px; font-weight: 900; color: var(--ink);
        line-height: 1; letter-spacing: -0.02em;
        display: inline-flex; align-items: center; gap: 4px;
      }
      .hero-stats .hs-unit { font-size: 18px; font-weight: 800; color: var(--ink-2); }
      .hero-stats .hs-label {
        display: block; font-size: 13px; font-weight: 700;
        color: var(--ink-2); margin-top: 6px;
        max-width: 18ch; line-height: 1.3;
      }
      .hero-stats .hs-rule {
        width: 1px; height: 36px;
        background: var(--line); align-self: center;
      }
      @media (max-width: 640px) {
        .hero-ctas { gap: 8px; margin-bottom: 28px; flex-wrap: nowrap; }
        .hero-ctas .btn-ds, .hero-ctas .btn-watch { font-size: 13px; padding: 6px 6px 6px 14px; gap: 8px; }
        .hero-ctas .btn-ds .chip, .hero-ctas .btn-watch .chip { width: 30px; height: 30px; flex-shrink: 0; }
        .hero-stats { gap: 0; flex-wrap: nowrap; width: 100%; justify-content: space-between; }
        .hero-stats .hs-item { flex: 1; display: flex; flex-direction: column; align-items: center; }
        .hero-stats .hs-num { font-size: 22px; }
        .hero-stats .hs-unit { font-size: 13px; }
        .hero-stats .hs-label { font-size: 11px; text-align: center; margin-top: 4px; }
        .hero-stats .hs-rule { display: block; height: 32px; }
      }

      /* --- section shell --- */
      .section { padding: var(--section-y) 0; background: var(--paper-soft); }
      /* Sections using hardcoded Tailwind values → standardised to system */
      #value { padding: var(--section-y) 0; }
      #how-it-works { padding: var(--section-y) 0; }
      #faq { padding: var(--section-y) 0; }
      /* Sub-sections within How It Works → half padding to avoid double-stacking */
      #how, #dashboard { padding-top: calc(var(--section-y) * 0.5); padding-bottom: calc(var(--section-y) * 0.5); }
      .value-card-badge {
        display: inline-block;
        font-size: 11px; font-weight: 800;
        text-transform: uppercase; letter-spacing: 0.1em;
        color: var(--ink-2);
        background: var(--paper-soft);
        border: 1px solid var(--line-soft);
        border-radius: 999px;
        padding: 4px 12px;
        margin-bottom: 16px;
      }
      .value-stat-num { font-weight: 900 !important; }
      .section.bg-white { background: #ffffff; }
      #how { background: #ffffff; }
      #testimonials { background: #ffffff; }
      .section-head { text-align: center; max-width: 1080px; margin: 0 auto clamp(48px, 6vw, 80px); }
      .section-head .eyebrow { margin-bottom: 22px; }
      .section-head h2 { margin-bottom: 18px; font-size: clamp(32px, 3.8vw, 52px); font-weight: 900; letter-spacing: -.025em; color: var(--ink); }
      .section-head .lede { margin: 0 auto; max-width: 60ch; }
      @media (max-width: 900px) { .section-head { margin-bottom: 40px; } .section-head h2 { font-size: clamp(24px, 6vw, 32px); } }

      /* --- buttons (new design system) --- */
      .btn-ds {
        display: inline-flex; align-items: center; gap: 10px;
        padding: 8px 8px 8px 26px; background: var(--green); color: var(--ink);
        border-radius: var(--r-pill); font-weight: 800; font-size: 16px;
        white-space: nowrap; transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
        box-shadow: var(--shadow-soft);
      }
      .btn-ds:hover { transform: translateY(-1px); background: var(--green-deep); }
      .btn-ds .chip { width: 38px; height: 38px; background: var(--butter); color: var(--ink); border-radius: 50%; display: grid; place-items: center; font-weight: 900; transition: transform .25s ease; }
      .btn-ds:hover .chip { transform: rotate(-12deg); }
      .btn-ds .chip svg { width: 16px; height: 16px; }
      .btn-ds.btn-lavender { background: var(--lavender); color: #fff; }
      .btn-ds.btn-lavender:hover { background: var(--lavender-mid); }
      .btn-ds.btn-lavender .chip { background: var(--butter); color: var(--ink); }
      .btn-ghost-light {
        display: inline-flex; align-items: center; gap: 10px;
        padding: 8px 8px 8px 26px; background: transparent; color: #fff;
        border: 1.5px solid rgba(255,255,255,.35); border-radius: var(--r-pill);
        font-weight: 800; font-size: 16px; transition: background .2s ease;
      }
      .btn-ghost-light:hover { background: rgba(255,255,255,.08); }
      .btn-ghost-light .chip { width: 38px; height: 38px; background: var(--butter); color: var(--ink); border-radius: 50%; display: grid; place-items: center; }
      .btn-ghost-light .chip svg { width: 16px; height: 16px; }
      /* .btn-signin-ds removed — superseded by .btn-signin in nav CSS */

      /* --- nav --- */
      /* --- smart header (mobile) --- */
      @media (max-width: 900px) {
        .nav { transition: transform 0.3s ease; }
        .nav.nav-hidden { transform: translateY(-100%); }
      }
      .nav {
        position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
        padding-top: 20px;
        padding-bottom: 0;
        background: transparent;
        pointer-events: none;
      }
      .nav .nav-shell {
        pointer-events: none;
        display: flex;
        justify-content: center;
      }
      .nav .nav-inner,
      .nav .nav-hamburger,
      .nav .mobile-menu { pointer-events: auto; }
      .nav-inner {
        display: inline-flex; align-items: center; justify-content: flex-start;
        gap: clamp(12px, 1.5vw, 24px);
        padding: 12px 16px 12px 56px;
        width: auto;
        max-width: calc(100vw - 32px);
        background: rgba(255, 255, 255, 0.45);
        backdrop-filter: saturate(200%) blur(22px);
        -webkit-backdrop-filter: saturate(200%) blur(22px);
        border: 1px solid rgba(255,255,255,0.55);
        border-radius: 999px;
        box-shadow:
          0 1px 0 rgba(255,255,255,0.7) inset,
          0 20px 40px -24px rgba(31,42,35,.18),
          0 4px 10px -6px rgba(31,42,35,.08);
        transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
      }
      .nav.scrolled .nav-inner {
        background: rgba(255, 255, 255, 0.55);
        box-shadow:
          0 1px 0 rgba(255,255,255,0.7) inset,
          0 22px 48px -24px rgba(31,42,35,.24),
          0 6px 14px -6px rgba(31,42,35,.10);
      }
      .nav-logo {
        display: flex; align-items: center; gap: 10px;
        --logo-color: #77ac77;
        color: var(--logo-color);
        flex-shrink: 0;
      }
      .nav-logo img,
      .nav-logo svg { height: 30px; width: auto; display: block; }
      .nav-logo span {
        font-weight: 900; font-size: 22px; letter-spacing: -0.02em;
        color: var(--logo-color);
      }
      .nav-links {
        display: flex; align-items: center; gap: clamp(4px, 0.6vw, 12px);
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
        flex-shrink: 1;
        min-width: 0;
      }
      .nav-links a {
        padding: clamp(8px, 0.6vw, 10px) clamp(10px, 1.3vw, 20px);
        font-size: clamp(14px, 1.4vw, 16px);
        font-weight: 700;
        color: var(--ink);
        border-radius: 999px;
        white-space: nowrap;
        transition: background .15s ease, color .15s ease;
        text-decoration: none;
      }
      .nav-links a:hover, .nav-links a:active, .nav-links a:focus-visible { background: rgba(31,42,35,0.06); outline: none; }
      .nav-right { display: flex; align-items: center; gap: clamp(8px, 1vw, 16px); flex-shrink: 0; margin-left: auto; }
      /* Ghost signin button */
      .btn-signin {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 22px;
        min-height: 54px;
        background: transparent;
        color: var(--ink);
        border: 1.5px solid var(--line);
        border-radius: var(--r-pill);
        font-weight: 800;
        font-size: 15px;
        letter-spacing: -0.01em;
        transition: background .2s ease, border-color .2s ease, transform .15s ease;
        white-space: nowrap;
        text-decoration: none;
      }
      .btn-signin:hover {
        background: var(--paper-soft);
        border-color: var(--ink);
        transform: translateY(-1px);
      }
      /* minimal globe lang switcher */
      .lang-globe {
        position: relative;
        display: inline-flex; align-items: center; justify-content: center;
        width: 40px; height: 40px;
        border-radius: 999px;
        background: transparent;
        color: var(--ink);
        transition: background .15s ease;
        margin-left: 4px;
      }
      .lang-globe:hover { background: rgba(31,42,35,0.06); }
      .lang-globe svg { width: 20px; height: 20px; }
      .lang-globe select {
        position: absolute; inset: 0;
        width: 100%; height: 100%;
        opacity: 0;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        border: 0;
        font: inherit;
      }
      /* hamburger + mobile menu */
      .nav-hamburger {
        display: none;
        width: 44px; height: 44px;
        background: var(--card);
        border: 1px solid var(--line-soft);
        border-radius: 14px;
        cursor: pointer;
        padding: 0;
        position: relative;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
      }
      .nav-hamburger span {
        display: block;
        width: 18px;
        height: 2px;
        background: var(--ink);
        border-radius: 2px;
        transition: transform .25s ease, opacity .2s ease;
      }
      .nav-hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
      .nav-hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
      .nav-hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
      .menu-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(15, 25, 18, 0.45);
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        opacity: 0;
        visibility: hidden;
        z-index: 998;
        transition: opacity .25s ease, visibility 0s linear .25s;
      }
      .nav.menu-open .menu-backdrop {
        opacity: 1;
        visibility: visible;
        transition: opacity .25s ease, visibility 0s linear 0s;
      }
      .mobile-menu {
        position: fixed;
        inset: 0;
        max-height: 100dvh;
        overflow-y: auto;
        background: var(--paper);
        border-radius: 0;
        box-shadow: none;
        border: none;
        z-index: 999;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-16px);
        pointer-events: none;
        transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
      }
      .nav.menu-open .mobile-menu {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        transition: opacity .22s ease, transform .22s ease, visibility 0s linear 0s;
      }
      .mobile-menu-close {
        position: absolute;
        top: 24px; right: 20px;
        width: 44px; height: 44px;
        border-radius: 50%;
        background: rgba(31,42,35,0.08);
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--ink);
      }
      .mobile-menu-close svg { width: 20px; height: 20px; }
      .mobile-menu-close:hover { background: rgba(31,42,35,0.14); }
      .mobile-menu > .hf-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        padding: 96px 20px 48px;
        min-height: 100dvh;
      }
      .mobile-menu a.mobile-nav-link {
        padding: 14px 20px;
        font-size: 26px;
        font-weight: 700;
        color: var(--ink);
        border-radius: 14px;
        display: block;
        text-decoration: none;
        text-align: center;
        width: 100%;
      }
      .mobile-menu a.mobile-nav-link:hover, .mobile-menu a.mobile-nav-link:active, .mobile-menu a.mobile-nav-link:focus-visible { background: rgba(31,42,35,0.06); outline: none; }
      .mobile-menu-divider {
        height: 1px;
        background: var(--line-soft);
        margin: 14px 0;
        width: 100%;
      }
      .mobile-cta-row {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
      }
      .mobile-menu .mobile-signin {
        flex: 1;
        background: transparent;
        color: var(--ink);
        border: 1.5px solid var(--line);
        text-align: center;
        border-radius: var(--r-pill);
        padding: 16px 16px;
        font-weight: 800;
        font-size: 20px;
        display: block;
        text-decoration: none;
      }
      .mobile-menu .mobile-signin:hover { background: var(--paper-soft); border-color: var(--ink); }
      .mobile-menu .btn-ds.mobile-cta {
        flex: 1;
        display: flex;
        justify-content: center;
        margin-top: 0;
        font-size: 20px;
        padding: 10px 10px 10px 28px;
      }
      .mobile-lang-pills {
        display: flex;
        gap: 8px;
        margin-top: 16px;
      }
      .mobile-lang-pill {
        text-decoration: none;
        display: inline-block;
        background: transparent;
        border: 1.5px solid var(--line-soft);
        border-radius: 999px;
        padding: 7px 18px;
        font-size: 13px;
        font-weight: 700;
        color: var(--ink-2);
        cursor: pointer;
        font-family: inherit;
        transition: background .15s, border-color .15s, color .15s;
      }
      .mobile-lang-pill.active {
        background: var(--ink);
        border-color: var(--ink);
        color: white;
      }
      .mobile-lang-pill:hover:not(.active) {
        border-color: var(--ink);
        color: var(--ink);
      }
      body.nav-locked { overflow: hidden; }
      /* hide sign-in before it crowds nav links */
      @media (max-width: 1380px) { .nav-inner { gap: clamp(8px, 0.8vw, 14px); } .nav-links a { padding: 6px 12px; } }
      @media (max-width: 1260px) { .btn-signin { display: none; } }
      /* tablet / mobile: hamburger */
      @media (max-width: 960px) {
        .nav-links { display: none; }
        .nav-right { display: none; }
        .nav-hamburger { display: flex; }
        .nav-inner { padding: 6px 6px 6px 18px; gap: 10px; width: 100%; justify-content: space-between; }
      }

      /* --- steps --- */
      .steps { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: stretch; column-gap: 16px; }
      .step { border: 1px solid transparent; border-radius: var(--r-xl); padding: 52px 36px 48px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px; min-height: 440px; transition: transform .3s ease, box-shadow .3s ease; }
      .step:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); }
      .step .icon { width: 120px; height: 120px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; }
      .step .icon svg { width: 56px; height: 56px; }
      .step h3 { font-size: clamp(20px, 1.6vw, 26px); margin: 0; font-weight: 900; }
      .step p { font-size: 15px; line-height: 1.6; margin: 0; }
      /* Step connector — butter yellow rounded arrow */
      .step-connector { display: flex; align-items: center; justify-content: center; align-self: center; width: 44px; height: 44px; background: var(--butter); border-radius: 50%; color: var(--ink); flex-shrink: 0; box-shadow: 0 2px 8px rgba(0,0,0,0.10); }
      .step-connector svg { width: 20px; height: 20px; }
      /* Card 1 — warm beige */
      .steps > .step:nth-child(1) { background: var(--paper-soft); border: 1.5px solid var(--line-soft); }
      .steps > .step:nth-child(1) h3 { color: var(--ink); }
      .steps > .step:nth-child(1) p { color: var(--ink-2); }
      .steps > .step:nth-child(1) .icon { background: #e7d9cc; }
      .steps > .step:nth-child(1) .icon svg { color: var(--ink); }
      /* Card 2 — light green */
      .steps > .step:nth-child(3) { background: #77ac77; border: 1.5px solid rgba(119,172,119,0.35); }
      .steps > .step:nth-child(3) h3 { color: var(--ink); }
      .steps > .step:nth-child(3) p { color: var(--ink-2); }
      .steps > .step:nth-child(3) .icon { background: #cee0c8; }
      .steps > .step:nth-child(3) .icon svg { color: var(--ink); }
      /* Card 3 — deep green */
      .steps > .step:nth-child(5) { background: var(--green-darker); border: 1.5px solid rgba(255,255,255,0.12); }
      .steps > .step:nth-child(5) h3 { color: #fff; }
      .steps > .step:nth-child(5) p { color: rgba(255,255,255,0.82); }
      .steps > .step:nth-child(5) .icon { background: rgba(255,255,255,0.18); }
      .steps > .step:nth-child(5) .icon svg { color: #fff; }
      .steps > .step:hover { transform: translateY(-4px); box-shadow: 0 20px 48px -16px rgba(31,42,35,.18); }
      @media (max-width: 900px) { .steps { grid-template-columns: 1fr; row-gap: 20px; } .step-connector { display: none; } .step { padding: 36px 28px 32px; min-height: auto; } .step .icon { width: 96px; height: 96px; } .step .icon svg { width: 44px; height: 44px; } }

      /* --- dashboards --- */
      .mojis-section { background: var(--paper-soft); }
      .feature-row { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(36px, 6vw, 80px); align-items: center; margin-bottom: clamp(56px, 7vw, 100px); }
      .feature-row:last-child { margin-bottom: 0; }
      .feature-row.reverse { grid-template-columns: 1.1fr 1fr; }
      .feature-row.reverse .feature-copy { order: 2; }
      .feature-row.reverse .feature-vis { order: 1; }
      .feature-copy .eyebrow { margin-bottom: 18px; }
      .feature-copy h3 { font-size: clamp(28px, 2.4vw, 38px); margin-bottom: 16px; font-weight: 900; color: var(--ink); }
      .feature-copy p { color: var(--ink-2); font-size: 17px; margin: 0 0 22px; }
      .feature-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
      .feature-list li { display: flex; gap: 12px; font-weight: 600; font-size: 16px; color: var(--ink); }
      .feature-list li::before { content: ""; width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%; background: var(--green-soft) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d8f5d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/12px no-repeat; margin-top: 1px; }
      .dash { background: #fff; border: 1px solid var(--line-soft); border-radius: var(--r-lg); padding: 22px; box-shadow: var(--shadow-card); position: relative; overflow: hidden; }
      .dash::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 36px; background: var(--paper-soft); border-bottom: 1px solid var(--line-soft); }
      .dash::after { content: ""; position: absolute; top: 12px; left: 16px; width: 12px; height: 12px; border-radius: 50%; background: var(--coral); box-shadow: 20px 0 0 var(--butter), 40px 0 0 var(--green-soft); }
      .dash > * { position: relative; margin-top: 18px; }
      .dash-identity { display: grid; gap: 16px; }
      .dash-identity .preview { display: grid; grid-template-columns: 100px 1fr; gap: 20px; background: var(--paper-soft); border-radius: var(--r-md); padding: 22px; align-items: center; }
      .dash-identity .preview .avatar { width: 100px; height: 100px; border-radius: 50%; background: var(--green-soft); display: grid; place-items: center; padding: 12px; }
      .dash-identity .preview .avatar img { width: 100%; }
      .dash-identity .preview .bubble { background: var(--card); border-radius: 18px 18px 18px 4px; padding: 14px 16px; font-size: 14px; font-weight: 600; color: var(--ink-2); border: 1px solid var(--line-soft); }
      .dash-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
      .dash-field { background: var(--paper-soft); border: 1px solid var(--line-soft); border-radius: var(--r-md); padding: 12px 14px; }
      .dash-field .label { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: var(--ink-mute); font-weight: 700; margin-bottom: 4px; }
      .dash-field .val { font-size: 14px; font-weight: 700; color: var(--ink); display: flex; align-items: center; gap: 8px; }
      .dash-field .swatch { width: 14px; height: 14px; border-radius: 50%; background: var(--green); }
      .dash-insights .lead-row { display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; align-items: center; padding: 12px 14px; background: var(--paper-soft); border: 1px solid var(--line-soft); border-radius: var(--r-md); margin-bottom: 10px; font-size: 13px; }
      .dash-insights .lead-row:last-child { margin-bottom: 0; }
      .dash-insights .lead-row .av { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: var(--ink); font-size: 13px; }
      .dash-insights .lead-row .nm { font-weight: 800; }
      .dash-insights .lead-row .meta { font-size: 11px; color: var(--ink-mute); font-weight: 600; }
      .dash-insights .lead-row .tag { font-size: 10px; padding: 4px 8px; border-radius: 999px; background: var(--green-soft); color: var(--green-deep); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
      .dash-insights .lead-row .tag.warm { background: var(--butter-soft); color: #8a6a14; }
      .dash-insights .lead-row .tag.cold { background: var(--sky-soft); color: #2f5f8a; }
      .dash-insights .header-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; font-size: 13px; font-weight: 800; }
      .dash-insights .stat-pill { background: var(--green-soft); color: var(--green-deep); padding: 4px 10px; border-radius: 999px; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
      .dash-forms .form-title { font-size: 14px; font-weight: 800; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
      .dash-forms .form-title::before { content: ""; width: 6px; height: 18px; border-radius: 3px; background: var(--green); }
      .dash-forms .field { background: var(--paper-soft); border: 1px solid var(--line-soft); border-radius: var(--r-md); padding: 12px 14px; margin-bottom: 10px; display: flex; align-items: center; gap: 10px; }
      .dash-forms .field .ic { width: 24px; height: 24px; border-radius: 6px; background: var(--green-tint); display: grid; place-items: center; flex-shrink: 0; color: var(--green-deep); }
      .dash-forms .field .ic svg { width: 14px; height: 14px; }
      .dash-forms .field .name { font-size: 13px; font-weight: 700; color: var(--ink); flex: 1; }
      .dash-forms .field .req { font-size: 10px; padding: 3px 7px; border-radius: 999px; background: var(--coral-soft); color: #8a3d24; font-weight: 800; }
      .dash-forms .field .req.opt { background: var(--line-soft); color: var(--ink-mute); }
      .dash-forms .submit-strip { background: var(--green); color: var(--ink); border-radius: var(--r-md); padding: 12px; text-align: center; font-weight: 800; font-size: 13px; margin-top: 10px; }
      @media (max-width: 900px) { .feature-row, .feature-row.reverse { grid-template-columns: 1fr; gap: 32px; margin-bottom: 56px; } .feature-row.reverse .feature-copy { order: 1; } .feature-row.reverse .feature-vis { order: 2; } .feature-copy h3 { font-size: 26px; } .dash { padding: 18px; } .dash-identity .preview { grid-template-columns: 72px 1fr; gap: 14px; padding: 16px; } .dash-identity .preview .avatar { width: 72px; height: 72px; } .dash-row { grid-template-columns: 1fr; gap: 10px; } }

      /* --- success stories --- */
      /* ── Testimonial carousel ── */
      .carousel-outer { overflow: hidden; width: 100%; padding: 16px 0 32px; cursor: default; position: relative; }
      .carousel-outer::before, .carousel-outer::after { display: none; }
      .carousel-track { display: flex; gap: 28px; width: max-content; }
      .carousel-track .tcard { min-width: 380px; max-width: 380px; }
      .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background: #fff; border: 1.5px solid var(--line-soft); border-radius: 50%; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.08); transition: box-shadow .15s, border-color .15s; padding: 0; }
      .carousel-btn:hover { border-color: var(--ink); box-shadow: 0 4px 16px rgba(0,0,0,.12); }
      .carousel-btn svg { width: 18px; height: 18px; }
      .carousel-prev { left: 16px; }
      .carousel-next { right: 16px; }
      @media (max-width: 900px) { .carousel-track .tcard { min-width: 300px; max-width: 300px; } .carousel-btn { width: 36px; height: 36px; } }
      @media (max-width: 600px) {
        .carousel-outer { overflow-x: scroll; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-left: 20px; padding-right: 20px; cursor: default; }
        .carousel-outer::-webkit-scrollbar { display: none; }
        .carousel-track { transform: none !important; }
        .carousel-track .tcard { min-width: 78vw; max-width: 78vw; scroll-snap-align: start; flex-shrink: 0; }
        .carousel-btn { display: none; }
        .tcard:hover { transform: none; box-shadow: none; }
      }
      .tcard.moji-coral    { --m-color: var(--coral);    --m-soft: var(--coral-soft); }
      .tcard.moji-earth    { --m-color: var(--earth);    --m-soft: var(--earth-soft); }
      .tcard.moji-sky      { --m-color: var(--sky);      --m-soft: var(--sky-soft); }
      .tcard.moji-green    { --m-color: var(--green);    --m-soft: var(--green-soft); }
      .tcard.moji-butter   { --m-color: var(--butter);   --m-soft: var(--butter-soft); }
      .tcard.moji-lavender { --m-color: var(--lavender); --m-soft: var(--lavender-soft); }
      .tcard.moji-blush    { --m-color: var(--blush);    --m-soft: var(--blush-soft); }
      .tcard { background: #fff; border: 1px solid var(--line-soft); border-radius: var(--r-xl); padding: 28px; margin: 0; display: grid; grid-template-rows: auto 1fr auto; gap: 24px; transition: transform .25s ease, box-shadow .25s ease; }
      .tcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); }
      .tcard .portrait { position: relative; width: 100%; aspect-ratio: 1 / 1; }
      .tcard .portrait .photo { width: 100%; height: 100%; border-radius: var(--r-lg); object-fit: cover; background: var(--paper); display: block; }
      .tcard .portrait .moji-tuck { position: absolute; bottom: -14px; right: -14px; width: 38%; aspect-ratio: 1 / 1; background: var(--m-soft, var(--green-soft)); border-radius: 50%; border: 4px solid #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: var(--shadow-soft); }
      .tcard .portrait .moji-tuck img { width: 70%; height: 70%; object-fit: contain; display: block; }
      .tcard .quote { font-size: 17px; line-height: 1.55; color: var(--ink); font-weight: 600; margin: 0; }
      .tcard .quote::before { content: "\201C"; font-family: Georgia, serif; font-size: 64px; line-height: .3; color: var(--m-color, var(--green-deep)); display: block; margin: 18px 0 14px; }
      .tcard .who { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid var(--line-soft); }
      .tcard .who .nm { font-weight: 800; font-size: 15px; line-height: 1.2; }
      .tcard .who .role { font-size: 12px; color: var(--ink-mute); font-weight: 600; margin-top: 2px; }
      .tcard .moji-chip { display: inline-flex; align-items: center; gap: 6px; background: var(--m-soft); color: var(--ink); padding: 5px 10px 5px 6px; border-radius: var(--r-pill); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
      .tcard .moji-chip .dot { width: 16px; height: 16px; border-radius: 50%; background: var(--m-color); }
      @media (max-width: 900px) { .tcard { padding: 24px; } .tcard .quote { font-size: 16px; } }

      /* --- pricing --- */
      .pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; max-width: 1040px; margin: 0 auto; }
      .tier { background: #fff; border: 1.5px solid var(--line-soft); border-radius: var(--r-xl); padding: 56px 48px 48px; position: relative; display: flex; flex-direction: column; transition: transform .3s ease; min-height: 580px; }
      .tier:hover { transform: translateY(-8px); }
      .tier.hi { background: var(--green-darker); color: #fff; border: 0; transform: translateY(-20px); box-shadow: 0 36px 70px -24px rgba(16,39,26,.4); }
      .tier.hi:hover { transform: translateY(-28px); }
      .tier .ribbon { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--butter); color: var(--ink); padding: 6px 16px; border-radius: var(--r-pill); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
      .tier .tname { font-size: 14px; font-weight: 800; margin-bottom: 8px; color: var(--ink-mute); }
      .tier.hi .tname { color: rgba(255,255,255,.7); }
      .tier .price-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; }
      .tier .price { font-size: clamp(72px, 7.2vw, 96px); font-weight: 900; letter-spacing: -.04em; line-height: .9; }
      .tier .sub { font-size: 15px; font-weight: 600; opacity: .6; }
      .tier.hi .sub { opacity: .75; }
      .tier .blurb { font-size: 14px; line-height: 1.5; margin: 0 0 24px; opacity: .75; font-weight: 500; }
      .tier.hi .blurb { opacity: .88; }
      .tier .tcta { display: block; background: var(--lavender); color: #fff; text-align: center; padding: 13px 20px; border-radius: var(--r-pill); font-weight: 800; font-size: 15px; margin-bottom: 22px; transition: background .2s ease; text-decoration: none; }
      .tier .tcta:hover { background: var(--lavender-mid); }
      .tier.hi .tcta { background: var(--green); color: var(--ink); }
      .tier.hi .tcta:hover { background: var(--butter); }
      .tier .tfeatures { list-style: none; padding: 0; margin: 0; border-top: 1.5px solid var(--line-soft); padding-top: 20px; display: flex; flex-direction: column; gap: 12px; }
      .tier.hi .tfeatures { border-top-color: rgba(255,255,255,.18); }
      .tier .tfeatures li { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; }
      .tier .tfeatures li::before { content: ""; width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%; background: var(--green-soft) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d8f5d' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='5 13 9 17 19 7'/></svg>") center/12px no-repeat; }
      .tier.hi .tfeatures li::before { background: var(--butter) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F211E' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='5 13 9 17 19 7'/></svg>") center/12px no-repeat; }
      @media (max-width: 800px) { .pricing-grid { grid-template-columns: 1fr; gap: 18px; max-width: 100%; } .tier { padding: 40px 32px; min-height: auto; transform: none !important; } .tier .price { font-size: clamp(56px, 14vw, 76px); } }

      /* --- final cta --- */
      .final-cta-wrap { background: #ffffff; padding: 0; margin: 0; }
      .final-cta { position: relative; background: var(--green-darker); padding: clamp(80px, 9vw, 140px) 32px clamp(80px, 9vw, 120px); border-top-left-radius: 50% 80px; border-top-right-radius: 50% 80px; overflow: hidden; text-align: center; color: #fff; }
      .final-cta-inner { max-width: 880px; margin: 0 auto; position: relative; z-index: 2; }
      .final-cta img.moji-hero { width: 130px; margin: 0 auto 24px; filter: drop-shadow(0 16px 32px rgba(0,0,0,.3)); display: block; }
      .final-cta h2 { font-size: clamp(36px, 4.4vw, 64px); color: #fff; font-weight: 900; letter-spacing: -.025em; line-height: 1.02; margin: 0 auto 18px; }
      .final-cta h2 .accent { color: var(--butter); }
      .final-cta p { font-size: clamp(16px, 1.2vw, 19px); color: rgba(255,255,255,.78); max-width: 540px; margin: 0 auto 36px; font-weight: 500; line-height: 1.5; }
      .final-cta .ctas { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
      @media (max-width: 900px) { .final-cta { padding: 64px 24px 72px; border-top-left-radius: 30% 40px; border-top-right-radius: 30% 40px; } .final-cta img.moji-hero { width: 96px; margin-bottom: 18px; } .final-cta p { font-size: 15px; margin-bottom: 24px; } .btn-ghost-light { padding: 6px 6px 6px 18px; font-size: 14px; } .btn-ghost-light .chip { width: 32px; height: 32px; } }

      /* --- footer v3 --- */
      .v3-footer { background: var(--green-darker); color: rgba(255,255,255,.75); padding: 72px 0 32px; font-weight: 500; }
      .v3-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 56px; }
      .v3-footer-brand .v3-logo { height: 32px; margin-bottom: 18px; filter: brightness(0) invert(1); display: block; }
      .v3-footer-brand p { font-size: 14px; line-height: 1.55; margin: 0; max-width: 280px; }
      .v3-footer-brand .footer-pitch { margin-top: 16px; font-size: 13px; line-height: 1.65; color: rgba(255,255,255,.55); }
      .v3-footer-h { font-size: 12px; font-weight: 900; color: #fff; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 16px; }
      .v3-footer-col a { display: block; font-size: 14px; margin-bottom: 10px; color: rgba(255,255,255,.75); font-weight: 500; transition: color .15s ease; text-decoration: none; }
      .v3-footer-col a:hover { color: #fff; }
      .v3-footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: 13px; font-weight: 500; flex-wrap: wrap; gap: 12px; }
      /* Footer accordion — mobile only */
      @media (max-width: 900px) {
        .v3-footer { padding: 48px 0 24px; }
        .v3-footer-grid { grid-template-columns: 1fr; gap: 0; margin-bottom: 24px; }
        .v3-footer-brand { padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.12); margin-bottom: 4px; }
        .v3-footer-col { border-bottom: 1px solid rgba(255,255,255,.12); }
        .v3-footer-h { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; margin-bottom: 0; cursor: pointer; user-select: none; }
        .v3-footer-h::after { content: "+"; font-size: 22px; font-weight: 300; color: rgba(255,255,255,.6); line-height: 1; flex-shrink: 0; }
        .v3-footer-col.footer-open .v3-footer-h::after { content: "×"; }
        .v3-footer-col .footer-links { display: none; padding-bottom: 12px; }
        .v3-footer-col.footer-open .footer-links { display: block; }
        .v3-footer-col .footer-links a { padding: 5px 0; margin-bottom: 4px; }
        .v3-footer-bottom { font-size: 12px; margin-top: 12px; }
      }

      /* --- reveal animations --- */
      [data-reveal] { opacity: 0; transform: translateY(28px) scale(.96); transition: opacity .7s cubic-bezier(.34,1.56,.64,1), transform .8s cubic-bezier(.34,1.56,.64,1); will-change: opacity, transform; }
      [data-reveal].in { opacity: 1; transform: translateY(0) scale(1); }
      [data-reveal-stagger] > * { opacity: 0; transform: translateY(24px) scale(.94); transition: opacity .65s cubic-bezier(.34,1.56,.64,1), transform .75s cubic-bezier(.34,1.56,.64,1); transition-delay: calc(var(--i, 0) * 90ms); will-change: opacity, transform; }
      [data-reveal-stagger].in > * { opacity: 1; transform: translateY(0) scale(1); }
      @media (prefers-reduced-motion: reduce) {
        [data-reveal], [data-reveal-stagger] > * { opacity: 1 !important; transform: none !important; transition: none !important; }
        *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
      }

      /* --- section accent colors for text --- */
      .text-ds-green { color: var(--green-deep); }
    

/* Assessment result card: flip-in reveal */
@keyframes assessFlipIn {
  from { transform: rotateY(-90deg); opacity: 0; }
  to   { transform: rotateY(0deg); opacity: 1; }
}
.assess-flip {
  animation: assessFlipIn .6s cubic-bezier(0.34, 1.3, 0.64, 1) both;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}
