:root {
    --responsiveScale: 1;
    --innerContainerBorderRadius: 30px;
    --outerContainerPadding: calc(var(--innerContainerBorderRadius) * 2 / 3);
    --outerContainerBorderRadius: calc(var(--innerContainerBorderRadius) + var(--outerContainerPadding));
    --heroFormContainerPadding: var(--outerContainerPadding);
    --dashedContainerBorderRadius: calc(var(--innerContainerBorderRadius) - var(--heroFormContainerPadding) + 2px);
    --iframeBackground: #fff;
}

.dark-mode {
    --iframeBackground: #141218;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.2; }
}

@keyframes blink-glow {
    0%, 100% { 
        opacity: 1; 
        box-shadow: 0 0 8px #ff1515, 0 0 16px #ff1515, 0 0 24px #ff1515;
    }
    50% { 
        opacity: 0.3; 
        box-shadow: 0 0 12px #ff1515, 0 0 24px #ff1515, 0 0 36px #ff1515;
    }
}

@keyframes titleBoxFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes uploadZoneFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes uploadZoneFadeInTop {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideFromLeft {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes speakPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

@keyframes speakPulseFlipped {
    0%, 100% {
        transform: scaleX(-1) scale(1);
    }
    50% {
        transform: scaleX(-1) scale(1.05);
    }
}

html:has(.hero.lemon),
body:has(.hero.lemon) {
    overflow-x: clip;
    overflow-y: visible;
}

.hero.lemon {
    background: linear-gradient(to bottom, color-mix(in srgb, var(--ncs-container-weak) 70%, var(--background)) 0%, transparent 100%);
    padding-top: 2em;
    padding-bottom: 1.5em;
    transition: height 0.5s ease;
    max-width: 100vw;
    overflow-x: clip;
    position: relative;

    .content-box {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10vh;
        opacity: 0;
        transform: translateY(20px);
        animation: titleBoxFadeIn 0.5s ease-out forwards;
        width: 100%;
        max-width: 1360px;

        .content {
            flex: unset;
            height: unset;
            display: unset;
        }
    }

    .lemon-upload {
        width: 100%;
        max-width: 100%;
        min-height: 190px;

        & > * {
            margin-right: auto;
            margin-left: auto;
        }
    }

    .tab-content {
        width: 100%;
        margin-top: 1.5rem;
        display: none;
        opacity: 0;
        transform: translateY(20px);
        animation: uploadZoneFadeIn 0.5s ease-out forwards 0s;

        &.active {
            display: block;
        }

        &[data-tab-content="url"] {
            transform: translateY(-20px);
            animation: uploadZoneFadeInTop 0.5s ease-out forwards 0s;
        }
    }

    .language-select-dropdowns {
        margin-top: 3.5rem!important;
    }

    .inner-upload-zone {
        padding: 30px 0 0 0!important;
    }

    .dropzone-icon img {
        height: 42px;
    }

    .upload-zone,
    .upload-zone.file-selected {
        .add-file-btn {
            height: 50px;
        }
    }

    &.tight-content .content-box {
        max-width: 930px;
        width: 80%;
    }

    &.sub-tool .cta {
        --cta-bg: var(--ncs-primary);
        --cta-text: var(--ncs-on-primary);
    }
}

.hero-form-wrapper {
    position: relative;
    width: 100%;
    max-width: 90vw;
    display: flex;
    justify-content: center;
    overflow-y: visible;
    transition: margin-top 0.3s ease;

    &.with-moved-content {
        margin-top: 0;
    }
}

.hero-form-outer-container {
    padding: var(--outerContainerPadding);
    overflow: hidden;
    width: max-content;
    max-width: var(--page-max-width);
}

.hero-form-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    isolation: isolate;
    width: 100%;
    padding: var(--heroFormContainerPadding);
}

.logos-marquee-container {
    margin-bottom: 1.6rem;
}

.dashed-container {
    padding: 2rem 6rem 3rem 6rem;
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    transition: all 0.2s;

    &.drag-over {
        background-color: var(--ncs-container-weak);
    }

    .cta-section {
        width: 100%;
        display: flex;
        justify-content: center;
        padding: 3rem 0 1rem 0;

        .cta {
            padding: 1.25rem 2.25rem;
            --cta-size: var(--font-ml);
            font-size: var(--font-md);
        }
    }

    .upload-section {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }

    .dropdown-container {
        margin-bottom: 1rem;
    }

    .lemon-upload {
        order: 4;
        width: 100%;
        max-width: 100%;
    }

    .upload-zone {
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
    }

    .add-file-btn {
        margin: 1rem 0;
        height: auto !important;
    }

    .drag-drop-desc {
        font-weight: var(--font-weight-regular);

        .dd-text {
            font-weight: var(--font-weight-regular);
            font-size: var(--font-md);
        }
    }

    .upload-text {
        margin: 0.5rem 0;
    }

    .support-text {
        margin: 1rem 0 0 0;
        font-size: var(--font-sm);
        opacity: 0.8;
    }

    .dropzone-small-dsc {
        font-size: var(--font-sm) !important;
    }
}

.iframe-header {
    text-align: center;
    margin: 0 auto 2rem auto;
}

.iframe-overlay-container {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: var(--innerContainerBorderRadius);
    overflow: hidden;
    transform: translateZ(0);
    mask-image: radial-gradient(white, black);
    clip-path: inset(0 round var(--innerContainerBorderRadius));
    isolation: isolate;
    background: var(--iframeBackground);
    box-shadow:
        0 24px 60px rgba(2, 20, 44, 0.12),
        0 8px 24px rgba(2, 20, 44, 0.08),
        0 0 0 1px color-mix(in srgb, var(--text) 7%, transparent);

    &::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border-radius: var(--innerContainerBorderRadius);
        border: 1px solid var(--iframeBackground);
        box-shadow: inset 0 0 0 1px var(--iframeBackground);
        pointer-events: none;
        z-index: 1;
    }

    iframe {
        width: 100%;
        height: 100%;
        min-height: 500px;
        border: none;
        transform-origin: center;
    }

    .iframe-dual-stage {
        height: 100%;

        iframe {
            min-height: 500px;
        }
    }
}

.iframe-dual-switcher {
    width: fit-content;
    max-width: 100%;
    margin: 1rem auto 12px;
}

section[data-iframe-mode="true"][data-dual-iframe-mode="true"] {
    .hero-viewport-wrapper {
        padding-top: calc(var(--section-padding-solo) / 2) !important;
        padding-bottom: var(--section-padding-solo) !important;
    }

    .content-box {
        gap: 0.5rem !important;
        justify-content: flex-start !important;
    }

    .iframe-header {
        display: block !important;
    }

    .iframe-dual-switcher {
        flex-shrink: 0;
    }

    .logos-marquee-container {
        width: 100%;
    }
}

.iframe-mode-tabs {
    margin: 0 auto;
    width: fit-content;
    max-width: 100%;
}

.iframe-dual-stage {
    height: 100%;
    min-height: 0;
    border-radius: inherit;
    overflow: hidden;
    background: var(--iframeBackground);

    iframe {
        width: 100%;
        height: 100%;
        min-height: 500px;
        border: none;
        transform-origin: center;
    }
}

html.dark-mode .iframe-overlay-container {
    box-shadow:
        0 26px 64px rgba(0, 0, 0, 0.38),
        0 8px 24px rgba(0, 0, 0, 0.3),
        0 0 0 1px color-mix(in srgb, white 8%, transparent);
}

section[data-iframe-mode="true"] {
    --iframe-collapsed-height: 320px;
    --iframe-collapsed-width: 602px;
    --iframe-expanded-height: 700px;
    --iframe-expanded-inset-top: 14px;
    --iframe-expanded-inset-side: 12px;
    --iframe-expanded-inset-bottom: 12px;
    interpolate-size: allow-keywords;

    @media (max-width: 768px) {
        --iframe-expanded-height: 900px;
    }

    .hero-viewport-wrapper {
        position: relative;
        isolation: isolate;
        min-height: auto;
        height: auto;
        max-height: none;
        display: flex;
        flex-direction: column;
        padding-top: calc(var(--section-padding-solo) / 2);
        padding-bottom: calc(var(--section-padding-solo) / 4);
    }

    .content-box {
        gap: 0.5rem !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    &.hero.lemon {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .hero-form-wrapper {
        width: max-content;
        min-width: min(100%, var(--iframe-collapsed-width));
        max-width: 100%;
        padding: 0;
        margin: 1rem auto auto;
        position: relative;
        transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                    min-width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                    margin-top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .hero-viewport-wrapper > .blue-orb,
    .hero-viewport-wrapper > .green-orb,
    .hero-viewport-wrapper > .yellow-orb {
        display: none !important;
    }

    .rt-orb {
        position: absolute;
        border-radius: 50%;
        z-index: 0;
        opacity: 0.55;
        filter: blur(50px);
        transition: opacity 0.3s ease;
        pointer-events: none;
        user-select: none;
    }

    .rt-orb.blue-orb {
        background-color: var(--maestra-blue);
        width: var(--iframe-blue-orb-size, 300px);
        height: var(--iframe-blue-orb-size, 300px);
        top: -10%;
        left: -10%;
    }

    .rt-orb.green-orb {
        background-color: var(--maestra-green);
        width: var(--iframe-green-orb-size, 350px);
        height: var(--iframe-green-orb-size, 350px);
        top: 45%;
        left: 5%;
    }

    .rt-orb.yellow-orb {
        background-color: var(--maestra-yellow);
        width: var(--iframe-yellow-orb-size, 400px);
        height: var(--iframe-yellow-orb-size, 400px);
        top: 50%;
        right: -5%;
    }

    .hero-form-outer-container {
        width: 100%;
        padding: var(--outerContainerPadding);
        border: 1px solid color-mix(in srgb, white 15%, transparent);
        background: color-mix(in srgb, var(--background) 65%, transparent);
        backdrop-filter: blur(200px) saturate(140%);
        border-radius: var(--outerContainerBorderRadius);
        box-shadow: 0 10px 30px color-mix(in srgb, var(--text-light) 10%, transparent);
        overflow: hidden;
        position: relative;
        z-index: 1;
        transition: none;
    }

    .hero-form-container {
        width: 100%;
        padding: 0;
        min-height: var(--iframe-collapsed-height);
        background: color-mix(in srgb, var(--background) 85%, transparent);
        outline: 1px solid color-mix(in srgb, white 15%, transparent);
        border-radius: var(--innerContainerBorderRadius);
        border: 0 !important;
        position: relative;
        z-index: 1;
        box-shadow: 0 10px 20px color-mix(in srgb, var(--text-light) 10%, transparent);
        transition: none;
    }

    .iframe-overlay-container {
        min-height: var(--iframe-collapsed-height);
        border-radius: var(--innerContainerBorderRadius);
        overflow: hidden;
        transition: none;

        iframe {
            display: block;
            border-radius: inherit;
            min-height: var(--iframe-collapsed-height);
            transition: none;
        }
    }

    &[data-iframe-hydrated="true"] {
        .hero-form-outer-container {
            transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                        max-width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                        min-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                        height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .hero-form-container {
            transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                        height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                        min-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                        max-width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .iframe-overlay-container {
            transition: min-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                        height 0.4s cubic-bezier(0.4, 0, 0.2, 1);

            iframe {
                transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                            min-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            }
        }
    }

    &.iframe-collapsed-mode {
        .hero-form-outer-container {
            width: fit-content;
            max-width: 100%;
            margin-left: auto;
            margin-right: auto;
            min-height: calc(var(--iframe-collapsed-height) + (var(--outerContainerPadding) * 2));
            height: calc(var(--iframe-collapsed-height) + (var(--outerContainerPadding) * 2));
        }

        .hero-form-container {
            width: min(100%, var(--iframe-collapsed-width));
            max-width: var(--iframe-collapsed-width);
            margin-left: auto;
            margin-right: auto;
        }

        .hero-form-container,
        .iframe-overlay-container,
        .iframe-overlay-container iframe {
            min-height: var(--iframe-collapsed-height);
            height: var(--iframe-collapsed-height);
        }
    }

    &.iframe-expanded-mode {
        .hero-form-wrapper {
            width: 100%;
        }

        .hero-form-outer-container,
        .hero-form-container,
        .iframe-overlay-container {
            max-width: 100%;
            width: 100%;
            margin-left: auto;
            margin-right: auto;
        }

        .hero-form-outer-container {
            min-height: calc(var(--iframe-expanded-height) + (var(--outerContainerPadding) * 2));
            height: calc(var(--iframe-expanded-height) + (var(--outerContainerPadding) * 2));
        }

        .hero-form-container {
            box-sizing: border-box;
            min-height: var(--iframe-expanded-height);
            height: var(--iframe-expanded-height);
            padding: var(--iframe-expanded-inset-top) var(--iframe-expanded-inset-side) var(--iframe-expanded-inset-bottom);
        }

        .iframe-overlay-container,
        .iframe-overlay-container iframe {
            min-height: calc(var(--iframe-expanded-height) - var(--iframe-expanded-inset-top) - var(--iframe-expanded-inset-bottom));
            height: calc(var(--iframe-expanded-height) - var(--iframe-expanded-inset-top) - var(--iframe-expanded-inset-bottom));
        }

        .logos-marquee-container {
            padding-top: 1.5rem;
        }
    }

    .iframe-header {
        flex-shrink: 0;
        transition: margin 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                    padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .iframe-open-new-tab-button {
        display: flex;
        margin-top: 0.75rem;
    }

    .logos-marquee-container {
        margin-top: auto !important;
        margin-bottom: 1rem;
        flex: 0 0 auto;
        transition: margin 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                    padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
}

html.dark-mode section[data-iframe-mode="true"] {
    .rt-orb {
        opacity: 0.5;
        mix-blend-mode: hard-light;
    }

    .hero-form-outer-container {
        border-color: color-mix(in srgb, white 12%, transparent);
        background: color-mix(in srgb, var(--background) 72%, transparent);
        backdrop-filter: blur(120px) saturate(170%);
    }

    .hero-form-container {
        outline-color: color-mix(in srgb, white 10%, transparent);
        backdrop-filter: blur(50px) saturate(180%);
    }
}

section[data-iframe-mode="true"]:not(.realtime-iframe-mode):not(.iframe-expanded-mode) {
    .hero-form-outer-container {
        width: min(600px, 100%);
        min-height: 360px;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-form-container {
        width: min(100%, var(--iframe-collapsed-width));
        max-width: var(--iframe-collapsed-width);
        min-height: var(--iframe-collapsed-height);
        margin-left: auto;
        margin-right: auto;
    }

    .iframe-overlay-container,
    .iframe-overlay-container iframe {
        min-height: var(--iframe-collapsed-height);
        height: var(--iframe-collapsed-height);
    }
}

@media (min-height: 769px) {
    section[data-iframe-mode="true"]:not(.realtime-iframe-mode) {
        .hero-viewport-wrapper {
            min-height: calc(100dvh - var(--ms-header-height));
        }

        .iframe-header {
            margin-top: auto;
        }
    }
}

@media (max-height: 768px) {
    section[data-iframe-mode="true"] .logos-marquee-container {
        margin-top: 1.25rem !important;
    }
}

section[data-iframe-mode="true"]:not(.realtime-iframe-mode) {
    .rt-orb.green-orb {
        top: auto;
        bottom: calc(var(--iframe-green-orb-size, 350px) * -0.32);
    }
}

/* Realtime-only compact embed */
section[data-iframe-mode="true"].realtime-iframe-mode {
    --rtCardHeight: clamp(240px, 26vh, 340px);
    --rtCardRadius: var(--innerContainerBorderRadius);

    .hero-form-outer-container {
        min-height: 370px !important;
    }

    .hero-viewport-wrapper {
        position: relative;
        isolation: isolate;
        min-height: calc(100dvh - var(--ms-header-height));
        height: auto;
        max-height: none;
        display: flex;
        flex-direction: column;
        padding-top: 0.5em;
        padding-bottom: 0;
    }

    .content-box {
        gap: 1rem !important;
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-top: 0;
        padding-bottom: 0;
    }

    &.hero.lemon {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .iframe-content-overlay,
    .iframe-content-moved {
        display: none !important;
    }

    .realtime-iframe-header {
        flex-shrink: 0;
        margin-top: auto;
    }

    .hero-form-wrapper {
        max-width: min(500px, 92vw);
        width: 100%;
        padding: 0;
        margin-top: 0;
        transition: max-width 0.38s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .hero-form-outer-container {
        width: min(500px, 100%);
        min-width: 0;
        max-width: 100%;
        padding: var(--outerContainerPadding);
        border: 1px solid color-mix(in srgb, white 15%, transparent);
        background: color-mix(in srgb, var(--background) 65%, transparent);
        backdrop-filter: blur(200px) saturate(140%);
        border-radius: var(--outerContainerBorderRadius);
        box-shadow: 0 10px 30px color-mix(in srgb, var(--text-light) 10%, transparent);
        overflow: hidden;
        position: relative;
        z-index: 1;
        transition:
            width 0.38s cubic-bezier(0.22, 1, 0.36, 1),
            min-width 0.38s cubic-bezier(0.22, 1, 0.36, 1),
            max-width 0.38s cubic-bezier(0.22, 1, 0.36, 1);
    }

    &.iframe-captioning-active {
        .hero-form-wrapper {
            max-width: min(1000px, 92vw);
        }

        .hero-form-outer-container {
            width: clamp(75%, 1000px, 100%);
            min-width: clamp(75%, 1000px, 100%);
        }
    }

    .hero-form-container {
        width: 100%;
        padding: 0;
        min-height: auto;
        background: color-mix(in srgb, var(--background) 85%, transparent);
        outline: 1px solid color-mix(in srgb, white 15%, transparent);
        border-radius: var(--innerContainerBorderRadius);
        position: relative;
        z-index: 1;
    }

    .hero-form-container {
        border: 0 !important;
    }

    .iframe-overlay-container {
        height: var(--rtCardHeight);
        min-height: 328px;
        border-radius: var(--rtCardRadius);
        clip-path: inset(0 round var(--rtCardRadius));
        overflow: hidden;
        background: var(--iframeBackground);
        box-shadow:
            0 24px 60px rgba(2, 20, 44, 0.12),
            0 8px 24px rgba(2, 20, 44, 0.08),
            0 0 0 1px color-mix(in srgb, var(--text) 7%, transparent);

        &::after {
            border-radius: var(--rtCardRadius);
            border-color: transparent;
            box-shadow: none;
        }

        iframe {
            width: 100%;
            height: 100%;
            min-height: 328px !important;
            transform: none !important;
            zoom: 1 !important;
        }
    }

    .iframe-open-new-tab-button {
        display: none;
    }
}

section[data-iframe-mode="true"][data-dual-iframe-mode="true"].realtime-iframe-mode {
    .content-box {
        gap: 0.5rem !important;
        justify-content: flex-start !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .hero-form-wrapper {
        margin-top: 1rem !important;
    }
}

html.dark-mode section[data-iframe-mode="true"].realtime-iframe-mode {
    .iframe-overlay-container {
        box-shadow:
            0 26px 64px rgba(0, 0, 0, 0.38),
            0 8px 24px rgba(0, 0, 0, 0.3),
            0 0 0 1px color-mix(in srgb, white 8%, transparent);
    }
}

.rt-floating-new-tab {
    position: absolute;
    right: -3rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--background) 85%, transparent);
    border: 1px solid color-mix(in srgb, var(--text) 12%, transparent);
    color: var(--text);
    text-decoration: none;
    transition: opacity 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    cursor: pointer;

    &:hover {
        background: color-mix(in srgb, var(--background) 95%, transparent);
        box-shadow: 0 2px 12px color-mix(in srgb, var(--text) 10%, transparent);
    }

    svg {
        flex-shrink: 0;
    }
}

@media (max-width: 900px) {
    .rt-floating-new-tab {
        right: -2.5rem;
        width: 36px;
        height: 36px;

        svg {
            width: 16px;
            height: 16px;
        }
    }
}

@media (max-width: 768px) {
    .rt-floating-new-tab {
        right: 0.5rem;
        top: auto;
        bottom: -2.5rem;
        transform: none;
    }

    .dashed-container .content-area {
        width: 90%;
    }
}

.iframe-open-new-tab-button {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.75rem;

    .cta {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.75rem 1.5rem;
        background-color: var(--ncs-primary);
        color: var(--ncs-on-primary);
        border-radius: var(--button-border-radius);
        text-decoration: none;
        font-weight: var(--font-weight-bold);
        font-size: var(--font-md);
        transition: all 0.2s ease;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

        &:hover {
            box-shadow: 0 0 0 6px color-mix(in srgb, var(--ncs-primary) 25%, transparent);
        }

        .icon.arrow {
            font-size: var(--font-lg);
        }
    }
}

.page-icon-circle {
    width: 60px;
    height: 60px;
    background-color: var(--ncs-container-weak);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1.5rem auto 0 auto;
    position: relative;
    z-index: 2;
}

.page-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    svg {
        width: 28px;
        height: 28px;
    }
}

.orb {
    position: absolute;
    border-radius: 50%;
    z-index: 0;
    filter: blur(50px);
    transition: opacity 0.3s ease;
    pointer-events: none;
    user-select: none;
}

.blue-orb {
    background-color: var(--maestra-blue);
    width: 600px;
    height: 600px;
}

.green-orb {
    background-color: var(--maestra-green);
    width: 450px;
    height: 450px;
    transform: translateY(-20%);
}

.yellow-orb {
    background-color: var(--maestra-yellow);
    width: 500px;
    height: 500px;
    transform: translateY(-50%);
}

.tab-list a[data-tab="cta"] {
    width: 100%;

    &:before {
        content:'';
        display: inline-block;
        height: 12px;
        width: 12px;
        background-color: #ff1515;
        border-radius: 50%;
        margin-right: 10px;
        animation: blink 1.2s ease-in-out infinite;
        position: relative;
        transition: all 0.3s ease;
    }
}

#live-tab {
    padding: 0 !important;

    &:hover a[data-tab="cta"]:before {
        box-shadow: 0 0 8px #ff1515, 0 0 16px #ff1515, 0 0 24px #ff1515;
        animation: none;
    }

    a {
        padding: 12px 16px;
        display: inline-block;
        border-radius: 30px;

        &.active {
            background-color: #fff;
        }
    }
}

.fancy-box {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
    padding: 30px;
    width: 100%;

    .column {
        background: #f9f9f9;
        border-radius: 8px;
        padding: 15px 20px;
        min-height: 120px;
        border-left: 4px solid #007bff;

        h3 {
            margin-top: 0;
            font-size: var(--font-md);
            color: #007bff;
            margin-bottom: 10px;
        }
    }
}

.columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.text-output {
    font-size: var(--font-md);
    color: #333;
    white-space: pre-wrap;
    overflow: hidden;
    min-height: 80px;
}

.content-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 1rem;
    margin-inline: auto;
}

@media (max-width: 767px) {
    .iframe-header .content-area {
        width: 100%;
        max-width: 90%;
    }
}

a.record-btn {
    margin-top: 25px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 18px 34px;
    border: none;
    background: var(--maestra-blue);
    color: #fff;
    border-radius: 48px;
    font-size: var(--font-md);
    cursor: pointer;
    transition: all 0.3s ease;
    max-width: fit-content;

    &:hover {
        background: var(--maestra-blue);
        color: #fff;
    }
}

.lemon-content {
    width: 100%;
}

.dark-mode {
    .page-icon-circle {
        box-shadow: inset 0 0 0 2px var(--ncs-container-strong);
        background-color: var(--background);
    }

    .orb {
        opacity: 0.3;
        mix-blend-mode: hard-light;
    }

    .user-icon img {
        filter: invert(1);
    }

    .controls-user-icon img {
        filter: invert(1);
    }

    .live-text {
        color: var(--ncs-transcription-primary);
    }
}

.live-cta-box {
    --live-preview-border-radius: 10px;
    
    position: relative;
    display: flex;
    align-items: center;
    gap: 2rem;
    width: fit-content;
    margin-top: 1.5rem;
    animation: uploadZoneFadeIn 0.5s ease-out forwards 0.1s;
    opacity: 0;
    cursor: pointer;

    &:hover .live-cta-button {
        background: color-mix(in srgb, var(--ncs-primary) 15%, transparent);
        border-color: color-mix(in srgb, var(--ncs-primary) 40%, transparent);
    }
}

.live-preview-container {
    flex-shrink: 0;
    width: 200px;
    aspect-ratio: 16 / 10;
    background: var(--background);
    border: 1px solid var(--ncs-container-strong);
    border-radius: var(--live-preview-border-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;

    &[data-live-animation] {
        position: relative;
        overflow: hidden;
    }
}

.live-preview-content {
    position: relative;
    flex: 1;
    width: 100%;
    min-height: 0;
}

.live-preview-inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: color-mix(in srgb, var(--text) 40%, transparent);
    font-size: var(--font-xs);
}

.live-cta-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
    gap: 0.5rem;
}

.live-cta-text {
    margin: 0;
    font-size: var(--font-md);
    font-weight: var(--font-weight-regular);
    color: var(--text);
    line-height: 1.4;
    max-width: 24vw;
}

.live-cta-button {
    background: color-mix(in srgb, var(--ncs-primary) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--ncs-primary) 20%, transparent);
    border-radius: 50px;
    color: var(--text) !important;
    padding: 0.75rem 1.25rem;
    font-weight: var(--font-weight-regular);
    font-size: var(--font-sm);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;

    &:hover {
        background: color-mix(in srgb, var(--ncs-primary) 15%, transparent);
        border-color: color-mix(in srgb, var(--ncs-primary) 40%, transparent);
    }
}

.record-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #ff1515;
    border-radius: 50%;
    animation: blink 1.2s ease-in-out infinite;
}

.live-cta-button:hover .record-dot {
    animation: blink-glow 1.2s ease-in-out infinite;
}

.live-text {
    color: var(--ncs-transcription-primary);
    font-weight: var(--font-weight-bold);
}

.live-stage {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    overflow-y: auto;

    &.active {
        opacity: 1;
        visibility: visible;
    }
}

.user-icon {
    position: relative;
    width: 32px;
    height: 32px;

    img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        transition: opacity 0.3s ease;
        filter: var(--live-icon-filter, none);
    }

    .icon-user {
        opacity: 1;
    }

    .icon-user-speak {
        opacity: 0;
    }

    &.speaking {
        animation: speakPulse 0.6s ease-in-out infinite;

        .icon-user {
            opacity: 0;
        }

        .icon-user-speak {
            opacity: 1;
        }
    }
}

/* Stage icons - Single user */
.stage-icons .user-single {
    width: 40px;
    height: 40px;
}

/* Stage transcription */
.stage-transcription {
    padding: 8px;
    align-items: flex-start;
}

.transcription-text {
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: var(--font-xs);
    line-height: 1.4;
    color: var(--text);
    text-align: left;
    width: 100%;
    word-wrap: break-word;

    .word {
        display: inline;
        transition: color 0.15s ease;
        white-space: pre-wrap;

        &.latest {
            color: color-mix(in srgb, var(--text) 30%, transparent);
        }
    }
}

/* Stage conversation */
.stage-conversation {
    flex-direction: column;
    padding: 6px;
    gap: 4px;
}

.conversation-users {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 100%;

    .user-icon {
        width: 24px;
        height: 24px;
    }

    .user-right {
        transform: scaleX(-1);
    }
}

.conversation-text {
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: var(--font-xs);
    line-height: 1.3;
    color: var(--text);
    text-align: center;
    width: 100%;
    min-height: 28px;

    .word {
        display: inline;
        transition: color 0.15s ease;
        white-space: pre-wrap;

        &.latest {
            color: color-mix(in srgb, var(--text) 30%, transparent);
        }
    }
}

/* Stage translation */
.stage-translation {
    padding: 0;
}

.translation-split {
    display: grid;
    grid-template-columns: 50% 50%;
    width: 100%;
    height: 100%;
}

.translation-original,
.translation-translated {
    padding: 6px;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: var(--font-xs);
    line-height: 1.3;
    color: var(--text);
    display: block;
    min-width: 0;
    overflow: hidden;
    word-wrap: break-word;
    text-align: start;

    .word {
        display: inline;
        transition: color 0.15s ease;
        white-space: pre-wrap;

        &.latest {
            color: color-mix(in srgb, var(--text) 30%, transparent);
        }
    }
}

.translation-original {
    border-right: 1px solid var(--ncs-container-strong);
}

.translation-translated {
    background: color-mix(in srgb, var(--ncs-transcription-primary) 8%, transparent);
}

.live-preview-controls {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 6px;
    background: var(--background);
    border-top: 1px solid var(--ncs-container-strong);
}

.controls-user-icon {
    position: absolute;
    inset-inline-start: 6px;
    width: 18px;
    height: 18px;
}

.controls-center {
    display: flex;
    align-items: center;
    gap: 4px;

    .recording-control {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ncs-container-weak);
        pointer-events: none;

        svg {
            width: 10px;
            height: 10px;
            stroke: var(--text);
            stroke-width: 2;
        }

        &.mic-btn svg {
            stroke: var(--ncs-transcription-primary);
        }

        &.stop-btn {
            width: 22px;
            height: 22px;
            background: linear-gradient(135deg, #f25767 0%, #d94e5c 100%);

            .stop-icon {
                width: 8px;
                height: 8px;
                background-color: white;
                border-radius: 2px;
            }
        }

        &.settings-btn svg {
            stroke: var(--ncs-transcription-primary);
        }
    }
}

.live-scroll-label {
    display: none;
}

.hero.lemon:not([data-iframe-mode="true"]) {
    .hero-viewport-wrapper {
        min-height: auto;
        height: calc(100dvh - var(--ms-header-height));
        max-height: calc(100dvh - var(--ms-header-height));
        padding-top: 0.5em;
        padding-bottom: 0;
        display: flex;
        flex-direction: column;

        > .content-box {
            flex: 1 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding-top: 0;
            padding-bottom: 0;
        }

        .hero-form-wrapper {
            flex: 0 1 auto;
            min-height: 0;
            width: fit-content;
        }

        .hero-form-outer-container {
            padding: 0.5rem;
        }

        .dashed-container {
            padding-top: 0.75rem;
            padding-bottom: 0.75rem;
            gap: 0.5rem;
        }

        .live-cta-box {
            flex-shrink: 0;
        }

        > .logos-marquee {
            flex: 0 0 auto;
            margin-top: auto;
        }

        .blue-orb {
            width: 300px;
            height: 300px;
        }

        .green-orb {
            width: 250px;
            height: 250px;
        }

        .yellow-orb {
            width: 280px;
            height: 280px;
        }

        .hero-form-outer-container {
            padding: 0;
            overflow: visible;
        }

        .hero-form-container {
            padding: 0;
            overflow: visible;
        }

        .dashed-container {
            padding: 0;
            overflow: visible;
        }

        > .live-cta-box {
            display: flex;
            margin: -10vh auto 2vh auto;
            order: 0;
        }

        > .logos-marquee {
            order: 1;
        }

        &:has(.live-cta-box) > .logos-marquee {
            margin-top: 0;
        }
    }
}

@media (min-height: 600px) {
    .hero.lemon:not([data-iframe-mode="true"]) .hero-viewport-wrapper > .live-cta-box {
        margin-bottom: 1.2vh;
    }
}

@media (min-height: 700px) {
    .hero.lemon:not([data-iframe-mode="true"]) .hero-viewport-wrapper > .live-cta-box {
        margin-bottom: 2.5vh;
    }
}

@media (min-height: 800px) {
    .hero.lemon:not([data-iframe-mode="true"]) .hero-viewport-wrapper > .live-cta-box {
        margin-bottom: 4.5vh;
    }
}

@media (min-height: 900px) {
    .hero.lemon:not([data-iframe-mode="true"]) .hero-viewport-wrapper > .live-cta-box {
        margin-bottom: 7vh;
    }
}

@media (min-height: 1000px) {
    .hero.lemon:not([data-iframe-mode="true"]) .hero-viewport-wrapper > .live-cta-box {
        margin-bottom: 10vh;
    }
}

@media (max-width: 500px) {
    .live-cta-box {
        gap: 0.75rem;
        margin: 1rem 1rem 0 1rem;
    }

    .live-preview-container {
        aspect-ratio: auto;
        height: 100%;
        max-width: 240px;
    }

    .live-cta-content {
        align-items: flex-start;
        gap: 0.5rem;
    }

    .live-cta-text {
        max-width: none;
    }
}

@media (max-width: 768px) or (max-height: 580px) {
    :root {
        --heroFormContainerPadding: var(--outerContainerPadding);
        --dashedContainerBorderRadius: calc(var(--innerContainerBorderRadius) - var(--heroFormContainerPadding) + 2px);
    }

    .green-orb {
        background-color: var(--maestra-yellow);
    }

    .yellow-orb {
        background-color: var(--maestra-green);
    }

    .hero.lemon {
        padding-top: 0;
    }

    .iframe-overlay-container {
        &::after {
            display: none;
        }

        iframe {
            min-height: 85vh !important;
        }
    }
    
    section[data-iframe-mode="true"].realtime-iframe-mode .rt-orb {
        width: 150px !important;
        height: 150px !important;

        &.green-orb {
            top: 85% !important;
        }

        &.yellow-orb {
            width: 180px !important;
            height: 180px !important;
        }
    }

    section[data-iframe-mode="true"]:not(.realtime-iframe-mode) .iframe-overlay-container iframe {
        zoom: var(--iframe-zoom, 0.85);
    }

    section[data-iframe-mode="true"]:not(.realtime-iframe-mode) {
        --outerContainerPadding: 8px;
        --mobileIframeRadius: 20px;
        --mobileOuterRadius: calc(var(--mobileIframeRadius) + var(--outerContainerPadding));

        .content-box {
            padding-bottom: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 0;
        }

        .hero-form-wrapper {
            max-width: 100vw;
            padding: 0;
        }

        .hero-form-outer-container {
            width: 95vw !important;
            max-width: 95vw !important;
            margin: 0 auto;
            padding: var(--outerContainerPadding);
            border: 1px solid color-mix(in srgb, white 15%, transparent);
            border-radius: var(--mobileOuterRadius);
            background: color-mix(in srgb, var(--background) 65%, transparent);
            backdrop-filter: blur(200px) saturate(140%);
            box-shadow: 0 10px 30px color-mix(in srgb, var(--text-light) 10%, transparent);
            overflow: visible;
            display: flex;
            flex-direction: column;
        }

        .hero-form-container {
            border: none !important;
            outline: 1px solid color-mix(in srgb, white 15%, transparent);
            border-radius: var(--mobileIframeRadius);
            padding: 0;
            background: color-mix(in srgb, var(--background) 85%, transparent);
            flex: 1 1 0;
            min-height: 0;
            display: flex;
            flex-direction: column;
            width: 100% !important;
            max-width: unset !important;
        }

        .iframe-overlay-container {
            border-radius: var(--mobileIframeRadius);
            clip-path: inset(0 round var(--mobileIframeRadius));
            mask-image: radial-gradient(white, black);
            flex: 1 1 0;
            min-height: 0;
            display: flex;
            flex-direction: column;

            &::after {
                display: block;
                border-radius: var(--mobileIframeRadius);
            }

            iframe {
                flex: 1 1 0;
                min-height: 0;
            }
        }

        &.iframe-collapsed-mode {
            .hero-form-container,
            .iframe-overlay-container,
            .iframe-overlay-container iframe {
                min-height: var(--iframe-collapsed-height) !important;
                height: var(--iframe-collapsed-height) !important;
            }
        }
    }

    section[data-iframe-mode="true"].realtime-iframe-mode {
        --rtCardHeight: clamp(240px, 34vh, 360px);
        --outerContainerPadding: 8px;
        --rtMobileOuterRadius: calc(var(--rtCardRadius) + var(--outerContainerPadding));

        .content-box {
            padding-bottom: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 2rem !important;
        }

        .hero-form-wrapper {
            max-width: 95vw;
            padding: 0;
        }

        .hero-form-outer-container {
            width: 95vw;
            max-width: 95vw;
            margin: 0 auto;
            border-radius: var(--rtMobileOuterRadius);
        }

        .hero-form-container {
            border-radius: var(--rtCardRadius);
        }

        .iframe-overlay-container {
            border-radius: var(--rtCardRadius);
            clip-path: inset(0 round var(--rtCardRadius));
            box-shadow:
                0 10px 26px rgba(2, 20, 44, 0.16),
                0 0 0 1px color-mix(in srgb, var(--text) 8%, transparent);

            &::after {
                display: none;
            }

            iframe {
                zoom: 1 !important;
                transform: none !important;
                width: 100%;
                height: 100%;
            }
        }
    }

    .iframe-open-new-tab-button {
        justify-content: center;
        width: 100%;

        .cta {
            margin: 0 auto;
            padding: 0.625rem 1.25rem;
        }
    }

    .hero-form-outer-container {
        padding: 0;
        margin: 0 1rem;
        max-width: 100%;
    }

    .hero-form-container {
        padding: var(--heroFormContainerPadding);
    }

    .dashed-container {
        padding: 0 1rem 1rem 1rem;

        .add-file-btn {
            padding: 1rem 2rem !important;
        }
    }

    .page-icon-circle {
        width: 45px;
        height: 45px;
        margin-bottom: 0.5rem;
    }

    .page-icon svg {
        width: 22px;
        height: 22px;
    }

    .transcription-text {
        padding: 4px;
    }

    .translation-original,
    .translation-translated {
        padding: 4px;
    }

    html:has(.hero.lemon) {
        scroll-behavior: smooth;
    }

    .logos-marquee-container {
        font-size: var(--font-sm);
    }

    .live-cta-box {
        .live-preview-container {
            min-width: 100%;
        }

        * {
            align-items: center!important;
            justify-content: center!important;
            text-align: center!important;
        }
    }

    .hero.lemon:not([data-iframe-mode="true"]) {
        .hero-viewport-wrapper {
            height: auto;
            max-height: none;
            min-height: calc(100dvh - var(--ms-header-height));

            > .content-box {
                min-height: calc(100dvh - var(--ms-header-height) - 100px);
            }

            > .live-cta-box {
                display: none;
            }
        }
    }

    .live-scroll-label {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding: 0.75rem 1.25rem;
        margin: 0.75rem auto 0 auto;
        background: color-mix(in srgb, var(--ncs-primary) 8%, transparent);
        border: 1px solid color-mix(in srgb, var(--ncs-primary) 20%, transparent);
        border-radius: 50px;
        font-size: var(--font-sm);
        font-weight: var(--font-weight-regular);
        text-decoration: none;
        transition: all 0.2s ease;
        cursor: pointer;
        animation: uploadZoneFadeIn 0.5s ease-out forwards 0.1s;
        opacity: 0;

        &::before {
            content: '';
            display: inline-block;
            width: 10px;
            height: 10px;
            background-color: #ff1515;
            border-radius: 50%;
            animation: blink 1.2s ease-in-out infinite;
        }

        &:hover {
            background: color-mix(in srgb, var(--ncs-primary) 15%, transparent);
            border-color: color-mix(in srgb, var(--ncs-primary) 40%, transparent);

            &::before {
                animation: blink-glow 1.2s ease-in-out infinite;
            }
        }
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    section[data-iframe-mode="true"].realtime-iframe-mode {
        --rtCardHeight: clamp(260px, 32vh, 380px);

        .hero-form-wrapper {
            max-width: min(720px, 92vw);
        }
    }

    .live-cta-box {
        gap: 1.75rem;
    }

    .live-cta-content * {
        font-size: var(--font-sm)!important;
    }

    .live-preview-container {
        width: 180px;
    }

    .hero.lemon:not(.yt-transcript-hero) {
        .tab-switcher {
            max-width: 900px !important;
            margin: 15px auto 25px auto !important;

            .tab-list {
                padding: 6px !important;

                .tab-item {
                    padding: 16px 24px !important;
                    font-weight: var(--font-weight-bold) !important;
                }
            }
        }

        #live-tab a {
            padding: 16px 24px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            font-weight: var(--font-weight-bold) !important;
        }
    }
}

@media (min-width: 992px) and (max-width: 1200px) {
    section[data-iframe-mode="true"].realtime-iframe-mode {
        --rtCardHeight: clamp(260px, 32vh, 380px);
    }
}

@media (min-width: 769px) and (max-width: 1360px) {
    .hero-form-wrapper {
        padding: 0 32px;
    }
}


@media (min-width: 992px) {
    .hero-form-outer-container {
        min-width: clamp(75%, 1000px, 100%);
    }
}

@media (max-width: 469.98px) {
    section[data-iframe-mode="true"] .hero-form-outer-container {
        min-height: 370px;
        display: flex;
    }

    section[data-iframe-mode="true"] .hero-form-container {
        min-height: 100%;
        height: 100%;
        display: flex;
        flex: 1 1 auto;
    }

    section[data-iframe-mode="true"] .iframe-overlay-container {
        min-height: 100%;
        height: 100%;
        display: flex;
        flex: 1 1 auto;
    }

    section[data-iframe-mode="true"] .iframe-overlay-container iframe {
        height: 100%;
        min-height: 100%;
        flex: 1 1 auto;
    }
}

/* Compact view for low height/a certain width */
@media (min-width: 768px) and (max-width: 991px), (min-width: 768px) and (max-height: 850px) {
    .hero.lemon:not(.yt-transcript-hero) {
        .dashed-container .content-area {
            gap: 0;
        }

        .dashed-container {
            padding: 2rem 4rem 1.5rem 4rem;
            display: flex;
            flex-direction: column;
            gap: 2rem;

            .lemon-upload {
                margin-top: 0;
            }

            .add-file-btn {
                margin: 0.5rem 0;
            }

            .upload-text {
                margin: 0.125rem 0;
            }

            .support-text {
                margin: 0.25rem 0 0 0;
            }

            .dropdown-container {
                margin-bottom: 0.5rem;
            }
        }

        .dashed-container .header-section {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 1.5rem;
            margin-top: 0.75rem;
        }

        .page-icon-circle {
            display: none;
        }

        .page-icon svg {
            width: 32px;
            height: 32px;
        }

        .upload-section {
            width: 100%;
            display: flex;
            justify-content: center;

            .lemon-upload {
                width: 100%;
                max-width: 600px;
            }
        }

        .tab-content {
            margin-top: 0;
        }

        .language-select-dropdowns {
            margin-top: 2rem !important;
        }

        .inner-upload-zone {
            padding: 10px 30px !important;
            gap: 0.5rem !important;
        }

        .waiting-file-panel {
            gap: 0.5rem !important;
        }

        .wait-panel {
            gap: 0.25rem !important;
        }

        .disclaimer {
            margin-top: 2rem !important;
            gap: 0.1rem !important;
        }

        .dropzone-small-dsc {
            margin: 0 !important;
            line-height: 1.4 !important;
        }

        .add-file-btn {
            padding: 0.8rem 1.6rem !important;
        }
    }
}

@media (max-height: 768px) {
    .hero.lemon:not([data-iframe-mode="true"]) .hero-viewport-wrapper {
        padding-top: 0.25em;

        .dashed-container {
            padding-top: 0.5rem;
            padding-bottom: 0.5rem;
            gap: 0.25rem;
        }

        .live-cta-box {
            margin-top: 0.5rem;
            gap: 0.75rem;
        }
    }
}

@media (max-height: 700px) {
    .hero.lemon:not([data-iframe-mode="true"]) .hero-viewport-wrapper {
        padding-top: 0;

        .hero-form-outer-container {
            padding: 0.25rem;
        }

        .dashed-container {
            padding-top: 0.25rem;
            padding-bottom: 0.25rem;
            gap: 0.125rem;
        }

        .live-cta-box {
            margin-top: 0.375rem;
            gap: 0.5rem;
        }

        .live-preview-container {
            scale: 0.7;
        }

        .live-cta-content {
            max-width: 250px;
        }
    }
}