/* Stage sections styles extracted from personal template. */

/* Navbar /stage */
.section-navbar {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1100;
    border-bottom: 1px solid var(--color-border-soft);
}

.section-navbar-container {
    background-color: var(--color-stage-bg);
    align-items: center;
    width: 100%;
    height: 4.25rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    display: flex;
}

.section-navbar-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
}

.section-navbar-burger {
    display: none;
    grid-area: burger;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 6px;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: var(--radius-sm);
    color: #000;
}

.section-navbar-burger:hover {
    background-color: var(--color-secondary-150);
}

.section-navbar-burger:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}

.section-navbar-burger__line {
    display: block;
    width: 20px;
    height: 2px;
    align-self: center;
    background-color: var(--color-secondary-950);
    border-radius: 4px;
}

.section-navbar-logo {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    text-decoration: none;
}

.section-navbar-logo:hover,
.section-navbar-logo:focus-visible {
    text-decoration: none;
}

.section-navbar-logo.icon-logo {
    width: auto;
}

.section-navbar-logo svg {
    width: 64px;
    height: 1.875rem;
    flex: 0 0 auto;
    fill: #000;
}

.section-navbar-logo::after {
    content: none;
}

.section-navbar-mobile-top-cta {
    display: none;
    grid-area: mobile-cta;
}

.section-navbar-menu {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    max-width: min(42rem, calc(100% - 22rem));
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.section-navbar-menu > * {
    pointer-events: auto;
}

.section-navbar-actions {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem 0.65rem;
    margin-left: auto;
    flex-shrink: 0;
}

body.body-stage .section-navbar-actions > .section-navbar-link.section-navbar-link--primary-hover {
    margin-left: 0.15rem;
    padding-left: 0.85rem;
    border-left: 1px solid var(--color-border-soft);
}

/* Crea gratis sempre a destra di Accedi / avatar account */
body.body-stage .section-navbar-actions > :not(.primary-button) {
    order: 1;
}

body.body-stage .section-navbar-actions > .primary-button {
    order: 2;
}

@media (min-width: 56.3125rem) {
    .section-navbar-wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
    }

    .section-navbar-logo {
        grid-column: 1;
        justify-self: start;
    }

    /* Niente transform: altrimenti position:fixed sui mega-menu si ancora al menu, non al viewport. */
    .section-navbar-menu {
        position: static;
        left: auto;
        top: auto;
        transform: none;
        grid-column: 2;
        justify-self: center;
        max-width: min(42rem, 100%);
    }

    .section-navbar-actions {
        grid-column: 3;
        justify-self: end;
        margin-left: 0;
    }
}

body.body-stage .section-navbar-user-tools {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

body.body-stage .section-navbar-notification-dropdown {
    position: relative;
    display: inline-flex;
}

body.body-stage .section-navbar-mobile-notification-dropdown {
    position: relative;
    display: none;
    grid-area: mobile-notif;
    justify-self: end;
}

body.body-stage .section-navbar-notification-button {
    position: relative;
    appearance: none;
    margin: 0;
    padding: 0;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--color-border-soft);
    border-radius: 999px;
    background: var(--color-third-100);
    color: var(--color-secondary-800);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

body.body-stage .section-navbar-notification-button:hover,
body.body-stage .section-navbar-notification-button:focus-visible {
    border-color: var(--color-primary-300);
    color: var(--color-primary-600);
    background: var(--color-primary-50);
}

body.body-stage .section-navbar-notification-button-icon {
    width: 1rem;
    height: 1rem;
    display: inline-flex;
}

body.body-stage .section-navbar-notification-button-icon svg {
    width: 100%;
    height: 100%;
    fill: var(--color-secondary-950);
}

body.body-stage .section-navbar-notification-badge {
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: var(--color-primary-500);
    border: 1.5px solid var(--color-third-100);
}

body.body-stage .section-navbar-notification-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 0.45rem);
    width: min(18.75rem, calc(100vw - 1.5rem));
    max-height: min(24rem, calc(100vh - 6rem));
    overflow-y: auto;
    padding: 0.35rem;
    background-color: var(--color-third-100);
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-sm);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
    z-index: 145;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 0.16s ease, visibility 0.16s ease, transform 0.16s ease;
}

body.body-stage .section-navbar-notification-panel.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

body.body-stage .section-navbar-notification-panel.is-portaled {
    position: fixed;
    right: auto;
    top: auto;
    transform: none;
}

body.body-stage .section-navbar-notification-header {
    padding: 0.35rem 0.5rem 0.5rem;
    border-bottom: 1px solid var(--color-border-soft);
    margin-bottom: 0.25rem;
}

body.body-stage .section-navbar-notification-title {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    font-weight: 700;
    color: #000;
}

body.body-stage .section-navbar-notification-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.5rem 0.75rem;
    text-align: center;
}

body.body-stage .section-navbar-notification-empty-text {
    margin: 0;
    font-size: var(--stage-fs-caption);
    color: var(--color-secondary-600);
}

body.body-stage .section-navbar-notification-cta {
    font-size: var(--stage-fs-caption);
    font-weight: 600;
    color: var(--color-primary-600);
    text-decoration: none;
}

body.body-stage .section-navbar-notification-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    width: 100%;
    padding: 0.4rem 0.45rem;
    border-radius: 0.45rem;
    text-decoration: none;
    color: inherit;
}

body.body-stage .section-navbar-notification-item:hover,
body.body-stage .section-navbar-notification-item:focus-visible {
    text-decoration: none;
    background: var(--color-secondary-100);
}

body.body-stage .section-navbar-notification-item.is-unread {
    background: rgba(124, 58, 237, 0.06);
}

body.body-stage .section-navbar-notification-item-icon {
    position: relative;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    color: var(--color-secondary-700);
}

body.body-stage .section-navbar-notification-item-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

body.body-stage .section-navbar-notification-item-dot {
    position: absolute;
    top: -0.1rem;
    right: -0.15rem;
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 999px;
    background: var(--color-primary-500);
}

body.body-stage .section-navbar-notification-item-content {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

body.body-stage .section-navbar-notification-item-title {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    color: #000;
}

body.body-stage .section-navbar-notification-item-subtitle {
    font-size: 0.75rem;
    line-height: 1.35;
    color: var(--color-secondary-600);
}

body.body-stage .section-navbar-notification-actions {
    display: flex;
    gap: 0.4rem;
    margin-top: 0.35rem;
    padding: 0.35rem 0.25rem 0.15rem;
    border-top: 1px solid var(--color-border-soft);
}

body.body-stage .section-navbar-notification-action {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.35rem 0.5rem;
    border-radius: 0.45rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    text-align: center;
}

body.body-stage .section-navbar-notification-panel a.section-navbar-notification-action--secondary,
body.body-stage .section-navbar-notification-panel a.section-navbar-notification-action--secondary:hover,
body.body-stage .section-navbar-notification-panel a.section-navbar-notification-action--secondary:focus-visible {
    border: 1px solid var(--color-border-soft);
    background: var(--color-third-100);
    color: var(--color-secondary-800);
    text-decoration: none;
}

body.body-stage .section-navbar-notification-panel a.section-navbar-notification-action--primary,
body.body-stage .section-navbar-notification-panel a.section-navbar-notification-action--primary:hover,
body.body-stage .section-navbar-notification-panel a.section-navbar-notification-action--primary:focus-visible {
    border: 1px solid var(--color-primary-500);
    background: var(--color-primary-500);
    color: #fff;
    text-decoration: none;
}

body.body-stage .section-navbar-notification-panel a.section-navbar-notification-action--primary:hover,
body.body-stage .section-navbar-notification-panel a.section-navbar-notification-action--primary:focus-visible {
    background: var(--color-primary-700);
    border-color: var(--color-primary-700);
}

body.body-stage .section-navbar-account-dropdown {
    position: relative;
    display: inline-flex;
}

body.body-stage .section-navbar-account-button {
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: 999px;
    line-height: 0;
}

body.body-stage .section-navbar-account-button:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}

body.body-stage .section-navbar-account-avatar {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    min-height: 2rem;
    border-radius: 999px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid var(--color-border-soft);
    background-color: var(--color-secondary-200);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

body.body-stage .section-navbar-account-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.body-stage .section-navbar-account-avatar-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    background: #7c3aed;
}

body.body-stage .section-navbar-account-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 0.45rem);
    min-width: 15.5rem;
    max-width: min(18rem, calc(100vw - 1.5rem));
    padding: 0.35rem;
    background-color: var(--color-third-100);
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-sm);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
    z-index: 140;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 0.16s ease, visibility 0.16s ease, transform 0.16s ease;
}

body.body-stage .section-navbar-account-panel.is-portaled {
    position: fixed;
    right: auto;
    top: auto;
    transform: none;
}

body.body-stage .section-navbar-account-panel.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

body.body-stage .section-navbar-account-panel.is-portaled.is-open {
    transform: none;
}

body.body-stage .section-navbar-account-head {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.5rem 0.75rem 0.4rem;
    border-bottom: 1px solid var(--color-border-soft);
    margin-bottom: 0.2rem;
}

body.body-stage .section-navbar-account-head-name {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    font-weight: 700;
    line-height: 1.35;
    color: #000;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.body-stage .section-navbar-account-head-email {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--color-secondary-600, #64748b);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.body-stage .section-navbar-account-divider {
    height: 1px;
    margin: 0.25rem 0.35rem;
    background-color: var(--color-border-soft);
}

body.body-stage .section-navbar-account-item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.5rem 0.65rem;
    border-radius: var(--radius-sm);
    color: #000;
    text-decoration: none;
    font-size: var(--stage-fs-p-small);
    font-weight: 500;
    line-height: 1.35;
}

body.body-stage .section-navbar-account-item-icon {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    display: inline-flex;
    color: var(--color-secondary-700);
}

body.body-stage .section-navbar-account-item-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

body.body-stage .section-navbar-account-item-label {
    flex: 1;
    min-width: 0;
}

body.body-stage .section-navbar-account-item:hover,
body.body-stage .section-navbar-account-item:focus-visible {
    background-color: var(--color-secondary-100);
    outline: none;
    text-decoration: none;
}

body.body-stage .section-navbar-account-item--danger {
    color: #b42318;
}

body.body-stage .section-navbar-account-item--danger .section-navbar-account-item-icon {
    color: #b42318;
}

.section-navbar-dropdown {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
    /* Keep hover continuity between trigger and floating panel. */
    padding-bottom: 4px;
    margin-bottom: -4px;
}

.section-navbar-dropdown .section-navbar-link.section-navbar-link-dropdown {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}

button.section-navbar-link {
    appearance: none;
    font: inherit;
    color: inherit;
    cursor: pointer;
    margin: 0;
    border: none;
    background: none;
    text-align: inherit;
}

.section-navbar-dropdown:hover .section-navbar-link.section-navbar-link-dropdown,
.section-navbar-dropdown:focus-within .section-navbar-link.section-navbar-link-dropdown {
    background-color: var(--color-secondary-200);
}

.section-navbar-dropdown__icon svg {
    display: block;
    transition: transform 0.2s ease;
}

.section-navbar-dropdown:hover .section-navbar-dropdown__icon svg,
.section-navbar-dropdown:focus-within .section-navbar-dropdown__icon svg {
    transform: rotate(180deg);
}

.section-navbar-dropdown-panel {
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 12rem;
    padding: 0.35rem;
    background-color: var(--color-third-100);
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border-soft);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    z-index: 120;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-4px);
    transition:
        opacity 0.18s ease,
        visibility 0.18s ease,
        transform 0.18s ease;
}

.section-navbar-dropdown:hover .section-navbar-dropdown-panel,
.section-navbar-dropdown:focus-within .section-navbar-dropdown-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.section-navbar-dropdown.section-navbar-dropdown--mega {
    position: static;
    padding-bottom: 0;
    margin-bottom: 0;
}

.section-navbar-dropdown-panel.section-navbar-dropdown-panel--mega {
    position: fixed;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    top: var(--stage-mega-panel-top, var(--stage-navbar-height, 4.25rem));
    min-height: auto;
    padding: 1.55rem 1.9rem 1.45rem;
    background-color: #f3f3f4;
    border: 1px solid var(--color-border-soft);
    border-radius: 0;
    border-top: none;
    border-left: none;
    border-right: none;
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.08);
    transform: translateX(-50%);
}

.section-navbar-dropdown-panel.section-navbar-dropdown-panel--mega.section-navbar-dropdown-panel--compact {
    width: 100vw;
    max-width: 100vw;
}

.section-navbar-dropdown:hover .section-navbar-dropdown-panel.section-navbar-dropdown-panel--mega,
.section-navbar-dropdown:focus-within .section-navbar-dropdown-panel.section-navbar-dropdown-panel--mega {
    transform: translateX(-50%);
}

.section-navbar-mega-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(94vw, 72rem);
    min-height: auto;
    margin: 0 auto;
    gap: 0.95rem 2.3rem;
    align-items: start;
}

.section-navbar-mega-grid.section-navbar-mega-grid--platform {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.section-navbar-mega-grid.section-navbar-mega-grid--solutions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.section-navbar-mega-grid.section-navbar-mega-grid--about {
    width: min(94vw, 52rem);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 56.25rem) {
    .section-navbar-mega-grid.section-navbar-mega-grid--about {
        grid-template-columns: minmax(0, 1fr);
    }
}

.section-navbar-mega-col {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.16rem;
}

.section-navbar-mega-title {
    margin: 0 0 0.42rem;
    font-size: var(--stage-fs-caption);
    color: rgba(0, 0, 0, 0.56);
    text-transform: none;
    letter-spacing: 0.02em;
    font-weight: 500;
}

.section-navbar-dropdown-item {
    display: block;
    padding: 0.7rem 0;
    font-size: var(--stage-fs-h3);
    line-height: 1.12;
    font-weight: 500;
    color: #111;
    text-decoration: none;
    border-radius: 0;
    transition: color 0.18s ease, transform 0.18s ease;
}

/* Override mirato: batte body.body-stage a senza toccare link globali. */
body.body-stage .section-navbar .section-navbar-dropdown-item {
    font-size: var(--stage-fs-h3);
    line-height: 1.12;
    font-weight: 500;
    color: #111;
    text-decoration: none;
}

.section-navbar-dropdown-item:hover {
    color: var(--color-primary-500);
    background-color: var(--color-secondary-200);
    transform: translateX(3px);
    text-decoration: none;
}

.section-navbar-dropdown-panel--mega .section-navbar-dropdown-item:hover {
    background-color: transparent;
    transform: none;
}

body.body-stage .section-navbar .section-navbar-dropdown-item:hover {
    color: var(--color-primary-500);
}

.section-navbar-dropdown-item:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}

.section-navbar-dropdown .section-navbar-link.section-navbar-link-dropdown:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}

.section-navbar-link {
    border-radius: var(--radius-sm);
    padding: 0.5rem 0.75rem;
    font-size: var(--stage-fs-a);
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.section-navbar-link:hover {
    background-color: var(--color-secondary-200);
    text-decoration: none;
}

body.body-stage .section-navbar-link.section-navbar-link--primary-hover:hover,
body.body-stage .section-navbar-mobile-link.section-navbar-link--primary-hover:hover {
    color: var(--color-primary-500);
    background-color: transparent;
}

.section-navbar-mobile-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1090;
    background-color: rgba(0, 0, 0, 0.35);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

body.stage-nav-mobile-open .section-navbar-mobile-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.section-navbar-mobile-panel {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1095;
    display: flex;
    flex-direction: column;
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100vh;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    background-color: var(--color-third-100);
    box-shadow: none;
    overflow: hidden;
    transform: translateX(-100%);
    transition: transform 0.28s ease, box-shadow 0.28s ease;
}

body.stage-nav-mobile-open .section-navbar-mobile-panel {
    transform: translateX(0);
    box-shadow: 12px 0 40px rgba(0, 0, 0, 0.14);
}

.section-navbar-mobile-stack {
    position: relative;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.section-navbar-mobile-view {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: var(--color-third-100);
    transform: translateX(100%);
    visibility: visible;
    pointer-events: none;
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.section-navbar-mobile-view[data-mobile-nav-view="root"] {
    transform: translateX(0);
}

.section-navbar-mobile-view[data-mobile-nav-view="root"]:not(.is-active) {
    transform: translateX(-100%);
}

.section-navbar-mobile-view.is-active {
    z-index: 2;
    transform: translateX(0);
    pointer-events: auto;
}

.section-navbar-mobile-view.is-exiting {
    z-index: 3;
    pointer-events: none;
}

.section-navbar-mobile-view[hidden] {
    visibility: hidden;
    pointer-events: none;
    z-index: 0;
}

@media (prefers-reduced-motion: reduce) {
    .section-navbar-mobile-view {
        transition: none;
    }
}

.section-navbar-mobile-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.125rem;
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1rem 1.5rem;
    box-sizing: border-box;
}

body.body-stage .section-navbar-mobile-link {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

button.section-navbar-mobile-link {
    appearance: none;
    margin: 0;
    border: none;
    background: none;
    font-family: inherit;
    cursor: pointer;
    width: 100%;
    text-align: left;
}

body.body-stage .section-navbar-mobile-link-icon,
body.body-stage .section-navbar-mobile-link-icon svg {
    fill: var(--color-secondary-950);
}

body.body-stage .section-navbar-mobile-link-icon {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    display: inline-flex;
    color: var(--color-secondary-700);
}

body.body-stage .section-navbar-mobile-link-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

body.body-stage .section-navbar-mobile-link-label {
    flex: 1;
    min-width: 0;
}

body.body-stage .section-navbar-mobile-link--notifications {
    position: relative;
}

body.body-stage .section-navbar-mobile-notification-count {
    margin-left: auto;
    min-width: 1.125rem;
    height: 1.125rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--color-primary-500);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.125rem;
    text-align: center;
}

body.body-stage .section-navbar-mobile-account-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem 0.75rem 0.65rem;
    border-bottom: 1px solid var(--color-border-soft);
    margin-bottom: 0.35rem;
}

body.body-stage .section-navbar-mobile-account-head-avatar {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    min-height: 2.5rem;
    flex-shrink: 0;
}

body.body-stage .section-navbar-mobile-account-meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1 1 auto;
}

body.body-stage .section-navbar-mobile-drill-trigger--account .section-navbar-mobile-drill-trigger-main {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    flex: 1 1 auto;
}

body.body-stage .section-navbar-mobile-account-trigger-avatar {
    width: 1.75rem;
    height: 1.75rem;
    min-width: 1.75rem;
    min-height: 1.75rem;
    flex-shrink: 0;
}

body.body-stage .section-navbar-mobile-drill-trigger-label {
    min-width: 0;
}

body.body-stage .section-navbar-mobile-account-name {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    font-weight: 700;
    line-height: 1.35;
    color: #000;
}

body.body-stage .section-navbar-mobile-account-email {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--color-secondary-600, #64748b);
}

body.body-stage .section-navbar-mobile-link--danger {
    color: #b42318;
}

.section-navbar-mobile-head {
    position: relative;
    z-index: 20;
    display: grid;
    flex-shrink: 0;
    grid-template-columns: 2.75rem 1fr 2.75rem;
    align-items: center;
    column-gap: 0.25rem;
    padding-inline: 1rem;
    border-bottom: 1px solid var(--color-border-soft);
    height: 52px;
    background-color: var(--color-third-100);
    box-sizing: border-box;
}

.section-navbar-mobile-head__start {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    position: relative;
    width: 2.75rem;
    height: 1.875rem;
}

.section-navbar-mobile-head__logo.icon-logo,
.section-navbar-mobile-head .section-navbar-mobile-head__back.section-navbar-mobile-back {
    position: absolute;
    left: 0;
    top: 50%;
    margin: 0;
    transition:
        opacity 0.26s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.26s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
}

.section-navbar-mobile-head__logo.icon-logo {
    width: 54px;
    height: 1.5rem;
    display: inline-flex;
    opacity: 1;
    transform: translateY(-50%) translateX(0) scale(1);
    pointer-events: auto;
}

.section-navbar-mobile-head .section-navbar-mobile-head__back.section-navbar-mobile-back {
    display: inline-flex;
    opacity: 0;
    transform: translateY(-50%) translateX(-0.65rem) scale(0.94);
    pointer-events: none;
}

.section-navbar-mobile-head.is-drill .section-navbar-mobile-head__logo.icon-logo {
    opacity: 0;
    transform: translateY(-50%) translateX(0.65rem) scale(0.94);
    pointer-events: none;
}

.section-navbar-mobile-head.is-drill .section-navbar-mobile-head__back.section-navbar-mobile-back {
    opacity: 1;
    transform: translateY(-50%) translateX(0) scale(1);
    pointer-events: auto;
}

body.body-stage h2.section-navbar-mobile-head__title,
.section-navbar-mobile-head__title {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 0 0.25rem;
    font-family: var(--stage-font-primary);
    font-size: var(--stage-fs-h3);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: normal;
    text-align: center;
    color: #000;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(0.35rem);
    transition:
        opacity 0.26s cubic-bezier(0.4, 0, 0.2, 1) 0.04s,
        transform 0.26s cubic-bezier(0.4, 0, 0.2, 1) 0.04s;
}

.section-navbar-mobile-head.is-drill .section-navbar-mobile-head__title {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .section-navbar-mobile-head__logo.icon-logo,
    .section-navbar-mobile-head .section-navbar-mobile-head__back.section-navbar-mobile-back {
        transition: none;
        will-change: auto;
    }

    .section-navbar-mobile-head__logo.icon-logo {
        transform: translateY(-50%);
    }

    .section-navbar-mobile-head .section-navbar-mobile-head__back.section-navbar-mobile-back {
        transform: translateY(-50%);
    }

    .section-navbar-mobile-head.is-drill .section-navbar-mobile-head__back.section-navbar-mobile-back {
        transform: translateY(-50%);
    }

    .section-navbar-mobile-head__title {
        transition: none;
        transform: none;
    }
}

.section-navbar-mobile-head__close {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
}

.section-navbar-mobile-subhead {
    display: grid;
    flex-shrink: 0;
    grid-template-columns: 2.75rem 1fr 2.75rem;
    align-items: center;
    column-gap: 0.25rem;
    height: 52px;
    padding-inline: 1rem;
    border-bottom: 1px solid var(--color-border-soft);
}

body.body-stage h2.section-navbar-mobile-subhead-title,
.section-navbar-mobile-subhead-title {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    font-family: var(--stage-font-primary);
    font-size: var(--stage-fs-h3);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: normal;
    text-align: center;
    color: #000;
}

.section-navbar-mobile-subhead .section-navbar-mobile-back {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
}

.section-navbar-mobile-subhead .section-navbar-mobile-close--sub {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
}

.section-navbar-mobile-subbody {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1rem 1rem 0.5rem;
    box-sizing: border-box;
}

.section-navbar-mobile-sticky-foot {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    margin-top: auto;
    padding: 1rem;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--color-border-soft);
    background-color: var(--color-third-100);
    box-sizing: border-box;
}

.section-navbar-mobile-panel > .section-navbar-mobile-sticky-foot {
    position: relative;
    z-index: 10;
    margin-top: 0;
}

.section-navbar-mobile-view .section-navbar-mobile-sticky-foot {
    display: none;
}

.section-navbar-mobile-sticky-foot__btn {
    width: 100%;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
}

.section-navbar-mobile-view--root {
    display: flex;
    flex-direction: column;
}

.section-navbar-mobile-group {
    margin: 0 0 1.25rem;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid var(--color-border-soft);
}

.section-navbar-mobile-group:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.section-navbar-mobile-group-title {
    margin: 0 0 0.65rem;
    font-size: var(--stage-fs-caption);
    font-weight: 500;
    color: rgba(0, 0, 0, 0.56);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.section-navbar-mobile-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: #000;
    cursor: pointer;
    flex-shrink: 0;
}

.section-navbar-mobile-back:hover {
    background-color: var(--color-secondary-200);
}

.section-navbar-mobile-back:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}

.section-navbar-mobile-back-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
}

.section-navbar-mobile-back-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.section-navbar-mobile-drill-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.5rem;
    border: none;
    background: none;
    border-radius: var(--radius-sm);
    font-family: var(--stage-font-primary);
    font-size: var(--stage-fs-a);
    font-weight: 500;
    color: #000;
    text-align: left;
    cursor: pointer;
}

.section-navbar-mobile-drill-trigger:hover {
    background-color: var(--color-secondary-200);
}

.section-navbar-mobile-drill-trigger:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}

.section-navbar-mobile-drill-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.section-navbar-mobile-drill-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.section-navbar-mobile-logo.icon-logo {
    width: 64px;
    height: 1.875rem;
}

.section-navbar-mobile-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: #000;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}

.section-navbar-mobile-close:hover {
    background-color: var(--color-secondary-200);
}

.section-navbar-mobile-close:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}

.section-navbar-mobile-link {
    display: block;
    padding: 0.65rem 0.5rem;
    font-size: var(--stage-fs-a);
    font-weight: 500;
    color: #000;
    text-decoration: none;
    border-radius: var(--radius-sm);
    transition: background-color 0.2s ease;
}

body.body-stage .section-navbar-mobile-link,
body.body-stage .section-navbar-mobile-link:hover {
    color: #000;
    text-decoration: none;
    text-decoration-color: transparent;
}

.section-navbar-mobile-link:hover {
    background-color: var(--color-secondary-200);
    text-decoration: none;
}

.section-navbar-mobile-link--sub {
    padding-left: 1rem;
    font-size: var(--stage-fs-a-small);
    font-weight: 400;
}

.section-navbar-mobile-caption {
    display: block;
    padding: 0.5rem 0.5rem 0.15rem;
    font-size: var(--stage-fs-p-small);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-secondary-550);
}

.section-navbar-mobile-dropdown-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.5rem;
    border: none;
    background: none;
    border-radius: var(--radius-sm);
    font-family: var(--stage-font-primary);
    font-size: var(--stage-fs-a);
    font-weight: 600;
    color: #000;
    text-align: left;
    cursor: pointer;
}

.section-navbar-mobile-dropdown-trigger:hover {
    background-color: var(--color-secondary-200);
}

.section-navbar-mobile-dropdown-trigger:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}

.section-navbar-mobile-dropdown-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    transition: transform 0.2s ease;
}

.section-navbar-mobile-dropdown-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

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

.section-navbar-mobile-dropdown-panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 0.1rem 0 0.35rem;
}

.section-navbar-mobile-dropdown-panel[hidden] {
    display: none;
}

.section-navbar-mobile-divider {
    height: 1px;
    margin: 0.65rem 0;
    background-color: var(--color-border-soft);
}

.section-navbar-mobile-nav .section-navbar-mobile-cta-primary {
    margin-top: 0.35rem;
    text-align: center;
    justify-content: center;
}

body.stage-nav-mobile-open {
    overflow: hidden;
}

/* Secondary blog navbar (stage blog, post, category) */
body.body-stage {
    --stage-blog-subnav-height: 3rem;
    --stage-navbar-height: calc(4.25rem + 1px);
}

body.body-stage .stage-blog-subnav {
    position: fixed;
    top: var(--stage-navbar-height, 4.25rem);
    left: 0;
    right: 0;
    z-index: 1090;
    height: var(--stage-blog-subnav-height);
    background: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

body.body-stage .stage-blog-subnav__inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-inline: clamp(0.9rem, 2.5vw, 2rem);
}

body.body-stage .stage-blog-subnav__brand {
    flex-shrink: 0;
    color: #000;
    text-decoration: none;
    font-size: var(--stage-fs-p);
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

body.body-stage .stage-blog-subnav__brand:hover,
body.body-stage .stage-blog-subnav__brand:focus-visible {
    color: var(--color-primary-500, #6366f1);
}

body.body-stage .stage-blog-subnav__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(0.65rem, 1.5vw, 1.25rem);
    flex: 1 1 auto;
    min-width: 0;
}

body.body-stage .stage-blog-subnav__menu {
    display: inline-flex;
    align-items: center;
    gap: clamp(0.8rem, 1.8vw, 1.5rem);
    flex-shrink: 0;
}

body.body-stage .stage-blog-subnav__link {
    text-decoration: none;
    color: #000;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

body.body-stage .stage-blog-subnav__dropdown {
    position: relative;
}

body.body-stage .stage-blog-subnav__dropdown-trigger {
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    font: inherit;
}

body.body-stage .stage-blog-subnav__link {
    font-size: var(--stage-fs-p-small);
}

body.body-stage .stage-blog-subnav__link svg {
    width: 0.9rem;
    height: 0.9rem;
    fill: currentColor;
}

body.body-stage .stage-blog-subnav__link:hover {
    color: var(--color-primary-500);
}

body.body-stage .stage-blog-subnav__search {
    position: relative;
    flex: 1 1 9.5rem;
    max-width: min(20rem, 52vw);
    min-width: 0;
}

body.body-stage .stage-blog-subnav__search-form {
    width: 100%;
}

body.body-stage .stage-blog-subnav__search-field {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    margin: 0;
    padding: 0.32rem 0.75rem 0.32rem 0.6rem;
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.03);
    color: #000;
    cursor: text;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

body.body-stage .stage-blog-subnav__search-field:focus-within {
    border-color: var(--color-primary-500);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14);
}

body.body-stage .stage-blog-subnav__search-icon {
    display: inline-flex;
    flex-shrink: 0;
    color: rgba(0, 0, 0, 0.45);
}

body.body-stage .stage-blog-subnav__search-field:focus-within .stage-blog-subnav__search-icon {
    color: var(--color-primary-500);
}

body.body-stage .stage-blog-subnav__search-icon svg {
    width: 0.95rem;
    height: 0.95rem;
    fill: currentColor;
}

body.body-stage .stage-blog-subnav__search-input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    border: 0;
    background: transparent;
    color: #000;
    padding: 0;
    font: inherit;
    font-size: var(--stage-fs-p-small);
    line-height: 1.35;
}

body.body-stage .stage-blog-subnav__search-input::placeholder {
    color: rgba(0, 0, 0, 0.42);
}

body.body-stage .stage-blog-subnav__search-input:focus {
    outline: none;
}

body.body-stage .stage-blog-subnav__search-panel {
    position: absolute;
    top: calc(100% + 0.45rem);
    left: 0;
    right: 0;
    max-height: min(22rem, 58vh);
    overflow-y: auto;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 0.75rem;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
    padding: 0.35rem;
    z-index: 4;
}

body.body-stage .stage-blog-subnav__search-panel[hidden] {
    display: none;
}

body.body-stage .stage-blog-subnav__search-result {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.45rem;
    text-decoration: none;
    color: #000;
}

body.body-stage .stage-blog-subnav__search-result:hover,
body.body-stage .stage-blog-subnav__search-result:focus-visible {
    background: rgba(59, 130, 246, 0.08);
    color: var(--color-primary-500);
    outline: none;
}

body.body-stage .stage-blog-subnav__search-result-title {
    font-size: var(--stage-fs-p-small);
    line-height: 1.3;
    font-weight: 500;
}

body.body-stage .stage-blog-subnav__search-result-meta {
    font-size: var(--stage-fs-caption);
    line-height: 1.35;
    color: rgba(0, 0, 0, 0.62);
}

body.body-stage .stage-blog-subnav__search-result:hover .stage-blog-subnav__search-result-meta,
body.body-stage .stage-blog-subnav__search-result:focus-visible .stage-blog-subnav__search-result-meta {
    color: rgba(0, 0, 0, 0.72);
}

body.body-stage .stage-blog-subnav__search-empty {
    margin: 0;
    padding: 0.65rem 0.7rem;
    font-size: var(--stage-fs-p-small);
    line-height: 1.35;
    color: rgba(0, 0, 0, 0.72);
}

body.body-stage .stage-blog-subnav__search-all {
    display: block;
    margin-top: 0.15rem;
    padding: 0.55rem 0.65rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    text-decoration: none;
    font-size: var(--stage-fs-caption);
    line-height: 1.35;
    color: var(--color-primary-500);
}

body.body-stage .stage-blog-subnav__search-all:hover,
body.body-stage .stage-blog-subnav__search-all:focus-visible {
    text-decoration: underline;
    outline: none;
}

body.body-stage .stage-blog-subnav__dropdown-trigger[aria-expanded="true"] {
    color: var(--color-primary-500);
}

body.body-stage .stage-blog-subnav__dropdown-panel {
    position: absolute;
    top: calc(100% + 0.55rem);
    right: 0;
    min-width: min(19rem, 88vw);
    max-height: min(24rem, 65vh);
    overflow-y: auto;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 0.7rem;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1);
    padding: 0.35rem;
    z-index: 2;
}

body.body-stage .stage-blog-subnav__dropdown-panel[hidden] {
    display: none;
}

body.body-stage .stage-blog-subnav__dropdown-item {
    display: block;
    padding: 0.55rem 0.7rem;
    border-radius: 0.45rem;
    text-decoration: none;
    color: #000;
    font-size: var(--stage-fs-p-small);
    line-height: 1.3;
}

body.body-stage .stage-blog-subnav__dropdown-item:hover {
    color: var(--color-primary-500);
    background: transparent;
}

body.body-stage .stage-blog-subnav__dropdown-item.is-active {
    font-weight: 600;
    color: var(--color-primary-500);
    background: transparent;
}

@media (min-width: 56.3125rem) and (max-width: 80rem) {
    .section-navbar-container {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .section-navbar-menu {
        max-width: min(36rem, calc(100% - 20rem));
        gap: 0;
    }

    .section-navbar-link {
        padding-inline: 0.55rem;
    }

    body.body-stage .section-navbar-actions {
        gap: 0.35rem 0.5rem;
    }

    body.body-stage .section-navbar-actions > .primary-button {
        padding-inline: 0.85rem;
    }
}

@media (max-width: 56.25rem) {
    .section-navbar-container {
        height: 3.25rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .section-navbar-burger {
        display: inline-flex;
    }

    .section-navbar-wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto auto;
        grid-template-areas: "logo mobile-notif mobile-cta burger";
        column-gap: 0.75rem;
        align-items: center;
    }

    body.body-stage .section-navbar-mobile-notification-dropdown {
        display: inline-flex;
        grid-area: mobile-notif;
        justify-self: end;
    }

    .section-navbar-logo {
        grid-area: logo;
    }

    .section-navbar-logo.icon-logo {
        justify-self: start;
        width: 54px;
        height: 1.5rem;
    }

    .section-navbar-logo::after {
        content: none;
    }

    .section-navbar-burger {
        grid-area: burger;
        justify-self: end;
    }

    .section-navbar-mobile-top-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        grid-area: mobile-cta;
        justify-self: end;
        min-height: 2.1rem;
        padding-inline: 0.75rem;
        font-size: var(--stage-fs-label);
        line-height: 1;
        white-space: nowrap;
    }

    .section-navbar-menu {
        display: none;
        position: static;
        left: auto;
        top: auto;
        transform: none;
        max-width: none;
        pointer-events: auto;
    }

    .section-navbar-actions {
        display: none;
        margin-left: 0;
    }

    body.body-stage .section-navbar-actions > .section-navbar-link.section-navbar-link--primary-hover {
        margin-left: 0;
        padding-left: 0.75rem;
        border-left: none;
    }

    .section-navbar-dropdown-panel.section-navbar-dropdown-panel--mega {
        width: min(92vw, 32rem);
        max-width: min(92vw, 32rem);
        top: var(--stage-mega-panel-top, var(--stage-navbar-height, 4.25rem));
        min-height: auto;
        border-radius: 0.85rem;
        border-left: 1px solid var(--color-border-soft);
        border-right: 1px solid var(--color-border-soft);
    }

    .section-navbar-dropdown-panel.section-navbar-dropdown-panel--mega.section-navbar-dropdown-panel--compact {
        width: min(92vw, 24rem);
        max-width: min(92vw, 24rem);
    }

    .section-navbar-mega-grid {
        grid-template-columns: minmax(0, 1fr);
        min-height: auto;
    }

    body.body-stage {
        --stage-blog-subnav-height: 2.75rem;
    }

    body.body-stage .stage-blog-subnav__brand {
        font-size: var(--stage-fs-p-small);
        max-width: min(11.5rem, 42vw);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.body-stage .stage-blog-subnav__menu {
        gap: 0.7rem;
    }

    body.body-stage .stage-blog-subnav__link {
        font-size: var(--stage-fs-p-data);
    }

    body.body-stage .stage-blog-subnav__dropdown-panel {
        right: 0;
        left: auto;
        min-width: min(15.5rem, 88vw);
    }

    body.body-stage .stage-blog-subnav__actions {
        gap: 0.55rem;
    }

    body.body-stage .stage-blog-subnav__search {
        flex-basis: 7.5rem;
        max-width: min(11.5rem, 46vw);
    }

    body.body-stage .stage-blog-subnav__search-field {
        padding: 0.28rem 0.55rem 0.28rem 0.5rem;
    }

    body.body-stage .stage-blog-subnav__search-input {
        font-size: var(--stage-fs-p-data);
    }

    /* Hero mobile: solo contenuto centrale (specificità > regole .section-hero-* più sotto nel file) */
    body.body-stage .section-hero-wrapper {
        justify-content: center;
        gap: 0;
        height: auto;
        min-height: min(56vh, 21rem);
        max-height: 100%;
    }

    body.body-stage .section-hero-left-wrapper,
    body.body-stage .section-hero-right-wrapper {
        display: none;
    }

    body.body-stage .section-hero-center-wrapper {
        flex: 1 1 0;
        min-width: 0;
        width: 100%;
        max-width: min(54rem, 100%);
        padding-bottom: 2.75rem;
    }

    body.body-stage .section-hero-container {
        padding-top: calc(64px + var(--stage-navbar-height, 4.25rem));
        padding-bottom: 64px;
    }

    body.body-stage .section-hero-description {
        overflow-wrap: break-word;
        margin-top: 0;
        text-align: center;
    }

    body.body-stage .section-hero-title,
    body.body-stage .section-hero-button-wrapper {
        text-align: center;
        justify-content: center;
    }

    body.body-stage .section-badge-hero {
        font-size: var(--stage-fs-p-small);
        line-height: 1.25;
        flex-wrap: nowrap;
        gap: 0.35rem;
        padding-inline: 0.5rem;
        padding-block: 0.3rem;
    }

    body.body-stage .section-hero-graphic-wrap {
        --section-graphic-height: min(56vh, 38rem);
    }

    body.body-stage .section-graphic-container {
        width: 94vw;
    }

    /* Mobile: section basic lead (intro + title + description + button) centered */
    body.body-stage .section-basic__main,
    body.body-stage .section-basic__aside,
    body.body-stage .section-basic__copy,
    body.body-stage .section-basic__lead-highlight {
        text-align: center;
        align-items: center;
    }

    body.body-stage .section-basic__lead-intro {
        justify-content: center;
        margin-inline: auto;
    }

    body.body-stage .section-basic__lead-title {
        font-size: var(--stage-fs-h1);
    }

    body.body-stage .section-basic__lede {
        margin-inline: auto;
        text-align: center;
    }

    body.body-stage .section-basic__actions {
        justify-content: center;
    }
}

/* Hero centro: più larghezza tra desktop e mobile (stesso filo della scala tipografia tablet) */
@media (max-width: 35.99rem) {
    body.body-stage .section-hero-center-wrapper {
        max-width: 100%;
    }
}

@media (min-width: 36rem) and (max-width: 56.25rem) {
    body.body-stage .section-hero-center-wrapper {
        max-width: min(56rem, 100%);
        width: 100%;
    }
}

@media (min-width: 56.26rem) {
    body.body-stage h1 {
        line-height: 1.08;
    }
}

body.body-stage :is(a.primary-button, button.primary-button),
body.body-stage :is(a.primary-button, button.primary-button):hover {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    font-size: var(--stage-fs-btn-primary);
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

body.body-stage button.primary-button {
    border: 0;
    font-family: inherit;
    line-height: 1.2;
}

body.body-stage button.primary-button:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

body.body-stage .primary-button,
body.body-stage .primary-button:hover {
    color: var(--color-third-100);
    text-decoration: none;
    text-decoration-color: transparent;
}

body.body-stage a.secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    font-size: var(--stage-fs-btn-secondary);
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    color: var(--color-secondary-950);
    background-color: var(--color-third-100);
    border: none;
    transition: color 0.2s ease;
}

body.body-stage .secondary-button,
body.body-stage .secondary-button:hover {
    text-decoration: none;
    text-decoration-color: transparent;
}

body.body-stage a.secondary-button:hover {
    background-color: var(--color-third-100);
    color: var(--color-primary-500);
}

.section-badge-hero {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 100%;
    margin-bottom: 1.5rem;
    padding: var(--padding-badge);
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-sm);
    font-weight: 500;
    background: transparent;
    gap: var(--space-1);
}

/* Hero stage — coincide con markup in public/pages/stage/index.php */
.section-hero-container {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    padding-top: calc(64px + var(--stage-navbar-height, 4.25rem));
    padding-bottom: var(--stage-space-section-y);
    padding-inline: clamp(1rem, 4vw, 2.5rem);
    display: flex;
    position: relative;
    overflow-x: hidden;
}

.section-hero-wrapper {
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    height: auto;
    min-height: auto;
    max-height: none;
    display: flex;
}

.section-hero-center-wrapper {
    z-index: 3;
    flex-direction: column;
    flex: 1 1 0;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 80rem;
    min-width: 0;
    height: auto;
    min-height: auto;
    /* padding-bottom: 2rem; */
    display: flex;
    position: relative;
    margin: auto;
    gap: 16px;
}

.section-hero-description {
    margin: 0;
    text-align: center;
    max-width: 100%;
    box-sizing: border-box;
}

body.body-stage .section-hero-title {
    font-size: var(--stage-fs-h1);
}

.section-hero-word-rotator {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-start;
    min-width: 8.2ch;
    margin-left: 0.12em;
    color: var(--color-primary-500);
    white-space: nowrap;
}

.section-hero-word-rotator__inner {
    display: inline-block;
    width: 100%;
    text-align: left;
    transform-origin: 50% 55%;
    will-change: transform, opacity;
}

.section-hero-word-rotator__inner.is-flipping {
    animation: stage-hero-word-flip 700ms cubic-bezier(.22, .61, .36, 1);
}

@keyframes stage-hero-word-flip {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

    42% {
        opacity: 0;
        transform: translateY(-0.32em) scale(.985);
    }

    58% {
        opacity: 0;
        transform: translateY(0.32em) scale(.985);
    }

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

@media (prefers-reduced-motion: reduce) {
    .section-hero-word-rotator__inner.is-flipping {
        animation: none;
    }
}

/* ===== Support center ===== */
body.body-stage .stage-support-home,
body.body-stage .stage-support-category:not(.stage-support-category--wix),
body.body-stage .stage-support-article:not(.stage-support-article--wix) {
    padding-top: calc(var(--stage-navbar-height, 4.25rem) + clamp(1.8rem, 4.8vw, 3.4rem));
    padding-bottom: clamp(3.25rem, 8vw, 6rem);
}

body.body-stage .stage-support-home {
    background: #fff;
}

body.body-stage .stage-support-home__inner,
body.body-stage .stage-support-category__inner,
body.body-stage .stage-support-article__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(3rem, 5.5vw, 4.5rem);
}

body.body-stage .stage-support-home__hero {
    border: 1px solid rgba(19, 110, 245, 0.16);
    border-radius: 1.25rem;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(10, 20, 35, 0.07);
    padding: clamp(1.35rem, 3.4vw, 2.4rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
}

body.body-stage .stage-support-home__hero--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 19rem);
    align-items: center;
    gap: 1.1rem 1.6rem;
    text-align: left;
}

body.body-stage .stage-support-home__hero-copy {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

body.body-stage .stage-support-home__hero-media {
    margin: 0;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(26, 36, 55, 0.14);
}

body.body-stage .stage-support-home__hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.body-stage .stage-support-home__hero-more {
    grid-column: 1 / -1;
    text-align: center;
}

body.body-stage .stage-support-home__hero-more a {
    color: #4e5d71;
    text-decoration: none;
    font-size: 0.95rem;
}

body.body-stage .stage-support-home__eyebrow {
    margin: 0;
    font-size: var(--stage-fs-intro);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #2b3f60;
}

body.body-stage .stage-support-home__title {
    margin: 0;
    font-size: clamp(1.9rem, 4.9vw, 3.05rem);
    line-height: 1.1;
    font-weight: 700;
    max-width: 17ch;
}

body.body-stage .stage-support-home__lede {
    margin: 0;
    max-width: 58ch;
    color: #364152;
    font-size: clamp(0.98rem, 1.7vw, 1.08rem);
}

body.body-stage .stage-support-search {
    margin-top: 0.25rem;
    width: min(100%, 42rem);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

body.body-stage .stage-support-search input {
    flex: 1 1 auto;
    min-height: 2.5rem;
    border: 1px solid rgba(19, 110, 245, 0.28);
    border-radius: 999px;
    padding: 0 1rem;
    font-family: inherit;
    font-size: 0.9375rem;
    line-height: 1.2;
    font-weight: 400;
    color: #000;
    background: #fff;
}

body.body-stage .stage-support-search input::placeholder {
    color: #6b7280;
}

body.body-stage .stage-support-search input:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 1px;
}

body.body-stage .stage-support-search__submit {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.5rem;
    margin: 0;
    padding: 0 0.9rem;
    border: 1px solid #000;
    border-radius: 999px;
    background: transparent;
    color: #000;
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    white-space: nowrap;
    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}

body.body-stage .stage-support-search__submit-icon {
    display: block;
    width: 0;
    height: 0.95rem;
    flex: 0 0 auto;
    overflow: hidden;
    opacity: 0;
    fill: currentColor;
    transition:
        width 180ms ease,
        opacity 180ms ease,
        transform 180ms ease;
    transform: translateX(-3px);
}

body.body-stage .stage-support-search__submit:hover,
body.body-stage .stage-support-search__submit:focus-visible {
    background-color: #000;
    border-color: #000;
    color: #fff;
    outline: none;
}

body.body-stage .stage-support-search__submit:hover .stage-support-search__submit-icon,
body.body-stage .stage-support-search__submit:focus-visible .stage-support-search__submit-icon {
    width: 0.95rem;
    opacity: 1;
    transform: translateX(0);
}

/* Risultati ricerca supporto */
body.body-stage .stage-support-search-results {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

body.body-stage .stage-support-search-results__title {
    margin: 0;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    line-height: 1.2;
    font-weight: 700;
    color: #000;
}

body.body-stage .stage-support-search-results__lede {
    margin: 0.35rem 0 0;
    font-size: 1rem;
    line-height: 1.5;
    color: #364152;
}

body.body-stage .stage-support-search-results__list {
    margin: 0.5rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

body.body-stage .stage-support-search-results__list li {
    margin: 0;
    padding: 0;
    position: static;
}

body.body-stage .stage-support-search-results__list li::before {
    content: none;
    display: none;
}

body.body-stage .stage-support-search-results__list a {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.98rem;
    line-height: 1.45;
    color: #162d3d;
    text-decoration: none;
}

body.body-stage .stage-support-search-results__list a:hover {
    color: var(--color-primary-500);
    text-decoration: underline;
}

body.body-stage .stage-support-search-results__icon {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin-top: 0.15rem;
    fill: #6b7c8f;
    color: #6b7c8f;
}

body.body-stage .stage-support-search-results__list a:hover .stage-support-search-results__icon {
    fill: var(--color-primary-500);
    color: var(--color-primary-500);
}

body.body-stage .stage-support-search-results__link-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

body.body-stage .stage-support-search-results__article-title {
    font-weight: 600;
    color: inherit;
}

body.body-stage .stage-support-search-results__article-meta {
    font-size: 0.8125rem;
    color: #6b7280;
}

body.body-stage .stage-support-search-results__back {
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
}

body.body-stage .stage-support-search-results__back a {
    color: var(--color-primary-500);
    text-decoration: none;
}

body.body-stage .stage-support-search-results__back a:hover {
    text-decoration: underline;
}

body.body-stage .stage-support-suggested {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.45rem;
    margin-top: 0.15rem;
}

body.body-stage .stage-support-suggested a {
    text-decoration: none;
    color: #233448;
    border: 1px solid rgba(35, 52, 72, 0.2);
    background: #fff;
    border-radius: 999px;
    padding: 0.38rem 0.68rem;
    font-size: 0.84rem;
    line-height: 1.2;
}

body.body-stage .stage-support-suggested a:hover {
    border-color: var(--color-primary-500);
    color: var(--color-primary-500);
}

body.body-stage .stage-support-topics-head {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

body.body-stage .stage-support-topics-head h2 {
    margin: 0;
    font-size: clamp(1.45rem, 3vw, 2.1rem);
}

body.body-stage .stage-support-topics-head p {
    margin: 0;
    color: #3b4452;
}

body.body-stage .stage-support-topics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

body.body-stage .stage-support-topics--kb {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.body-stage .stage-support-directory {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, 3vw, 1.9rem);
}

body.body-stage .stage-support-directory__head {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

body.body-stage .stage-support-directory__head h2 {
    margin: 0;
    font-size: clamp(1.45rem, 3vw, 2.1rem);
    line-height: 1.15;
    letter-spacing: -0.01em;
}

body.body-stage .stage-support-directory__head p {
    margin: 0.35rem 0 0;
    color: #3b4452;
    line-height: 1.45;
    max-width: 62ch;
}

body.body-stage .stage-support-topics--directory {
    grid-template-columns: 1fr;
    gap: 0.25rem;
}

body.body-stage .stage-support-topics--cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

body.body-stage .stage-support-topic {
    border: 1px solid rgba(26, 36, 55, 0.12);
    border-radius: 1rem;
    background: #fff;
    padding: 1.05rem 1.05rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-height: 13.5rem;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.body-stage .stage-support-topics--directory .stage-support-topic {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.28rem 1rem;
    padding: 0.95rem 0.3rem 0.95rem;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid rgba(26, 36, 55, 0.14);
    background: transparent;
}

body.body-stage .stage-support-topics--cards .stage-support-topic {
    min-height: 0;
    padding: 0;
    border: 1px solid rgba(26, 36, 55, 0.14);
    border-radius: 0.95rem;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__media {
    margin: 0;
    width: 100%;
    height: 300px;
    min-height: 300px;
    max-height: 300px;
    flex-shrink: 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(26, 36, 55, 0.14);
}

body.body-stage .stage-support-topics--cards .stage-support-topic__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__content {
    padding: 0.95rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    height: 100%;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__title {
    font-size: clamp(1.24rem, 2.3vw, 1.58rem);
    line-height: 1.18;
    letter-spacing: -0.01em;
    font-weight: 700;
}

body.body-stage .stage-support-topics--directory .stage-support-topic:last-child {
    border-bottom: 0;
}

body.body-stage .stage-support-topics--directory .stage-support-topic__kicker,
body.body-stage .stage-support-topics--directory .stage-support-topic__title,
body.body-stage .stage-support-topics--directory .stage-support-topic__desc,
body.body-stage .stage-support-topics--directory .stage-support-topic__links {
    grid-column: 1 / 2;
}

body.body-stage .stage-support-topics--directory .stage-support-topic__meta,
body.body-stage .stage-support-topics--directory .stage-support-topic__cta {
    grid-column: 2 / 3;
    white-space: nowrap;
    align-self: center;
}

body.body-stage .stage-support-topics--directory .stage-support-topic__meta {
    margin-top: 0;
    font-size: 0.9rem;
}

body.body-stage .stage-support-topics--directory .stage-support-topic__cta {
    margin-top: 0.35rem;
    text-align: right;
}

body.body-stage .stage-support-topic:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(12, 20, 35, 0.08);
    border-color: rgba(19, 110, 245, 0.35);
}

body.body-stage .stage-support-topics--directory .stage-support-topic:hover {
    transform: none;
    box-shadow: none;
    border-color: transparent;
}

body.body-stage .stage-support-topics--cards .stage-support-topic:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(12, 20, 35, 0.08);
    border-color: rgba(19, 110, 245, 0.3);
}

body.body-stage .stage-support-topic__kicker {
    margin: 0;
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    color: #5e6876;
}

body.body-stage .stage-support-topic__title {
    margin: 0;
    font-size: clamp(1.02rem, 2.05vw, 1.22rem);
    line-height: 1.24;
}

body.body-stage .stage-support-topic__title a {
    color: inherit;
    text-decoration: none;
}

body.body-stage .stage-support-topic__title a:hover {
    color: var(--color-primary-500);
}

body.body-stage .stage-support-topic__desc,
body.body-stage .stage-support-topic__meta {
    margin: 0;
}

body.body-stage .stage-support-topic__desc {
    color: #2f3946;
    max-width: 62ch;
    font-size: 0.95rem;
}

body.body-stage .stage-support-topic__links {
    margin: 0.25rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

body.body-stage .stage-support-topic__links li {
    margin: 0;
    padding: 0;
    list-style: none;
    list-style-type: none;
}

body.body-stage .stage-support-topic__links a {
    text-decoration: none;
    color: #1e2b3d;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__links {
    margin: 0;
    gap: 0.35rem;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__links li {
    position: static;
    padding-left: 0;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__links li::before {
    content: none;
    display: none;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__links a {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.96rem;
    line-height: 1.38;
    color: #162d3d;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__link-icon {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin-top: 0.12rem;
    fill: #6b7c8f;
    color: #6b7c8f;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__links a:hover .stage-support-topic__link-icon {
    fill: var(--color-primary-500);
    color: var(--color-primary-500);
}

body.body-stage .stage-support-topic__links a:hover {
    color: var(--color-primary-500);
}

body.body-stage .stage-support-topic__meta {
    margin-top: 0.5rem;
    color: #5e6876;
    font-weight: 600;
    font-size: 0.88rem;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__meta {
    display: none;
}

body.body-stage .stage-support-topic__cta {
    margin: 0.1rem 0 0;
}

body.body-stage .stage-support-topic__cta a {
    text-decoration: none;
    color: var(--color-primary-500);
    font-weight: 700;
    font-size: 0.93rem;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__cta {
    margin-top: auto;
    padding-top: 0.2rem;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.2rem;
    padding: 0 0.9rem;
    border: 1px solid #000;
    border-radius: 999px;
    background: transparent;
    color: #000;
    font-weight: 600;
    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__cta-icon {
    display: block;
    width: 0;
    height: 0.95rem;
    flex: 0 0 auto;
    overflow: hidden;
    opacity: 0;
    fill: currentColor;
    transition:
        width 180ms ease,
        opacity 180ms ease,
        transform 180ms ease;
    transform: translateX(-3px);
}

body.body-stage .stage-support-topics--cards .stage-support-topic__cta a:hover,
body.body-stage .stage-support-topics--cards .stage-support-topic__cta a:focus-visible {
    background-color: #000;
    border-color: #000;
    color: #fff;
    outline: none;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__cta a:hover .stage-support-topic__cta-icon,
body.body-stage .stage-support-topics--cards .stage-support-topic__cta a:focus-visible .stage-support-topic__cta-icon {
    width: 0.95rem;
    opacity: 1;
    transform: translateX(0);
}

body.body-stage .stage-support-resources {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

body.body-stage .stage-support-resources__head h2,
body.body-stage .stage-support-faq__head h2 {
    margin: 0;
    font-size: clamp(1.45rem, 3vw, 2.1rem);
}

body.body-stage .stage-support-resources__head p,
body.body-stage .stage-support-faq__head p {
    margin: 0.35rem 0 0;
    color: #3b4452;
}

body.body-stage .stage-support-resources__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

body.body-stage .stage-support-resource-card {
    border: 1px solid rgba(26, 36, 55, 0.12);
    border-radius: 1rem;
    background: #fff;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-height: 14.4rem;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

body.body-stage .stage-support-resource-card--has-media {
    padding: 0;
    overflow: hidden;
    gap: 0;
}

body.body-stage .stage-support-resource-card__media {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #eef1f5;
}

body.body-stage .stage-support-resource-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
}

body.body-stage .stage-support-resource-card--has-media:hover .stage-support-resource-card__media img {
    transform: scale(1.03);
}

body.body-stage .stage-support-resource-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1rem;
    flex: 1;
}

body.body-stage .stage-support-article__preview {
    margin: 0 0 1.25rem;
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #eef1f5;
}

body.body-stage .stage-support-article__preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.body-stage .stage-support-resource-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(12, 20, 35, 0.08);
}

body.body-stage .stage-support-resource-card__category,
body.body-stage .stage-support-resource-card__meta {
    margin: 0;
    color: #5f6b7a;
    font-size: 0.92rem;
}

body.body-stage .stage-support-resource-card__title {
    margin: 0;
    font-size: clamp(1.03rem, 2.1vw, 1.25rem);
    line-height: 1.24;
}

body.body-stage .stage-support-resource-card__title a {
    color: inherit;
    text-decoration: none;
}

body.body-stage .stage-support-resource-card__title a:hover {
    color: var(--color-primary-500);
}

body.body-stage .stage-support-resource-card__excerpt {
    margin: 0;
    color: #2f3946;
}

body.body-stage .stage-support-resource-card__meta {
    margin-top: auto;
}

body.body-stage .stage-support-faq {
    border: 1px solid rgba(26, 36, 55, 0.12);
    border-radius: 1rem;
    background: #fff;
    padding: clamp(1rem, 2.8vw, 2rem);
}

body.body-stage .stage-support-faq__list {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

body.body-stage .stage-support-faq-item {
    border: 1px solid rgba(26, 36, 55, 0.14);
    border-radius: 0.7rem;
    padding: 0.92rem 1rem;
    background: #fff;
}

body.body-stage .stage-support-faq-item summary {
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    list-style: none;
}

body.body-stage .stage-support-faq-item summary::-webkit-details-marker {
    display: none;
}

body.body-stage .stage-support-faq-item__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.85rem;
    height: 0.85rem;
    transition: transform 0.2s ease;
}

body.body-stage .stage-support-faq-item[open] summary .stage-support-faq-item__icon {
    transform: rotate(180deg);
}

body.body-stage .stage-support-faq-item p {
    margin: 0.75rem 0 0;
    color: #2f3946;
}

body.body-stage .stage-support-faq-item a {
    color: var(--color-primary-500);
    font-weight: 600;
}

body.body-stage .stage-support-breadcrumb {
    font-size: 0.95rem;
    color: #687280;
}

body.body-stage .stage-support-breadcrumb a {
    color: inherit;
}

body.body-stage .stage-support-category__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 24rem);
    gap: 1rem;
    align-items: end;
}

body.body-stage .stage-support-category__head-main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

body.body-stage .stage-support-category__preview {
    margin: 0;
    max-width: min(100%, 22rem);
    aspect-ratio: 16 / 9;
    border-radius: 1rem;
    overflow: hidden;
    background: #eef1f5;
}

body.body-stage .stage-support-category__preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.body-stage .stage-support-category__head h1 {
    margin: 0.25rem 0 0.5rem;
    font-size: clamp(1.8rem, 4.2vw, 2.7rem);
    line-height: 1.14;
}

body.body-stage .stage-support-category__head p {
    margin: 0;
}

body.body-stage .stage-support-category__content {
    display: grid;
    grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr);
    gap: 1rem;
}

body.body-stage .stage-support-category__aside {
    border: 1px solid rgba(26, 36, 55, 0.14);
    border-radius: 1rem;
    background: #fff;
    padding: 1rem;
    height: fit-content;
    position: sticky;
    top: calc(var(--stage-navbar-height, 4.25rem) + 1rem);
}

body.body-stage .stage-support-category__aside-title {
    margin: 0 0 0.7rem;
    font-weight: 700;
}

body.body-stage .stage-support-category__aside ul,
body.body-stage .stage-support-article__box ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

body.body-stage .stage-support-category__aside a,
body.body-stage .stage-support-article__box a {
    color: #1f1f1f;
    text-decoration: none;
}

body.body-stage .stage-support-category__aside a[aria-current="page"],
body.body-stage .stage-support-article__box a[aria-current="page"] {
    color: var(--color-primary-500);
    font-weight: 700;
}

body.body-stage .stage-support-category__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.8rem;
}

body.body-stage .stage-support-empty {
    border: 1px solid rgba(26, 36, 55, 0.14);
    border-radius: 1rem;
    padding: clamp(1.2rem, 3vw, 2rem);
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
}

body.body-stage .stage-support-empty--small {
    padding: 1rem;
}

body.body-stage .stage-support-empty h1,
body.body-stage .stage-support-empty p {
    margin: 0;
}

body.body-stage .stage-support-article__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(13rem, 18rem);
    gap: 1rem;
}

body.body-stage .stage-support-article__content {
    border: 1px solid rgba(26, 36, 55, 0.14);
    border-radius: 1rem;
    background: #fff;
    padding: clamp(1rem, 3vw, 2rem);
}

body.body-stage .stage-support-article__content h1 {
    margin: 0.4rem 0 0.8rem;
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1.1;
}

body.body-stage .stage-support-article__meta,
body.body-stage .stage-support-article__excerpt {
    margin: 0;
}

body.body-stage .stage-support-article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1.2rem;
    color: #5f6b7a;
    font-size: 0.95rem;
}

body.body-stage .stage-support-article__excerpt {
    margin-top: 0.85rem;
    font-size: 1.05rem;
    color: #2f3946;
}

body.body-stage .stage-support-article__body {
    margin-top: 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

body.body-stage .stage-support-article__body h2,
body.body-stage .stage-support-article__body h3,
body.body-stage .stage-support-article__body p,
body.body-stage .stage-support-article__body ol,
body.body-stage .stage-support-article__body ul {
    margin: 0;
}

body.body-stage .stage-support-article__body h2 {
    margin-top: 0.9rem;
    font-size: clamp(1.25rem, 2.8vw, 1.6rem);
}

body.body-stage .stage-support-article__aside {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

body.body-stage .stage-support-article__box {
    border: 1px solid rgba(26, 36, 55, 0.14);
    border-radius: 1rem;
    background: #fff;
    padding: 1rem;
}

body.body-stage .stage-support-article__box-title {
    margin: 0 0 0.7rem;
    font-weight: 700;
}

@media (max-width: 70rem) {
    body.body-stage .stage-support-topics,
    body.body-stage .stage-support-resources__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.body-stage .stage-support-topics--kb {
        grid-template-columns: 1fr;
    }

    body.body-stage .stage-support-topics--cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-support-home__hero--split {
        grid-template-columns: 1fr;
    }

    body.body-stage .stage-support-home__hero-media {
        max-width: min(24rem, 100%);
    }

    body.body-stage .stage-support-search {
        flex-direction: column;
        width: 100%;
    }

    body.body-stage .stage-support-search__submit {
        width: 100%;
    }

    body.body-stage .stage-support-topics,
    body.body-stage .stage-support-resources__grid {
        grid-template-columns: 1fr;
    }

    body.body-stage .stage-support-topics--cards {
        grid-template-columns: 1fr;
    }

    body.body-stage .stage-support-topics--directory .stage-support-topic {
        grid-template-columns: 1fr;
    }

    body.body-stage .stage-support-topics--directory .stage-support-topic__meta,
    body.body-stage .stage-support-topics--directory .stage-support-topic__cta {
        grid-column: 1 / 2;
        text-align: left;
        white-space: normal;
    }

    body.body-stage .stage-support-category__head,
    body.body-stage .stage-support-category__content,
    body.body-stage .stage-support-article__layout {
        grid-template-columns: 1fr;
    }

    body.body-stage .stage-support-category__aside {
        position: static;
    }
}

/* Support spacing tuning (Martini rhythm) */
body.body-stage .stage-support-home,
body.body-stage .stage-support-category:not(.stage-support-category--wix),
body.body-stage .stage-support-article:not(.stage-support-article--wix) {
    --support-section-gap: clamp(1.25rem, 3vw, 1.9rem);
    --support-block-padding: clamp(1.05rem, 2.4vw, 1.6rem);
    --support-card-padding: clamp(0.9rem, 2vw, 1.15rem);
    padding-top: calc(var(--stage-navbar-height, 4.25rem) + clamp(1.9rem, 5vw, 3.5rem));
    padding-bottom: clamp(4rem, 9vw, 6.5rem);
}

body.body-stage .stage-support-home__hero,
body.body-stage .stage-support-faq {
    padding: var(--support-block-padding);
}

body.body-stage .stage-support-home__hero-copy {
    gap: clamp(0.65rem, 1.6vw, 0.9rem);
}

body.body-stage .stage-support-home__title {
    font-weight: 700;
    letter-spacing: -0.01em;
}

body.body-stage .stage-support-home__lede,
body.body-stage .stage-support-topic__desc,
body.body-stage .stage-support-resource-card__excerpt,
body.body-stage .stage-support-faq-item p {
    line-height: 1.45;
}

body.body-stage .stage-support-search input {
    padding: 0 1rem;
}

body.body-stage .stage-support-search__submit {
    padding-inline: 1.15rem;
}

body.body-stage .stage-support-suggested {
    gap: 0.4rem;
}

body.body-stage .stage-support-topics--cards,
body.body-stage .stage-support-resources__grid {
    column-gap: clamp(0.75rem, 1.8vw, 1rem);
    row-gap: clamp(2.4rem, 5.5vw, 3.2rem);
}

body.body-stage .stage-support-topics--cards .stage-support-topic__content,
body.body-stage .stage-support-resource-card,
body.body-stage .stage-support-article__box {
    padding: var(--support-card-padding);
}

body.body-stage .stage-support-topics--cards .stage-support-topic__title {
    font-size: clamp(1.24rem, 2.3vw, 1.58rem);
    line-height: 1.18;
    letter-spacing: -0.01em;
    font-weight: 700;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__links {
    gap: 0.28rem;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__links a {
    font-size: 0.96rem;
    line-height: 1.4;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__link-icon {
    width: 0.95rem;
    height: 0.95rem;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__cta {
    padding-top: 0.35rem;
}

body.body-stage .stage-support-topics--cards .stage-support-topic__cta a {
    min-height: 2.2rem;
    padding: 0 0.9rem;
}

body.body-stage .stage-support-category__content,
body.body-stage .stage-support-article__layout {
    gap: clamp(0.9rem, 2.1vw, 1.15rem);
}

body.body-stage .stage-support-category__list {
    gap: clamp(0.75rem, 1.7vw, 0.95rem);
}

/* Supporto: primary nero, CTA card già definito sopra */
body.body-stage .stage-support-home .primary-button,
body.body-stage .stage-support-category--wix .primary-button,
body.body-stage .stage-support-article--wix .primary-button {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
}

body.body-stage .stage-support-home .primary-button:hover,
body.body-stage .stage-support-category--wix .primary-button:hover,
body.body-stage .stage-support-article--wix .primary-button:hover {
    background-color: #111;
    color: #fff;
    border-color: #111;
}

body.body-stage .stage-support-article__body {
    margin-top: clamp(0.95rem, 2.1vw, 1.2rem);
    gap: 0.7rem;
}

body.body-stage .section-navbar--support .section-navbar-logo-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
}

body.body-stage .section-navbar--support .section-navbar-support-label {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
}

@media (max-width: 24.375rem) {
    body.body-stage .stage-support-home,
    body.body-stage .stage-support-category:not(.stage-support-category--wix),
    body.body-stage .stage-support-article:not(.stage-support-article--wix) {
        padding-top: calc(var(--stage-navbar-height, 4.25rem) + 1.45rem);
        padding-bottom: 3.2rem;
    }

    body.body-stage .stage-support-home__hero--split {
        gap: 0.9rem 1rem;
    }

    body.body-stage .stage-support-home__title {
        font-size: clamp(1.72rem, 8.4vw, 2.05rem);
        line-height: 1.12;
        max-width: 13.8ch;
    }

    body.body-stage .stage-support-home__lede {
        font-size: 0.95rem;
        line-height: 1.42;
    }

    body.body-stage .stage-support-search input {
        min-height: 2.4rem;
        font-size: 0.9rem;
    }

    body.body-stage .stage-support-search__submit {
        min-height: 2.4rem;
        font-size: 0.9rem;
    }

    body.body-stage .stage-support-suggested {
        gap: 0.32rem;
    }

    body.body-stage .stage-support-suggested a {
        font-size: 0.8rem;
        padding: 0.34rem 0.58rem;
    }

    body.body-stage .stage-support-directory__head h2 {
        font-size: clamp(1.38rem, 6.4vw, 1.72rem);
        line-height: 1.15;
    }

    body.body-stage .stage-support-topics--cards .stage-support-topic__content {
        padding: 0.82rem;
        gap: 0.36rem;
    }

    body.body-stage .stage-support-topics--cards .stage-support-topic__title {
        font-size: 1.18rem;
        line-height: 1.2;
    }

    body.body-stage .stage-support-topics--cards .stage-support-topic__links a {
        font-size: 0.92rem;
        line-height: 1.36;
    }

    body.body-stage .stage-support-topics--cards .stage-support-topic__cta a {
        min-height: 2.05rem;
        font-size: 0.9rem;
        padding: 0 0.78rem;
    }
}

@media (max-width: 22.5rem) {
    body.body-stage .stage-support-home__hero,
    body.body-stage .stage-support-faq,
    body.body-stage .stage-support-article__content {
        padding: 0.9rem;
    }

    body.body-stage .stage-support-home__title {
        font-size: 1.62rem;
        max-width: 12.8ch;
    }

    body.body-stage .stage-support-search input {
        min-height: 2.35rem;
        padding: 0 0.85rem;
    }

    body.body-stage .stage-support-search__submit {
        min-height: 2.35rem;
        font-size: 0.88rem;
        padding-inline: 0.8rem;
    }

    body.body-stage .stage-support-suggested a {
        font-size: 0.76rem;
        padding: 0.3rem 0.52rem;
    }

    body.body-stage .stage-support-topics--cards .stage-support-topic__content {
        padding: 0.76rem;
    }

    body.body-stage .stage-support-topics--cards .stage-support-topic__title {
        font-size: 1.11rem;
    }
}

body.body-stage .section-navbar--support .section-navbar-logo-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
}

body.body-stage .section-navbar--support .section-navbar-support-label {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
}

.section-hero-button-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-2);
    align-items: center;
    margin-top: 16px;
    max-width: 100%;
}

.section-hero-preview {
    margin: 72px 0 0;
    width: 100%;
    max-width: none;
    border-radius: var(--radius-sm);
    overflow: hidden;
}

/* Testo con gradiente tipo “1 Million+”: corallo → magenta → indaco */
.section-hero-text-gradient {
    display: inline;
    background-image: linear-gradient(
        90deg,
        #fb7185 0%,
        #e879f9 45%,
        #a855f7 55%,
        #818cf8 85%,
        #6366f1 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.section-hero-left-wrapper {
    z-index: 4;
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    flex-direction: column;
    flex: 0 auto;
    align-items: flex-end;
    width: 28vh;
    max-width: 18rem;
    height: 100%;
    margin-right: 2rem;
    display: flex;
    position: relative;
    justify-content: center;
}

.section-hero-right-wrapper {
    z-index: 4;
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    flex-direction: column;
    flex: 0 auto;
    align-items: flex-start;
    width: 28vh;
    max-width: 18rem;
    height: 100%;
    margin-left: 2rem;
    display: flex;
    position: relative;
    justify-content: center;
}

.section-hero-image {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    flex: 0 auto;
    align-items: flex-end;
    width: 100%;
    max-width: 100%;
}

.section-hero-image--right {
    align-items: flex-start;
}

.section-hero-image picture,
.section-hero-image img.section-hero-image__photo {
    display: block;
    width: 100%;
    max-width: 819px;
    height: auto;
    border-radius: var(--radius-sm);
}

.section-hero-image__photo {
    transform-style: preserve-3d;
}

/* Frame grafico + shuffle — /stage */
.section-hero-graphic-wrap {
    isolation: isolate;
    position: relative;
    width: 100%;
    padding-bottom: 4rem;
    --section-graphic-height: min(72vh, 43rem);
}

.section-hero-graphic-wrap > .section:first-of-type {
    position: relative;
    z-index: 2;
}

.section-graphic-container {
    z-index: 1;
    border-style: solid;
    border-top: none;
    border-inline-width: 1.5px;
    border-bottom-width: 1.5px;
    border-color: color-mix(in srgb, var(--primary-color) 40%, transparent);
    border-radius: var(--radius-sm);
    width: 97.5vw;
    height: var(--section-graphic-height, min(72vh, 43rem));
    background-color: transparent;
    pointer-events: none;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        border-width 0.25s ease;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
}

.section-hero-graphic-wrap:hover .section-graphic-container {
    background-color: color-mix(in srgb, var(--primary-color) 12%, var(--color-stage-bg));
    border-inline-width: 3px;
    border-bottom-width: 3px;
    border-color: color-mix(in srgb, var(--primary-color) 58%, transparent);
}

.section-graphic-corner-left {
    pointer-events: none;
    background-color: var(--primary-color);
    width: 12px;
    height: 12px;
    border-radius: var(--radius-sm);
    position: absolute;
    inset: auto auto -6px -6px;
}

.section-graphic-corner-right {
    pointer-events: none;
    background-color: var(--primary-color);
    width: 12px;
    height: 12px;
    border-radius: var(--radius-sm);
    position: absolute;
    inset: auto -6px -6px auto;
}

.section-graphic-shuffle {
    z-index: 3;
    pointer-events: auto;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    color: var(--primary-color);
    cursor: pointer;
    background-color: transparent;
    align-items: center;
    font-size: var(--stage-fs-p-small);
    font-weight: 500;
    display: flex;
    position: absolute;
    left: 50%;
    top: var(--section-graphic-height, min(72vh, 43rem));
    transform: translate(-50%, -50%);
}
.section-graphic-shuffle-link {
    grid-column-gap: 0.5rem;
    grid-row-gap: 0.5rem;
    background-color: var(--color-primary-25);
    height: 32px;
    color: var(--primary-color);
    cursor: pointer;
    border-radius: var(--radius-sm);
    align-items: center;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    font-size: var(--stage-fs-p-small);
    font-weight: 500;
    transition: background-color 0.2s;
    display: flex;
    text-decoration: none;
}

.section-graphic-shuffle-link:hover {
    color: var(--primary-color);
    text-decoration: none;
}

.icon-shuffle svg {
    display: block;
    width: 100%;
    height: 100%;
    color: var(--primary-color);
}

/* `.section-basic` — blocchi contenuto dopo hero (/stage); desktop ~128px ⇒ 8rem */
body.body-stage .section-basic {
    box-sizing: border-box;
    width: 100%;
    padding-block: var(--stage-space-section-y);
}

body.body-stage .section-basic:has(.section-basic__lead-title) {
    background-color: var(--color-stage-bg);
}

body.body-stage .section-basic__inner {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
}

body.body-stage .section-basic__brand {
    margin: 0;
    display: inline-block;
}

body.body-stage .section-basic__brand-strong {
    font-weight: 700;
}

body.body-stage .section-basic__brand-light {
    font-weight: 400;
    margin-left: 0.35rem;
}

body.body-stage :is(
    .section-basic__brand-word,
    .section-templates__intro,
    .section-why-stage__intro,
    .section-faq-stage__intro,
    .stage-blog-page__hero-meta,
    .stage-templates-page__hero-meta,
    .stage-template-detail__breadcrumb
) {
    margin: 0;
    font-size: var(--stage-fs-caption);
    font-weight: 100;
    letter-spacing: 0.01em;
    color: #000;
    text-transform: uppercase;
    text-decoration: none;
}

body.body-stage :is(
    .stage-blog-page__hero-meta,
    .stage-templates-page__hero-meta,
    .stage-template-detail__breadcrumb
) :is(a, span) {
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    line-height: inherit;
    color: #000;
}

body.body-stage :is(
    .stage-blog-page__hero-meta,
    .stage-templates-page__hero-meta,
    .stage-template-detail__breadcrumb
) a:is(:link, :visited, :hover, :active, :focus-visible) {
    color: #000;
    text-decoration: none;
}

/* Intro -> Titolo: spacing coerente in tutte le sezioni stage */
body.body-stage :is(
    .section-basic__brand,
    .section-templates__intro,
    .section-why-stage__intro,
    .section-faq-stage__intro,
    .stage-realization-row__badge,
    .stage-blog-page__hero-meta,
    .stage-templates-page__hero-meta,
    .stage-template-detail__breadcrumb
) + :is(
    .section-basic__headline,
    .section-templates__title,
    .section-why-stage__title,
    .section-faq-stage__title,
    .stage-templates-page__title,
    .stage-about-story__title,
    .stage-about-services__title,
    .stage-about-experience__title,
    .stage-about-portfolio__title,
    .stage-about-testimonials__title,
    .stage-design-success__title,
    .stage-realization-row__title,
    .stage-realization-hero__title,
    .section-personalize__title,
    .section-steps-stage__title,
    .stage-realization-steps__title,
    .stage-blog-article__title,
    .stage-portfolio-project__title
) {
    margin-top: var(--stage-space-text);
}

/* Righe numerate showcase: numero -> badge */
body.body-stage .stage-design-numbered-row .section-basic__brand + .stage-realization-row__badge {
    margin-top: var(--stage-space-text);
}

body.body-stage .section-basic__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stage-space-layout);
    align-items: end;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-basic__grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
        column-gap: var(--stage-space-layout);
    }
}

body.body-stage .section-basic__main {
    min-width: 0;
    text-align: center;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-basic__main {
        text-align: left;
    }
}

body.body-stage .section-basic__aside {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-text);
    align-items: flex-start;
    text-align: left;
    width: 100%;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-basic__aside {
        padding-top: 0.35rem;
    }
}

body.body-stage .section-basic__headline {
    margin: 0;
    margin-top: var(--stage-space-text);
    font-size: var(--stage-fs-h2);
    line-height: 1.14;
    font-weight: 400;
    letter-spacing: -0.026em;
    max-width: 22ch;
    color: #000;
    -webkit-text-fill-color: currentColor;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-basic__headline {
        margin-right: clamp(0.5rem, 2vw, 1.75rem);
    }
}

@media (max-width: 56.25rem) {
    body.body-stage .section-basic__headline {
        margin-inline: auto;
        max-width: min(42rem, 100%);
        line-height: 1.14;
        font-size: var(--stage-fs-h2);
    }
}

body.body-stage .section-basic__lede {
    margin: 0;
    max-width: 48ch;
}

body.body-stage .section-basic__actions {
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

body.body-stage .section-basic__figure {
    margin: var(--stage-space-layout) auto 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: none;
    background: transparent;
}

body.body-stage .section-hero-preview picture {
    display: block;
    width: 100%;
}

body.body-stage .section-basic__img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: top;
    /* max-height: min(78vh, 42rem); */
    object-fit: cover;
    object-position: center top;
}

body.body-stage .section-basic__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: clamp(1rem, 3vw, 2rem);
}

body.body-stage .section-basic__copy {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
}

body.body-stage .section-basic__lead-intro {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 16px;
}

body.body-stage .section-basic__lead-intro-avatar {
    width: clamp(2.25rem, 4.5vw, 2.75rem);
    height: clamp(2.25rem, 4.5vw, 2.75rem);
    border-radius: 999px;
    overflow: hidden;
    display: inline-flex;
    border: 1px solid var(--color-border-soft);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}

body.body-stage .section-basic__lead-intro-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.body-stage .section-basic__lead-intro-text {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    font-weight: 500;
    line-height: 1.35;
    color: #0f172a;
}

body.body-stage .section-basic--lead-quote .section-basic__lead-stack {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    isolation: isolate;
}

body.body-stage .section-basic__lead-stack-copy {
    position: relative;
    z-index: 1;
}

body.body-stage .section-basic__lead-lines {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    pointer-events: none;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 0;
}

body.body-stage .section-basic__lead-lines-svg {
    display: block;
    width: 100vw;
    height: clamp(150px, 32vw, 220px);
    opacity: 1;
    transform: none;
    transition: none;
}

body.body-stage [data-stage-lead-line].section-basic__lead-highlight--visible .section-basic__lead-lines-svg {
    opacity: 1;
    transform: none;
}

body.body-stage .section-basic__lead-line-path {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    opacity: 0.78;
}

body.body-stage .section-basic__lead-highlight {
    position: relative;
    display: block;
    box-sizing: border-box;
    max-width: 100%;
    margin-inline: auto;
    padding-top: 0;
    padding-bottom: clamp(2rem, 5.5vw, 3rem);
    padding-inline: clamp(0.25rem, 2vw, 1rem);
}

@keyframes personalize-acc-icon-enter {
    from {
        opacity: 0;
        transform: scale(0.78);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

body.body-stage .section-basic__lead-title {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    max-width: 100%;
    font-size: var(--stage-fs-h2);
    font-weight: 400;
    letter-spacing: var(--stage-ls-heading);
    line-height: 1.13;
    overflow-wrap: break-word;
    text-wrap: balance;
    transform: translateZ(0);
    color: #0f172a;
}

@keyframes stage-lead-text-flow {
    from {
        color: #2563eb;
    }

    22% {
        color: #0ea5e9;
    }

    44% {
        color: #6366f1;
    }

    66% {
        color: #1e3a8a;
    }

    84% {
        color: #0f172a;
    }

    to {
        color: #2563eb;
    }
}

body.body-stage .section-basic__lead-title .section-basic__lead-word {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.82em);
    filter: blur(1.2px);
    transition:
        opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 620ms cubic-bezier(0.16, 1, 0.3, 1),
        filter 520ms ease;
    transition-delay: calc(var(--stage-lead-word-index, 0) * 26ms);
    color: inherit;
    background: none;
    -webkit-text-fill-color: currentColor;
    animation: none;
    will-change: opacity, transform, filter;
}

body.body-stage .section-basic__lead-title.section-basic__lead-title--revealed .section-basic__lead-word {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

body.body-stage .section-basic__lead-title {
    color: #0f172a;
    animation: stage-lead-text-flow 12s linear infinite;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-basic__lead-title {
        line-height: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.body-stage .section-basic__lead-lines-svg {
        opacity: 1;
        transform: none;
        transition: none;
    }

    body.body-stage .section-basic__lead-line-path {
        stroke-dashoffset: 0;
        animation: none !important;
    }

    body.body-stage .section-basic__lead-title .section-basic__lead-word {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
        animation: none;
        background: none;
        color: #0f172a;
        -webkit-text-fill-color: #0f172a;
    }

    body.body-stage .section-basic__lead-title {
        color: #0f172a;
        animation: none;
        background-image: none;
        -webkit-text-fill-color: #0f172a;
    }
}

@keyframes personalize-acc-panel-in {
    from {
        opacity: 0;
        transform: translateY(0.35rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes personalize-figure-nudge {
    0% {
        transform: scale(0.988);
        filter: brightness(0.96);
    }
    100% {
        transform: scale(1);
        filter: brightness(1);
    }
}

/* Sezione personalize / split copy + preview — /stage */
body.body-stage .section-personalize {
    box-sizing: border-box;
    width: 100%;
    background-color: transparent;
    padding-block: var(--stage-space-section-y);
}

body.body-stage .section-personalize__inner {
    width: 100%;
}

body.body-stage .section-personalize__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stage-space-layout);
    align-items: stretch;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-personalize__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: var(--stage-space-layout);
    }

    body.body-stage .section-personalize__figure {
        height: 100%;
        min-height: 100%;
        aspect-ratio: auto;
    }
}

body.body-stage .section-personalize__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(1.75rem, 4vw, 2.5rem);
    min-width: 0;
}

body.body-stage .section-personalize-mobile-list {
    display: none;
}

body.body-stage .section-personalize__title {
    margin-inline: 0;
    margin-bottom: 0;
    font-size: var(--stage-fs-h2);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: var(--stage-ls-heading);
    color: #000;
    max-width: 18ch;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-personalize__title {
        max-width: 22ch;
    }
}

body.body-stage .section-personalize__acc {
    width: 100%;
    max-width: 36rem;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

body.body-stage .section-personalize__acc-item {
    margin: 0;
    border-radius: var(--radius-sm);
}

body.body-stage .section-personalize__acc-trigger {
    margin: 0;
    padding: 0.65rem 0.25rem;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    border: none;
    background: transparent;
    font: inherit;
    text-align: left;
    color: #000;
    cursor: pointer;
    border-radius: var(--radius-sm);
}

body.body-stage .section-personalize__acc-trigger:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

body.body-stage .section-personalize__acc-icon {
    box-sizing: border-box;
    display: none;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    align-items: center;
    justify-content: center;
}

body.body-stage
    .section-personalize__acc-trigger[aria-expanded="true"]
    .section-personalize__acc-icon {
    display: inline-flex;
}

@media (prefers-reduced-motion: no-preference) {
    body.body-stage
        .section-personalize__acc-trigger[aria-expanded="true"]
        .section-personalize__acc-icon {
        animation: personalize-acc-icon-enter 0.32s cubic-bezier(0.34, 1.35, 0.64, 1) forwards;
    }

    body.body-stage
        .section-personalize__acc-trigger[aria-expanded="true"]
        .section-personalize__acc-label {
        transform: translateX(3px);
    }
}

body.body-stage .section-personalize__acc-svg {
    display: block;
    width: 16px;
    height: 16px;
    fill: #000;
}

body.body-stage .section-personalize__acc-label {
    font-size: var(--stage-fs-p);
    font-weight: 500;
    line-height: 1.35;
    transition: transform 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body.body-stage .section-personalize__acc-panel {
    padding: 0 0.25rem 0.75rem clamp(1.125rem, 3.5vw, 1.5rem);
    margin-top: -0.2rem;
}

body.body-stage .section-personalize__acc-text {
    margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
    body.body-stage
        .section-personalize__acc-item--content-enter
        .section-personalize__acc-text {
        animation: personalize-acc-panel-in 0.38s cubic-bezier(0.25, 0.46, 0.45, 0.94)
            forwards;
    }
}

body.body-stage .section-personalize__actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

body.body-stage .section-personalize__figure {
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative;
    aspect-ratio: 16 / 10;
    min-height: 12.5rem;
    border-radius: clamp(10px, 1.25vw, 14px);
    overflow: hidden;
    box-shadow: 0 24px 52px rgba(0, 0, 0, 0.1);
}

body.body-stage .section-personalize__stack-img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    z-index: 1;
    transition: opacity 0.45s ease;
    pointer-events: none;
}

body.body-stage .section-personalize__stack-img--active {
    opacity: 1;
    z-index: 2;
}

@media (max-width: 56.25rem) {
    body.body-stage .section-personalize-mobile-list {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 64px;
    }

    body.body-stage .section-personalize-mobile-item {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    body.body-stage .section-personalize-mobile-item__title {
        margin: 0;
        margin-bottom: 16px;
        font-size: var(--stage-fs-h4);
        line-height: 1.2;
    }

    body.body-stage .section-personalize-mobile-item__text {
        margin: 0;
        margin-bottom: 32px;
        font-size: var(--stage-fs-p);
        color: #000;
    }

    body.body-stage .section-personalize-mobile-item__img {
        display: block;
        width: 100%;
        height: auto;
        border-radius: clamp(10px, 1.25vw, 14px);
        box-shadow: 0 24px 52px rgba(0, 0, 0, 0.1);
    }

    body.body-stage .section-personalize__acc,
    body.body-stage .section-personalize__figure {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.body-stage .section-personalize__stack-img {
        transition: none;
    }
}

@media (prefers-reduced-motion: no-preference) {
    body.body-stage .section-personalize__figure--swap {
        animation: personalize-figure-nudge 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94)
            forwards;
        transform-origin: center center;
    }
}

/* Section templates slider (between third and fourth section) */
body.body-stage .section-templates {
    width: 100%;
    box-sizing: border-box;
}

body.body-stage .section-templates__inner {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
}

body.body-stage .section-templates__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stage-space-layout);
    align-items: end;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-templates__top {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    }
}

body.body-stage .section-templates__intro {
    margin: 0;
}

body.body-stage .section-templates__title {
    margin: 0;
    max-width: 22ch;
    font-size: var(--stage-fs-h2);
    line-height: 1.06;
    font-weight: 400;
    letter-spacing: -0.03em;
}

body.body-stage .section-templates__aside {
    align-items: flex-start;
    max-width: 48ch;
}

body.body-stage .section-templates__text {
    margin: 0;
}

body.body-stage .section-templates__slider {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    box-sizing: border-box;
    padding-inline: clamp(1rem, 2.5vw, 2.25rem);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    padding-bottom: 0.2rem;
    scrollbar-width: none;
}

body.body-stage .section-templates__track {
    --stage-templates-slider-gap: clamp(0.9rem, 1.8vw, 1.2rem);
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(14.5rem, 62vw, 19rem);
    gap: var(--stage-templates-slider-gap);
    scroll-snap-type: x proximity;
}

@media (min-width: 48rem) {
    body.body-stage .section-templates__track {
        --stage-templates-slider-gap: clamp(0.95rem, 1.5vw, 1.3rem);
        grid-auto-columns: calc((100% - (var(--stage-templates-slider-gap) * 2)) / 3);
        gap: var(--stage-templates-slider-gap);
    }
}

body.body-stage .section-templates__card {
    min-width: 0;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

body.body-stage .section-templates__card-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
    border-radius: var(--radius-sm);
}

@media (min-width: 80rem) {
    body.body-stage .section-templates__card-img {
        height: 342px;
        aspect-ratio: auto;
    }
}

body.body-stage .section-templates__card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: var(--stage-fs-a-small);
    line-height: 1.3;
    color: #000;
    text-decoration: none;
}

body.body-stage .section-templates__card-link-label {
    display: inline-block;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% 1px;
    transition: background-size 220ms ease;
}

body.body-stage .section-templates__card-link::after {
    content: "->";
    display: inline-block;
    transition: transform 220ms ease;
}

body.body-stage .section-templates__slider::-webkit-scrollbar {
    display: none;
}

body.body-stage .section-templates__nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
}

body.body-stage .section-templates__arrow {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.22);
    background-color: #fff;
    color: #000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body.body-stage .section-templates__arrow:hover {
    background-color: #f2f2f2;
    border-color: rgba(0, 0, 0, 0.35);
    transform: translateY(-1px);
}

body.body-stage .section-templates__arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    transform: none;
}

body.body-stage .section-templates__arrow-icon {
    width: 0.95rem;
    height: 0.95rem;
    display: block;
    fill: currentColor;
}

body.body-stage .section-templates__card-link:hover,
body.body-stage .section-templates__card-link:focus-visible {
    outline: none;
}

body.body-stage .section-templates__card-link:hover .section-templates__card-link-label,
body.body-stage .section-templates__card-link:focus-visible .section-templates__card-link-label {
    background-size: 0% 1px;
}

body.body-stage .section-templates__card-link:hover::after,
body.body-stage .section-templates__card-link:focus-visible::after {
    transform: translateX(4px);
}

/* Sezione slider tre pilastri — /stage (immagine + tab righello) */
body.body-stage .section-features-slide {
    box-sizing: border-box;
    width: 100%;
}

body.body-stage .section-features-slide:not(.stage-section) {
    padding-block: var(--stage-space-section-y);
}

body.body-stage .section-features-slide__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

body.body-stage .section-features-slide__frame {
    box-sizing: border-box;
    width: 100%;
    padding: clamp(0.65rem, 2vw, 1.125rem)
        clamp(0.85rem, 2.75vw, 1.85rem)
        clamp(0.95rem, 2.75vw, 1.95rem)
        clamp(0.85rem, 2.75vw, 1.85rem);
    border-radius: clamp(14px, 2.2vw, 22px);
    background: linear-gradient(
        118deg,
        #d9ecfb 0%,
        #e6e9fc 41%,
        #f4eafd 72%,
        #fceef8 100%
    );
}

body.body-stage .section-features-slide__figure {
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: clamp(11rem, 38vw, 18rem);
    border-radius: clamp(10px, 1.5vw, 14px);
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
}

body.body-stage .section-features-slide__img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    z-index: 1;
    transition: opacity 0.42s ease;
    pointer-events: none;
}

body.body-stage .section-features-slide__img--active {
    opacity: 1;
    z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
    body.body-stage .section-features-slide__img {
        transition: none;
    }
}

body.body-stage .section-features-slide__tabs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 3rem);
    margin-top: clamp(2rem, 4vw, 3rem);
}

@media (min-width: 48rem) {
    body.body-stage .section-features-slide__tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: clamp(1.5rem, 3.8vw, 2.85rem);
    }

    body.body-stage .section-features-slide--four-cols .section-features-slide__tabs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        column-gap: clamp(1.25rem, 3vw, 2.25rem);
    }
}

body.body-stage .section-features-slide__tab {
    margin: 0;
    padding: 0.2rem 0;
    width: 100%;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    color: inherit;
    font: inherit;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

@keyframes features-slide-rule-fill {
    from {
        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}

body.body-stage .section-features-slide__rule {
    align-self: stretch;
    flex: 0 0 auto;
    height: 1px;
    margin-bottom: 0.95rem;
    position: relative;
    overflow: hidden;
    border-radius: 999px;
    background-color: transparent;
}

body.body-stage .section-features-slide__tab[aria-selected="true"] .section-features-slide__rule {
    background-color: rgba(0, 0, 0, 0.08);
}

body.body-stage .section-features-slide__rule-fill {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    background-color: #000;
    transform: scaleX(0);
    transform-origin: 0 50%;
}

body.body-stage
    .section-features-slide__rule-fill.section-features-slide__rule-fill--play {
    animation: features-slide-rule-fill var(--feat-slide-autoplay-duration, 6500ms) linear forwards;
}

@media (prefers-reduced-motion: reduce) {
    body.body-stage
        .section-features-slide__rule-fill.section-features-slide__rule-fill--play {
        animation: none;
        transform: scaleX(0);
    }
}

body.body-stage .section-features-slide__tab-body {
    display: flex;
    flex-direction: column;
    gap: 0.62rem;
    transition: opacity 0.25s ease;
}

body.body-stage .section-features-slide__heading {
    margin: 0;
    font-size: var(--stage-fs-h4);
    letter-spacing: var(--stage-ls-heading);
    line-height: 1.26;
    font-weight: 400;
    color: rgba(0, 0, 0, 0.41);
    transition: color 0.28s ease;
}

body.body-stage .section-features-slide__tab[aria-selected="true"] .section-features-slide__heading {
    font-weight: 400;
    color: #000;
}

body.body-stage .section-features-slide__text {
    margin: 0;
    color: rgba(0, 0, 0, 0.45);
    transition: color 0.28s ease;
}

body.body-stage .section-features-slide__tab[aria-selected="true"] .section-features-slide__text {
    color: #000;
}

body.body-stage .section-features-slide__tab:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 4px;
    border-radius: var(--radius-sm);
}

@media (max-width: 56.25rem) {
    body.body-stage [data-features-slide-root],
    body.body-stage .section-features-slide__frame,
    body.body-stage .section-features-slide__figure {
        touch-action: pan-y;
    }

    body.body-stage .section-features-slide__tabs {
        display: block;
        margin-top: 1rem;
    }

    body.body-stage .section-features-slide__tab {
        display: none;
        padding: 0;
        cursor: default;
    }

    body.body-stage .section-features-slide__tab[aria-selected="true"] {
        display: flex;
    }

    body.body-stage .section-features-slide__rule {
        margin-bottom: 0.8rem;
        background-color: rgba(0, 0, 0, 0.08);
    }
}

/* Blog /stage — 3 card pulite: immagine + titolo */
body.body-stage .section-blog-stage {
    box-sizing: border-box;
    width: 100%;
    padding-block: var(--stage-space-section-y);
}

body.body-stage .section-blog-stage__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(1.5rem, 3vw, 2.25rem);
}

body.body-stage .section-blog-stage__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: end;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-blog-stage__top {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
        gap: 1.25rem;
    }
}

body.body-stage .section-blog-stage__title {
    margin: 0;
    max-width: 18ch;
    font-size: var(--stage-fs-h2);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: var(--stage-ls-heading);
    color: #000;
}

body.body-stage .section-blog-stage__top-side {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

body.body-stage .section-blog-stage__desc {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    color: #000;
    line-height: 1.45;
}

body.body-stage .section-blog-stage__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    justify-self: start;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-blog-stage__top-side {
        align-items: flex-start;
    }

    body.body-stage .section-blog-stage__desc {
        text-align: left;
    }

    body.body-stage .section-blog-stage__cta {
        justify-self: end;
    }
}

body.body-stage .section-blog-stage__cta,
body.body-stage .section-blog-stage__cta:hover {
    color: #000;
    text-decoration: none;
}

body.body-stage .section-blog-stage__slider {
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

body.body-stage .section-blog-stage__slider::-webkit-scrollbar {
    display: none;
}

body.body-stage .section-blog-stage__track {
    --stage-blog-slider-gap: clamp(1rem, 2.5vw, 1.5rem);
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(18rem, 1fr);
    gap: var(--stage-blog-slider-gap);
}

@media (min-width: 48rem) {
    body.body-stage .section-blog-stage__track {
        --stage-blog-slider-gap: clamp(0.9rem, 2vw, 1.5rem);
        grid-auto-columns: calc((100% - (var(--stage-blog-slider-gap) * 2)) / 3);
        column-gap: var(--stage-blog-slider-gap);
    }
}

body.body-stage .section-blog-stage__card {
    min-width: 0;
    scroll-snap-align: start;
    border-radius: clamp(10px, 1.25vw, 14px);
    overflow: hidden;
    background-color: #fff;
    border: 1px solid var(--color-border-soft);
    box-shadow: 0 10px 28px rgba(2, 6, 23, 0.06);
}

body.body-stage .section-blog-stage__media-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

body.body-stage .section-blog-stage__media {
    position: relative;
    aspect-ratio: 16 / 10;
    width: 100%;
    overflow: hidden;
}

body.body-stage .section-blog-stage__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

body.body-stage .section-blog-stage__card-title {
    margin: 0;
    margin-top: 8px;
    font-size: var(--stage-fs-h4);
    font-weight: 400;
    line-height: 1.2;
    color: #000;
}

body.body-stage .section-blog-stage__card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 1rem 1rem 1.15rem;
}

body.body-stage .section-blog-stage__card-title-link {
    font-size: inherit;
    line-height: inherit;
    color: #000;
    text-decoration: none;
}

body.body-stage .section-blog-stage__card-title-link:hover {
    color: var(--primary-color);
}

body.body-stage .section-blog-stage__card-desc {
    margin: 0;
    margin-top: 16px;
    font-size: var(--stage-fs-p-small);
    line-height: 1.35;
    color: rgba(0, 0, 0, 0.62);
}

body.body-stage .section-blog-stage__date {
    margin: 0;
    display: block;
    font-size: var(--stage-fs-p-data);
    line-height: 1.35;
    color: #000;
}

body.body-stage .section-blog-stage__meta-row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}

body.body-stage .section-blog-stage__category {
    font-size: var(--stage-fs-p-data);
    line-height: 1.35;
    color: #000;
    text-decoration: none;
    white-space: nowrap;
}

body.body-stage .section-blog-stage__category:hover {
    text-decoration: underline;
}

body.body-stage .section-blog-stage__card-cta {
    margin-top: 32px;
    width: fit-content;
}

body.body-stage .section-blog-stage__nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
}

body.body-stage .section-blog-stage__arrow {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.22);
    background-color: #fff;
    color: #000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body.body-stage .section-blog-stage__arrow:hover {
    background-color: #f2f2f2;
    border-color: rgba(0, 0, 0, 0.35);
    transform: translateY(-1px);
}

body.body-stage .section-blog-stage__arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    transform: none;
}

body.body-stage .section-blog-stage__arrow-icon {
    width: 0.95rem;
    height: 0.95rem;
    display: block;
    fill: currentColor;
}

body.body-stage .section-blog-stage__empty {
    margin: 0;
}

body.body-stage .stage-blog-article {
    padding-block: clamp(2.8rem, 6vw, 4.4rem);
    padding-top: calc(clamp(2.8rem, 6vw, 4.4rem) + var(--stage-navbar-height, 4.25rem) + var(--stage-blog-subnav-height, 3rem));
}

body.body-stage .stage-blog-article-share {
    position: fixed;
    left: clamp(0.8rem, 2vw, 1.5rem);
    top: 50%;
    transform: translateY(-50%);
    z-index: 900;
    display: flex;
    flex-direction: column;
    gap: clamp(1.4rem, 2.4vw, 2rem);
}

body.body-stage .stage-blog-article-share__btn {
    width: 1.8rem;
    height: 1.8rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #000;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-decoration: none;
}

body.body-stage .stage-blog-article-share__btn svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

body.body-stage .stage-blog-article-share__btn:hover {
    color: var(--color-primary-500);
}

body.body-stage .stage-blog-article-share__btn:focus-visible {
    outline: 2px solid rgba(0, 0, 0, 0.45);
    outline-offset: 3px;
    border-radius: 0.25rem;
}

body.body-stage .stage-blog-article__inner {
    max-width: 50rem;
}

body.body-stage .stage-blog-article__main {
    display: flex;
    flex-direction: column;
    gap: clamp(1.4rem, 2.6vw, 2rem);
}

body.body-stage .stage-blog-article__header {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

body.body-stage .stage-blog-article__title {
    margin: 0;
    font-size: var(--stage-fs-h1);
    line-height: 1.08;
    max-width: 18ch;
}

body.body-stage .stage-blog-article__meta {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    color: #000;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

body.body-stage .stage-blog-article__start-links {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    font-size: var(--stage-fs-p);
}

body.body-stage .stage-blog-article__start-links a {
    color: #111;
    text-decoration: none;
    font-weight: 600;
}

body.body-stage .stage-blog-article__start-links a:hover {
    color: var(--color-primary-500);
}

body.body-stage .stage-blog-article__media {
    position: relative;
}

body.body-stage .stage-blog-article__cover {
    margin: 0;
    border-radius: var(--border-3);
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

body.body-stage .stage-blog-article__cover img {
    display: block;
    width: 100%;
    height: auto;
}

body.body-stage .stage-blog-article__zoom {
    position: absolute;
    right: 0.75rem;
    top: 0.75rem;
    text-decoration: none;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

body.body-stage .stage-blog-article__zoom-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 4px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

body.body-stage .stage-blog-article__zoom svg {
    width: 100%;
    height: 100%;
    fill: #000;
}

body.body-stage .stage-blog-image-modal[hidden] {
    display: none;
}

body.body-stage.is-stage-modal-open {
    overflow: hidden;
}

html.is-stage-modal-open {
    overflow: hidden;
}

body.body-stage .stage-blog-image-modal {
    position: fixed;
    inset: 0;
    z-index: 1300;
    background: #ececec;
    padding: clamp(0.9rem, 2vw, 1.4rem);
    display: flex;
    align-items: center;
    justify-content: center;
}

body.body-stage .stage-blog-image-modal__close {
    position: absolute;
    top: clamp(0.8rem, 1.8vw, 1.2rem);
    right: clamp(0.8rem, 1.8vw, 1.2rem);
    width: 2rem;
    height: 2rem;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.8);
}

body.body-stage .stage-blog-image-modal__close svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

body.body-stage .stage-blog-image-modal__inner {
    width: min(100%, 90rem);
    height: min(100%, 90vh);
    display: flex;
    align-items: center;
    justify-content: center;
}

body.body-stage .stage-blog-image-modal__inner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

body.body-stage .stage-blog-builder-popup[hidden] {
    display: none;
}

body.body-stage .stage-blog-builder-popup {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 1.5rem);
}

body.body-stage .stage-blog-builder-popup__backdrop {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.52);
    cursor: pointer;
    opacity: 0;
    transition: opacity 260ms ease;
}

body.body-stage .stage-blog-builder-popup__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 44rem);
    max-height: min(92vh, 44rem);
    overflow: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.22);
    opacity: 0;
    transform: translateY(10px) scale(0.985);
    transition:
        opacity 320ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.body-stage .stage-blog-builder-popup.is-visible .stage-blog-builder-popup__backdrop {
    opacity: 1;
}

body.body-stage .stage-blog-builder-popup.is-visible .stage-blog-builder-popup__dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
    body.body-stage .stage-blog-builder-popup__backdrop,
    body.body-stage .stage-blog-builder-popup__dialog {
        transition: none;
    }

    body.body-stage .stage-blog-builder-popup:not([hidden]) .stage-blog-builder-popup__backdrop,
    body.body-stage .stage-blog-builder-popup:not([hidden]) .stage-blog-builder-popup__dialog {
        opacity: 1;
        transform: none;
    }
}

@media (min-width: 48rem) {
    body.body-stage .stage-blog-builder-popup__dialog {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        width: min(100%, 54rem);
        max-height: min(88vh, 30rem);
        overflow: hidden;
    }
}

body.body-stage .stage-blog-builder-popup__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    width: auto;
    height: auto;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #111;
    cursor: pointer;
    box-shadow: none;
}

body.body-stage .stage-blog-builder-popup__close svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
    display: block;
}

body.body-stage .stage-blog-builder-popup__close:hover {
    color: rgba(0, 0, 0, 0.65);
}

body.body-stage .stage-blog-builder-popup__close:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 3px;
}

body.body-stage .stage-blog-builder-popup__media {
    margin: 0;
    min-height: 12rem;
    background: #f3f4f6;
}

body.body-stage .stage-blog-builder-popup__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 12rem;
    object-fit: cover;
    object-position: center top;
}

@media (min-width: 48rem) {
    body.body-stage .stage-blog-builder-popup__media,
    body.body-stage .stage-blog-builder-popup__media img {
        min-height: 100%;
    }
}

body.body-stage .stage-blog-builder-popup__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    min-height: 100%;
    padding: clamp(1.75rem, 3.4vw, 2.35rem) clamp(1.5rem, 2.8vw, 2rem);
    padding-top: clamp(2rem, 3.6vw, 2.6rem);
    padding-right: clamp(3rem, 5vw, 3.25rem);
    padding-bottom: clamp(1.1rem, 2vw, 1.35rem);
}

body.body-stage .stage-blog-builder-popup__main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
}

body.body-stage .stage-blog-builder-popup__brand {
    margin: 0 0 0.7rem;
}

body.body-stage .stage-blog-builder-popup__title {
    margin: 0 0 0.9rem;
    font-size: clamp(1.55rem, 2.4vw, var(--stage-fs-h2));
    line-height: 1.18;
    letter-spacing: -0.03em;
    color: #111;
    max-width: 16ch;
}

body.body-stage .stage-blog-builder-popup__text {
    margin: 0;
    max-width: 36ch;
    font-size: var(--stage-fs-p-large);
    line-height: 1.5;
    color: rgba(0, 0, 0, 0.68);
}

body.body-stage .stage-blog-builder-popup__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-top: clamp(1.35rem, 2.4vw, 1.75rem);
    width: 100%;
}

body.body-stage .stage-blog-builder-popup__later {
    margin: clamp(0.85rem, 1.6vw, 1rem) 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(0, 0, 0, 0.52);
    font-family: var(--stage-font-primary);
    font-size: var(--stage-fs-popup-dismiss);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.01em;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-color: rgba(0, 0, 0, 0.22);
    text-underline-offset: 0.16em;
    align-self: flex-start;
}

body.body-stage .stage-blog-builder-popup__later:hover {
    color: rgba(0, 0, 0, 0.72);
    text-decoration-color: rgba(0, 0, 0, 0.45);
}

body.body-stage .stage-blog-builder-popup__later:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 3px;
}

@media (max-width: 47.99rem) {
    body.body-stage .stage-blog-builder-popup__copy {
        text-align: left;
        align-items: flex-start;
        min-height: auto;
    }

    body.body-stage .stage-blog-builder-popup__main {
        flex: 0 1 auto;
    }
}

body.body-stage .stage-blog-article__cta-wrap {
    padding-top: 64px;
    padding-bottom: 64px;
    display: flex;
    justify-content: center;
}

body.body-stage .stage-blog-article__content {
    font-size: var(--stage-fs-p);
    color: #111;
    line-height: 1.75;
    max-width: 42rem;
}

body.body-stage .stage-blog-article__content p {
    margin: 0;
}

body.body-stage .stage-blog-article__content p + p {
    margin-top: 1.15rem;
}

body.body-stage .stage-blog-article__content h2,
body.body-stage .stage-blog-article__content h3 {
    margin: 0;
    font-size: var(--stage-fs-h3);
    line-height: 1.28;
    font-weight: 700;
    color: #0f0f10;
    scroll-margin-top: calc(var(--stage-navbar-height, 4.25rem) + var(--stage-blog-subnav-height, 3rem) + 1rem);
}

body.body-stage .stage-blog-article__content h2 {
    margin-top: clamp(2rem, 4vw, 2.75rem);
    margin-bottom: 0.65rem;
}

body.body-stage .stage-blog-article__content h3 {
    margin-top: clamp(1.5rem, 3vw, 2rem);
    margin-bottom: 0.5rem;
    font-size: clamp(1.05rem, 2vw, 1.2rem);
}

body.body-stage .stage-blog-article__content > h2:first-child,
body.body-stage .stage-blog-article__content > h3:first-child {
    margin-top: 0;
}

body.body-stage .stage-blog-article__content h2 + p,
body.body-stage .stage-blog-article__content h3 + p {
    margin-top: 0.55rem;
}

body.body-stage .stage-blog-article__content ul,
body.body-stage .stage-blog-article__content ol {
    margin: 0.85rem 0 0;
    padding-left: 1.4rem;
}

body.body-stage .stage-blog-article__content ul + p,
body.body-stage .stage-blog-article__content ol + p,
body.body-stage .stage-blog-article__content p + ul,
body.body-stage .stage-blog-article__content p + ol {
    margin-top: 1rem;
}

body.body-stage .stage-blog-article__content li {
    margin: 0;
    padding-left: 0.15rem;
}

body.body-stage .stage-blog-article__content li + li {
    margin-top: 0.45rem;
}

body.body-stage .stage-blog-article__content li p {
    margin: 0;
}

body.body-stage .stage-blog-article__content strong {
    font-weight: 650;
    color: #0a0a0a;
}

body.body-stage .stage-blog-article__content code {
    font-size: 0.92em;
    padding: 0.12em 0.35em;
    border-radius: 0.25rem;
    background: rgba(0, 0, 0, 0.06);
}

body.body-stage .stage-blog-article__content a {
    color: var(--color-primary-600, #5b21b6);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

body.body-stage .stage-blog-article__content a:hover {
    color: var(--color-primary-500, #7c3aed);
}

body.body-stage .stage-blog-article__content blockquote {
    margin: 1.25rem 0 0;
    padding: 0.85rem 1rem;
    border-left: 3px solid var(--color-primary-500, #7c3aed);
    background: rgba(0, 0, 0, 0.03);
    border-radius: 0 0.35rem 0.35rem 0;
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-blog-article-share {
        display: none;
    }

    body.body-stage .stage-blog-article {
        padding-top: calc(clamp(2.3rem, 5vw, 3.2rem) + var(--stage-navbar-height, 4.25rem) + var(--stage-blog-subnav-height, 2.75rem));
    }

    body.body-stage .stage-blog-article__title {
        font-size: var(--stage-fs-h2);
        max-width: none;
    }

    body.body-stage .stage-blog-article__meta {
        font-size: var(--stage-fs-p-data);
    }
}

/* Steps + Contact sections on stage homepage */
body.body-stage .section-steps-stage,
body.body-stage .section-contact-stage {
    box-sizing: border-box;
    width: 100%;
    padding-block: var(--stage-space-section-y);
}

body.body-stage .section-steps-stage__inner,
body.body-stage .section-contact-stage__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(1.5rem, 3.5vw, 2.5rem);
}

@media (min-width: 56.26rem) {
    body.body-stage .section-steps-stage__inner {
        flex-direction: row;
        align-items: flex-start;
    }
}

body.body-stage .section-steps-stage__copy {
    width: 100%;
    align-self: center;
    gap: var(--stage-space-text);
}

body.body-stage .section-steps-stage__title,
body.body-stage .section-contact-stage__title {
    margin-inline: 0;
    margin-bottom: 0;
    font-size: var(--stage-fs-h2);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: var(--stage-ls-heading);
    color: #000;
}

body.body-stage .section-steps-stage__lede,
body.body-stage .section-contact-stage__lede {
    margin-inline: 0;
    margin-bottom: 0;
    max-width: 52ch;
}

body.body-stage .section-steps-stage__copy.stage-copy-flow > .section-steps-stage__title + .section-steps-stage__lede {
    margin-top: var(--stage-space-text);
}

body.body-stage .section-personalize__copy.stage-copy-flow > .section-personalize__title + .section-personalize__acc {
    margin-top: var(--stage-space-text);
}

body.body-stage .section-steps-stage__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem;
}

body.body-stage .section-steps-stage__list {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    display: grid;
    gap: 0;
}

body.body-stage .section-steps-stage__item {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: start;
    column-gap: 0.9rem;
    row-gap: 0.35rem;
    padding-block: 1rem;
    border-top: 1px solid var(--color-border-soft);
}

body.body-stage .section-steps-stage__item:last-child {
    border-bottom: 1px solid var(--color-border-soft);
}

body.body-stage .section-steps-stage__num {
    margin: 0;
    width: 40px;
    font-size: var(--stage-fs-h4);
    font-weight: 500;
    color: rgba(0, 0, 0, 0.58);
    line-height: 1.1;
}

body.body-stage .section-steps-stage__item-copy {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

body.body-stage .section-steps-stage__item-title {
    margin: 0;
    font-size: var(--stage-fs-p);
    font-weight: 400;
    line-height: 1.35;
}

body.body-stage .section-steps-stage__item-text {
    margin: 0;
    font-size: var(--stage-fs-p);
    color: rgba(0, 0, 0, 0.9);
    max-width: 52ch;
}

body.body-stage .section-why-stage {
    width: 100%;
    box-sizing: border-box;
}

body.body-stage .section-why-stage__inner {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
}

body.body-stage .section-why-stage__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stage-space-layout);
    align-items: end;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-why-stage__top {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    }
}

body.body-stage .section-why-stage__intro {
    margin: 0;
}

body.body-stage .section-why-stage__title {
    margin: 0;
    /* max-width: 18ch; */
    font-size: var(--stage-fs-h2);
    line-height: 1.1;
}

body.body-stage .section-why-stage__aside {
    align-items: flex-start;
    max-width: 56ch;
}

body.body-stage .section-why-stage__text {
    margin: 0;
}

body.body-stage .section-why-stage__cards {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(0.85rem, 1.7vw, 1.15rem);
}

@media (min-width: 48rem) {
    body.body-stage .section-why-stage__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 80rem) {
    body.body-stage .section-why-stage__cards {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

body.body-stage .section-why-stage__card {
    height: 350px;
    min-height: 350px;
    border-radius: var(--radius-lg);
    padding: clamp(1rem, 2.2vw, 1.35rem);
}

body.body-stage .section-why-stage__card-body {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.75rem;
}

body.body-stage .section-why-stage__card-icon-badge {
    width: fit-content;
    display: block;
    padding: 8px;
    border-radius: 999px;
    background-color: #fff;
    line-height: 0;
}

body.body-stage .section-why-stage__card-icon {
    width: 18px;
    height: 18px;
    display: block;
    fill: #000;
}

body.body-stage .section-why-stage__card-copy {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

body.body-stage .section-why-stage__card-title {
    margin: 0;
    font-size: var(--stage-fs-h4);
    font-weight: 500;
    line-height: 1.2;
    height: 80px;
}

body.body-stage .section-why-stage__card-text {
    margin: 0;
    font-size: var(--stage-fs-p);
    line-height: 1.45;
}

body.body-stage .section-why-stage__card--lime {
    background-color: #e9efbf;
    color: #000;
}

body.body-stage .section-why-stage__card--violet {
    background-color: #d6d3e5;
    color: #000;
}

body.body-stage .section-why-stage__card--brown {
    background-color: #eee4d7;
    color: #000;
}

body.body-stage .section-why-stage__card--sand {
    background-color: #d8dccf;
    color: #000;
}

body.body-stage .section-faq-stage {
    width: 100%;
    box-sizing: border-box;
}

body.body-stage .section-faq-stage__inner {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
}

body.body-stage .section-faq-stage__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stage-space-layout);
    align-items: end;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-faq-stage__top {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    }
}

body.body-stage .section-faq-stage__intro {
    margin: 0;
}

body.body-stage .section-faq-stage__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.1;
}

body.body-stage .section-faq-stage__aside {
    align-items: flex-start;
}

body.body-stage .section-faq-stage__text {
    margin: 0;
}

body.body-stage .section-faq-stage__support-link {
    width: fit-content;
    border: 0;
    border-bottom: 0;
    text-decoration: none;
}

body.body-stage .section-faq-stage__list {
    border-top: 1px solid var(--color-border-soft);
}

body.body-stage .section-faq-stage__item {
    border-bottom: 1px solid var(--color-border-soft);
}

body.body-stage .section-faq-stage__trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 0;
    border: 0;
    background: transparent;
    color: #000;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

body.body-stage .section-faq-stage__trigger-label {
    font-size: var(--stage-fs-p-large);
    font-weight: 300;
    line-height: 1.2;
}

body.body-stage .section-faq-stage__trigger-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    transition: transform 180ms ease, opacity 180ms ease;
}

body.body-stage .section-faq-stage__trigger-icon-svg {
    width: 100%;
    height: 100%;
    display: block;
}

body.body-stage .section-faq-stage__trigger-icon-svg use {
    fill: currentColor;
}

body.body-stage .section-faq-stage__trigger-icon.is-animating {
    animation: stage-faq-icon-pop 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

@keyframes stage-faq-icon-pop {
    0% {
        opacity: 0.35;
        transform: scale(0.72) rotate(-45deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}

body.body-stage .section-faq-stage__panel {
    box-sizing: border-box;
    padding: 0 0 1rem;
}

body.body-stage .section-faq-stage__panel p {
    margin: 0;
    max-width: 78ch;
}

body.body-stage .section-contact-stage__inner {
    align-items: flex-start;
    padding: clamp(1.25rem, 2.6vw, 1.9rem);
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-sm);
    background: linear-gradient(
        118deg,
        #d9ecfb 0%,
        #e6e9fc 41%,
        #f4eafd 72%,
        #fceef8 100%
    );
}

body.body-stage .section-contact-stage__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

/* Pagina consulenza stage (/stage/consulenza) — layout tipo Webflow contact-sales */
body.body-stage .stage-consult-page {
    box-sizing: border-box;
    width: 100%;
    padding-top: calc(64px + var(--stage-navbar-height, 4.25rem));
    padding-bottom: var(--stage-space-section-y);
}

body.body-stage .stage-consult-page__shell {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
}

/* Riga 1: hero + form affiancati */
body.body-stage .stage-consult-page__top {
    display: grid;
    gap: var(--stage-space-layout);
    align-items: start;
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-consult-page__top {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
        column-gap: clamp(2.5rem, 5vw, 4.5rem);
    }
}

body.body-stage .stage-consult-page__hero {
    min-width: 0;
}

body.body-stage .stage-consult-page__hero.stage-copy-flow > .section-templates__intro + .stage-consult-page__title {
    margin-top: var(--stage-space-text);
}

body.body-stage .stage-consult-page__hero.stage-copy-flow > .stage-consult-page__title + .stage-consult-page__lede {
    margin-top: var(--stage-space-text);
}

body.body-stage .stage-consult-page__title {
    margin: 0;
    font-size: var(--stage-fs-h1);
    line-height: 1.06;
    letter-spacing: -0.035em;
    max-width: 14ch;
    font-weight: 400;
    color: #000;
}

body.body-stage .stage-consult-page__lede {
    margin: 0;
    max-width: 48ch;
    font-size: var(--stage-fs-p);
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.82);
}

body.body-stage .stage-consult-page__pills {
    margin: var(--stage-space-cta) 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

body.body-stage .stage-consult-page__pills li {
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    border: 1px solid var(--color-border-soft);
    background: #fff;
    font-size: var(--stage-fs-caption);
    line-height: 1.3;
    color: rgba(0, 0, 0, 0.72);
}

/* Riga 2: perché + cards */
body.body-stage .stage-consult-page__below {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
    padding-top: var(--stage-space-layout);
    border-top: 1px solid var(--color-border-soft);
}

body.body-stage .stage-consult-page__why-head {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-text);
    max-width: 52rem;
}

body.body-stage .stage-consult-page__why-head > * {
    margin: 0;
}

body.body-stage .stage-consult-page__content-title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.1;
    font-weight: 400;
    letter-spacing: var(--stage-ls-heading);
    color: #000;
}

body.body-stage .stage-consult-page__content-lede {
    margin: 0;
    max-width: 56ch;
    font-size: var(--stage-fs-p);
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.78);
}

body.body-stage .stage-consult-benefits {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 36rem) {
    body.body-stage .stage-consult-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-consult-benefits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

body.body-stage .stage-consult-benefits__card {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 100%;
    padding: clamp(1.15rem, 2vw, 1.35rem);
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border-soft);
    background: #fff;
}

body.body-stage .stage-consult-benefits__icon {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 48px;
    padding: 10px;
    border-radius: 999px;
    border: 1px solid var(--color-primary-500);
    color: var(--color-primary-500);
    background-color: #fff;
    line-height: 0;
    flex-shrink: 0;
}

body.body-stage .stage-consult-benefits__icon svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

body.body-stage .stage-consult-benefits__title {
    margin: 0 0 0.75rem;
    font-size: var(--stage-fs-h4);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: var(--stage-ls-heading);
    color: #111;
}

body.body-stage .stage-consult-benefits__text {
    margin: 0;
    flex: 1 1 auto;
    font-size: var(--stage-fs-p-small);
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.72);
}

body.body-stage .stage-consult-page__footer-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--stage-space-text) var(--stage-space-layout);
}

body.body-stage .stage-consult-page__channels-title {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    font-weight: 500;
    color: #111;
}

body.body-stage .stage-consult-page__channels {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

body.body-stage .stage-consult-page__channels-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1.25rem;
}

body.body-stage .stage-consult-page__alt-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem 1.1rem;
}

/* Pannello form: gradient conservato (section-contact-stage__inner) */
body.body-stage .stage-consult-page__form-panel.section-contact-stage__inner {
    position: sticky;
    top: calc(var(--stage-navbar-height, 4.25rem) + 1.25rem);
    gap: var(--stage-space-text);
    width: 100%;
    min-width: 0;
    align-items: stretch;
    padding: clamp(1.35rem, 2.8vw, 2rem);
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
}

body.body-stage .stage-consult-page__form-head {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-text);
}

body.body-stage .stage-consult-page__form-head > * {
    margin: 0;
}

body.body-stage .stage-consult-page__form-title {
    font-size: var(--stage-fs-h3);
    line-height: 1.2;
    letter-spacing: -0.02em;
    max-width: none;
    font-weight: 500;
    color: #111;
}

body.body-stage .stage-consult-page__form-lede {
    font-size: var(--stage-fs-p-small);
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.68);
    max-width: 38ch;
}

body.body-stage .stage-consult-form {
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 0.25rem;
}

body.body-stage .stage-consult-form__row {
    display: grid;
    gap: 1.125rem;
    width: 100%;
}

@media (min-width: 30rem) {
    body.body-stage .stage-consult-form__row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

body.body-stage .stage-consult-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}

body.body-stage .stage-consult-form__label {
    font-size: var(--stage-fs-p-small);
    font-weight: 500;
    line-height: 1.3;
    color: #111;
}

body.body-stage .stage-consult-form__label-hint {
    font-weight: 400;
    color: rgba(0, 0, 0, 0.5);
}

body.body-stage .stage-consult-form__input,
body.body-stage .stage-consult-form__textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 2.75rem;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.92);
    color: #111;
    padding: 0.7rem 0.9rem;
    font: inherit;
    font-size: var(--stage-fs-p);
    line-height: 1.35;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}

body.body-stage .stage-consult-form__textarea {
    min-height: 6.75rem;
    resize: vertical;
    padding-block: 0.75rem;
}

body.body-stage .stage-consult-form__input::placeholder,
body.body-stage .stage-consult-form__textarea::placeholder {
    color: rgba(0, 0, 0, 0.38);
}

body.body-stage .stage-consult-form__input:hover,
body.body-stage .stage-consult-form__textarea:hover {
    border-color: rgba(19, 110, 245, 0.28);
    background: #fff;
}

body.body-stage .stage-consult-form__input:focus,
body.body-stage .stage-consult-form__textarea:focus {
    outline: none;
    border-color: var(--color-primary-500);
    background: #fff;
    box-shadow:
        0 0 0 3px rgba(19, 110, 245, 0.18),
        0 1px 2px rgba(15, 23, 42, 0.06);
}

body.body-stage .stage-consult-form__input:focus-visible,
body.body-stage .stage-consult-form__textarea:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 1px;
}

body.body-stage .stage-consult-form__hp {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

body.body-stage .stage-consult-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    margin: 0;
    font-size: var(--stage-fs-p-small);
    line-height: 1.45;
    color: var(--color-secondary-300);
    cursor: pointer;
}

body.body-stage .stage-consult-form__consent input {
    margin-top: 0.2rem;
    flex-shrink: 0;
}

body.body-stage .stage-consult-form__consent a {
    color: var(--color-primary-400);
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.body-stage .stage-consult-form__actions.stage-copy-cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

body.body-stage .stage-consult-form__msg {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    line-height: 1.45;
    max-width: 36ch;
}

body.body-stage .stage-consult-form__msg.is-success {
    color: #15803d;
}

body.body-stage .stage-consult-form__msg.is-error {
    color: #b91c1c;
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-consult-page__title {
        max-width: none;
    }

    body.body-stage .stage-consult-page__form-panel.section-contact-stage__inner {
        position: static;
        box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
    }

    body.body-stage .stage-consult-page__below {
        padding-top: var(--stage-space-layout);
    }

    body.body-stage .stage-consult-page__footer-row {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Footer stage */
body.body-stage .section-footer-stage {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    margin-top: clamp(2.5rem, 6vw, 4.5rem);
}

/* Badge fisso a destra — solo logo */
body.body-stage .section-footer-stage__edge-credit {
    position: fixed;
    right: 0;
    left: auto;
    bottom: clamp(5.5rem, 16vh, 10rem);
    z-index: 1050;
    text-decoration: none;
    color: #000;
    pointer-events: auto;
}

body.body-stage .section-footer-stage__edge-credit-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 0.45rem;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-right: none;
    border-radius: 6px 0 0 6px;
    box-shadow: -4px 0 16px rgba(15, 23, 42, 0.08);
    transition:
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

body.body-stage .section-footer-stage__edge-credit:hover .section-footer-stage__edge-credit-inner,
body.body-stage .section-footer-stage__edge-credit:focus-visible .section-footer-stage__edge-credit-inner {
    background-color: #fafafa;
    box-shadow: -6px 0 20px rgba(15, 23, 42, 0.12);
}

body.body-stage .section-footer-stage__edge-credit:focus-visible {
    outline: none;
}

body.body-stage .section-footer-stage__edge-credit:focus-visible .section-footer-stage__edge-credit-inner {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}

body.body-stage .section-footer-stage__edge-credit-logo {
    width: 1.25rem;
    height: auto;
    display: block;
    fill: var(--color-primary-500);
    flex: 0 0 auto;
}

body.body-stage .section-footer-stage__cta {
    background-color: #18191d;
    animation: stage-footer-cta-bg-shift 12s linear infinite;
    color: #fff;
}

@keyframes stage-footer-cta-bg-shift {
    0% {
        background-color: #000;
    }
    33.33% {
        background-color: #18191d;
    }
    66.66% {
        background-color: #0b1730;
    }
    100% {
        background-color: #000;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.body-stage .section-footer-stage__cta {
        animation: none;
    }
}

body.body-stage .section-footer-stage__cta-inner {
    min-height: clamp(28rem, 68vw, 40rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 1rem;
}

body.body-stage .section-footer-stage__cta-title {
    margin: 0;
    color: #fff;
    text-align: center;
    font-size: var(--stage-fs-h1);
    line-height: 1.08;
    letter-spacing: -0.03em;
    max-width: 24ch;
}

body.body-stage .section-footer-stage__cta-button {
    margin-top: 0.25rem;
}

body.body-stage .section-footer-stage__main {
    background-color: #fff;
    border-top: 1px solid var(--color-border-soft);
}

body.body-stage .section-footer-stage__main-inner {
    padding-top: clamp(2rem, 4vw, 3rem);
    padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

body.body-stage .section-footer-stage__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 2.25rem) clamp(1rem, 2.5vw, 1.75rem);
}

@media (min-width: 56.26rem) {
    body.body-stage .section-footer-stage__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        align-items: start;
    }
}

body.body-stage .section-footer-stage__col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

body.body-stage .section-footer-stage__col-title {
    margin: 0;
    font-size: var(--stage-fs-a-small);
    font-weight: 500;
    line-height: 1.3;
    color: rgba(0, 0, 0, 0.92);
}

body.body-stage .section-footer-stage__links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    min-width: 0;
}

body.body-stage .section-footer-stage__links a {
    font-size: var(--stage-fs-caption);
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.78);
    text-decoration: none;
}

body.body-stage .section-footer-stage__links a:hover {
    color: rgba(0, 0, 0, 0.95);
    text-decoration: underline;
}

body.body-stage .section-footer-stage__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
}

@media (max-width: 56.25rem) {
    body.body-stage .section-footer-stage__brand {
        grid-column: 1 / -1;
    }
}

body.body-stage .section-footer-stage__brand-logo {
    display: inline-flex;
    align-items: center;
    color: rgba(0, 0, 0, 0.92);
    text-decoration: none;
}

body.body-stage .section-footer-stage__brand-logo svg {
    width: clamp(2.4rem, 4vw, 3rem);
    height: auto;
    display: block;
    fill: currentColor;
}

body.body-stage .section-footer-stage__brand-text {
    margin: 0;
    max-width: 28ch;
    font-size: var(--stage-fs-caption);
    line-height: 1.5;
    color: rgba(0, 0, 0, 0.62);
}

body.body-stage .section-footer-stage__brand-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1.1rem;
}

body.body-stage .section-footer-stage__brand-actions a {
    font-size: var(--stage-fs-caption);
    font-weight: 400;
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.78);
    text-decoration: none;
}

body.body-stage .section-footer-stage__brand-actions a:hover {
    color: rgba(0, 0, 0, 0.95);
    text-decoration: underline;
}

body.body-stage .section-footer-stage__bottom {
    margin-top: clamp(1.5rem, 3vw, 2.25rem);
    padding-top: clamp(0.85rem, 2vw, 1.1rem);
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

@media (min-width: 56.26rem) {
    body.body-stage .section-footer-stage__bottom {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 1.5rem;
    }
}

body.body-stage .section-footer-stage__socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

body.body-stage .section-footer-stage__socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    color: rgba(0, 0, 0, 0.88);
    text-decoration: none;
}

body.body-stage .section-footer-stage__socials a:hover {
    color: rgba(0, 0, 0, 1);
}

body.body-stage .section-footer-stage__socials svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
}

body.body-stage .section-footer-stage__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 1rem;
}

body.body-stage .section-footer-stage__legal a,
body.body-stage .section-footer-stage__legal-button,
body.body-stage .section-footer-stage__copyright {
    font-size: var(--stage-fs-legal);
    line-height: 1.3;
    color: rgba(0, 0, 0, 0.55);
    text-decoration: none;
}

body.body-stage .section-footer-stage__legal-button {
    padding: 0;
    border: none;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
}

body.body-stage .section-footer-stage__legal a:hover,
body.body-stage .section-footer-stage__legal-button:hover {
    color: rgba(0, 0, 0, 0.85);
    text-decoration: underline;
}

/* Realizzazione sito web page */
body.body-stage .stage-realization-hero {
    padding-top: calc(64px + var(--stage-navbar-height, 4.25rem));
    padding-bottom: var(--stage-space-section-y);
}

body.body-stage .stage-realization-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: var(--stage-space-layout);
    align-items: center;
}

body.body-stage .stage-realization-hero__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

body.body-stage .stage-realization-hero__title {
    margin-inline: 0;
    margin-bottom: 0;
    font-size: var(--stage-fs-h1);
    line-height: 1.06;
    letter-spacing: -0.035em;
    max-width: 13ch;
}

body.body-stage .stage-realization-hero--design .stage-realization-hero__title {
    max-width: 24ch;
    line-height: 1.1;
}

body.body-stage .stage-realization-hero--multi .stage-realization-hero__title {
    max-width: 22ch;
    line-height: 1.1;
}

body.body-stage .stage-realization-hero__text {
    margin-inline: 0;
    margin-bottom: 0;
    max-width: 48ch;
}

body.body-stage .stage-realization-hero--design .stage-realization-hero__copy.stage-copy-flow > .stage-realization-hero__title + .stage-realization-hero__text {
    margin-top: var(--stage-space-text);
}

body.body-stage .stage-realization-hero--multi .stage-realization-hero__copy.stage-copy-flow > .stage-realization-hero__title + .stage-realization-hero__text {
    margin-top: var(--stage-space-text);
}

body.body-stage .stage-realization-hero__media {
    margin: 0;
}

body.body-stage .stage-realization-hero__media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--radius-sm);
}

body.body-stage .stage-realization-hero__media picture {
    display: block;
    width: 100%;
}

body.body-stage .stage-realization-hero--design .stage-realization-hero__media--stack {
    overflow: visible;
}

body.body-stage .stage-realization-hero--design .stage-realization-hero__media-stack {
    position: relative;
    padding-top: clamp(1.25rem, 3.5vw, 2rem);
    padding-left: clamp(1.5rem, 5vw, 2.75rem);
}

body.body-stage .stage-realization-hero--design .stage-realization-hero__media-base {
    position: relative;
    z-index: 1;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.12);
}

body.body-stage .stage-realization-hero--design .stage-realization-hero__media-float,
body.body-stage .stage-realization-hero--design .stage-realization-hero__media-stack > picture:has(.stage-realization-hero__media-float) {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: clamp(7.5rem, 34%, 11.5rem);
    border-radius: var(--radius-sm);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.2);
    animation: stage-realization-hero-float-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
}

body.body-stage .stage-realization-hero--design .stage-realization-hero__media-float {
    position: static;
    width: 100%;
    border-radius: inherit;
    box-shadow: none;
    animation: none;
}

@keyframes stage-realization-hero-float-in {
    from {
        opacity: 0;
        transform: translate(14px, 14px) scale(0.94);
    }

    to {
        opacity: 1;
        transform: translate(0, 0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.body-stage .stage-realization-hero--design .stage-realization-hero__media-float,
    body.body-stage .stage-realization-hero--design .stage-realization-hero__media-stack > picture:has(.stage-realization-hero__media-float) {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

body.body-stage .stage-realization-features {
    background-color: #1b1b1f;
    color: #fff;
}

body.body-stage .stage-realization-features__inner {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
}

body.body-stage .stage-realization-features__title {
    margin: 0;
    text-align: center;
    color: #fff;
    font-size: var(--stage-fs-h2);
    line-height: 1.1;
}

body.body-stage .stage-realization-features__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body.body-stage .stage-realization-feature-card {
    min-height: 180px;
    padding: clamp(1.15rem, 2vw, 1.35rem);
    border-radius: var(--radius-sm);
    background-color: #f8f8f8;
    color: #000;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

body.body-stage .stage-realization-feature-card--accent {
    background-color: #136ef5;
    color: #fff;
}

body.body-stage .stage-realization-feature-card__title,
body.body-stage .stage-realization-feature-card__text {
    margin: 0;
}

body.body-stage .stage-realization-feature-card__icon {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-radius: 999px;
    border: 1px solid var(--color-primary-500);
    color: var(--color-primary-500);
    background-color: #fff;
    line-height: 0;
    flex-shrink: 0;
}

body.body-stage .stage-realization-feature-card__icon svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

body.body-stage .stage-realization-feature-card--accent .stage-realization-feature-card__icon {
    border-color: rgba(255, 255, 255, 0.45);
    color: #fff;
    background-color: rgba(255, 255, 255, 0.12);
}

body.body-stage .stage-realization-feature-card__title {
    font-size: var(--stage-fs-h3);
    line-height: 1.15;
    font-weight: 500;
}

body.body-stage .stage-realization-feature-card__text {
    font-size: var(--stage-fs-p-small);
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.72);
}

body.body-stage .stage-realization-feature-card--accent .stage-realization-feature-card__text {
    color: rgba(255, 255, 255, 0.88);
}

body.body-stage .stage-realization-features__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 46rem;
    margin-inline: auto;
}

body.body-stage .stage-realization-features__intro {
    margin: 0;
    max-width: 52ch;
    color: rgba(255, 255, 255, 0.78);
    font-size: var(--stage-fs-p-large);
    line-height: 1.45;
}

body.body-stage .stage-realization-features--light {
    background-color: #fff;
    color: #000;
}

body.body-stage .stage-realization-features--light .stage-realization-features__title {
    color: #000;
}

body.body-stage .stage-realization-features--light .stage-realization-features__intro {
    color: rgba(0, 0, 0, 0.68);
}

body.body-stage .stage-realization-features--light .stage-realization-feature-card {
    border: 1px solid rgba(0, 0, 0, 0.08);
    background-color: #fafafa;
}

body.body-stage .stage-product-section-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 44rem;
    margin-inline: auto;
}

body.body-stage .stage-product-section-head__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.1;
    letter-spacing: var(--stage-ls-heading);
    color: #000;
}

body.body-stage .stage-product-section-head__text {
    margin: 0;
    max-width: 52ch;
    font-size: var(--stage-fs-p-large);
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.68);
}

body.body-stage .section-features-slide__wrap {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
}

body.body-stage .stage-realization-hero--hosting .stage-realization-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
}

body.body-stage .stage-realization-hero--hosting .stage-realization-hero__copy {
    align-items: center;
    max-width: 44rem;
    margin-inline: auto;
}

body.body-stage .stage-realization-hero--hosting .stage-realization-hero__title {
    max-width: 22ch;
    margin-inline: auto;
}

body.body-stage .stage-realization-hero--hosting .stage-realization-hero__copy.stage-copy-flow > .stage-realization-hero__title + .stage-realization-hero__text {
    margin-top: var(--stage-space-text);
}

body.body-stage .stage-realization-hero--hosting .stage-realization-hero__text {
    margin-inline: auto;
}

body.body-stage .stage-realization-hero--hosting .stage-realization-row__actions {
    justify-content: center;
}

body.body-stage .stage-realization-hero--hosting .stage-realization-hero__media--wide {
    width: min(100%, 72rem);
    margin-inline: auto;
}

body.body-stage .stage-realization-hero--hosting .stage-realization-hero__media--wide img {
    border-radius: var(--radius-lg);
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.12);
}

body.body-stage .stage-hosting-cta__wrap {
    max-width: 40rem;
    margin-inline: auto;
}

body.body-stage .stage-hosting-cta__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

body.body-stage .stage-hosting-cta__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.1;
    letter-spacing: var(--stage-ls-heading);
}

body.body-stage .stage-hosting-cta__text {
    margin: 0;
    max-width: 48ch;
}

body.body-stage .stage-hosting-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.9rem;
}

body.body-stage .stage-realization-hero--security .stage-realization-hero__title {
    max-width: none;
}

body.body-stage .stage-realization-hero__title--split {
    display: flex;
    flex-direction: column;
    gap: 0.08em;
    max-width: none;
}

body.body-stage .stage-realization-hero__title--split span {
    display: block;
}

body.body-stage .stage-security-statement {
    padding-block: clamp(2.5rem, 5vw, 4rem);
    background-color: #fafafa;
}

body.body-stage .stage-security-statement__inner {
    max-width: 52rem;
    margin-inline: auto;
    text-align: center;
}

body.body-stage .stage-security-statement__title {
    margin: 0;
    font-size: clamp(1.45rem, 2.8vw, 2.15rem);
    line-height: 1.18;
    letter-spacing: -0.03em;
    font-weight: 400;
    color: #111;
}

body.body-stage .stage-realization-features__grid--compliance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 64rem) {
    body.body-stage .stage-realization-features__grid--compliance {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 80rem) {
    body.body-stage .stage-realization-features__grid--compliance {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

body.body-stage .stage-security-compliance-card {
    min-height: 15rem;
}

body.body-stage .stage-security-related {
    background-color: #fafafa;
}

body.body-stage .stage-security-related__inner {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
}

body.body-stage .stage-security-related__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(0.85rem, 1.7vw, 1.15rem);
}

@media (min-width: 48rem) {
    body.body-stage .stage-realization-features__grid--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.body-stage .stage-security-related__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    body.body-stage .stage-realization-features__grid--compact {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

body.body-stage .stage-security-related__card {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-height: 100%;
    padding: clamp(1.1rem, 2vw, 1.35rem);
    border-radius: var(--radius-sm);
    border: 1px solid rgba(0, 0, 0, 0.08);
    background-color: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.body-stage .stage-security-related__card:hover {
    border-color: rgba(19, 110, 245, 0.35);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

body.body-stage .stage-security-related__card-eyebrow {
    margin: 0;
    font-size: var(--stage-fs-caption);
    color: rgba(0, 0, 0, 0.56);
}

body.body-stage .stage-security-related__card-title {
    margin: 0;
    font-size: var(--stage-fs-h3);
    line-height: 1.15;
    font-weight: 500;
    color: #111;
}

body.body-stage .stage-security-related__card-text {
    margin: 0;
    flex: 1 1 auto;
    font-size: var(--stage-fs-p-small);
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.68);
}

body.body-stage .stage-security-related__card-link {
    font-size: var(--stage-fs-p-small);
    font-weight: 500;
    color: var(--color-primary-500);
}

body.body-stage .stage-realization-lead {
    padding-block: var(--stage-space-section-y);
}

body.body-stage .stage-realization-lead__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 42rem;
    margin-inline: auto;
}

body.body-stage .stage-realization-lead__title,
body.body-stage .stage-realization-lead__text {
    margin: 0;
}

body.body-stage .stage-realization-lead__text {
    max-width: 48ch;
}

body.body-stage .stage-realization-showcase {
    /* padding via .stage-section */
}

body.body-stage .stage-realization-showcase__inner {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-layout);
}

body.body-stage .stage-realization-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--stage-space-layout);
    align-items: center;
}

body.body-stage .stage-realization-row--reverse .stage-realization-row__copy {
    order: 2;
}

body.body-stage .stage-realization-row--reverse .stage-realization-row__media {
    order: 1;
}

body.body-stage .stage-realization-row__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

body.body-stage .stage-realization-row__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid var(--color-primary-500);
    border-radius: 999px;
    color: var(--color-primary-500);
    font-size: var(--stage-fs-p-small);
    font-weight: 500;
    line-height: 1.2;
}

body.body-stage .stage-realization-row__badge-icon {
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

body.body-stage .stage-realization-row__badge-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

body.body-stage .stage-realization-row__badge-icon svg.stage-realization-row__badge-icon-svg--stroke {
    display: block;
    fill: none;
    color: inherit;
    transform: translateY(-0.5px);
}

body.body-stage .stage-realization-row__actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

body.body-stage .stage-realization-row__title,
body.body-stage .stage-realization-row__text {
    margin-inline: 0;
    margin-bottom: 0;
}

body.body-stage .stage-realization-row__title {
    max-width: 22ch;
}

body.body-stage .stage-realization-row__media {
    margin: 0;
}

body.body-stage .stage-realization-row__media picture {
    display: block;
    width: 100%;
}

body.body-stage .stage-realization-row__media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--radius-sm);
}

body.body-stage .stage-realization-steps {
    padding-block: var(--stage-space-section-y);
}

body.body-stage .stage-realization-steps__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: var(--stage-space-layout);
    align-items: start;
}

body.body-stage .stage-realization-steps__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

body.body-stage .stage-realization-steps__title,
body.body-stage .stage-realization-steps__text {
    margin-inline: 0;
    margin-bottom: 0;
}

body.body-stage .stage-realization-steps__copy.stage-copy-flow > .stage-realization-steps__title + .stage-realization-steps__text {
    margin-top: var(--stage-space-text);
}

body.body-stage .stage-realization-steps__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

body.body-stage .stage-realization-steps__item {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    padding: 14px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
}

body.body-stage .stage-realization-steps__item:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

body.body-stage .stage-realization-steps__item span,
body.body-stage .stage-realization-steps__item p {
    margin: 0;
}

body.body-stage .stage-realization-steps__item span {
    font-size: var(--stage-fs-h4);
    font-weight: 600;
}

/* Design siti web page (realizzazione-sito-web) — struttura ispirata a landing prodotto */
body.body-stage .stage-design-paths__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stage-space-layout);
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-design-paths__inner {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

body.body-stage .stage-design-path-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--stage-space-text);
    padding: clamp(1.1rem, 2.2vw, 1.5rem);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--radius-sm);
    background: #fff;
    min-height: 100%;
    overflow: hidden;
}

body.body-stage .stage-design-path-card__media {
    margin: calc(-1 * clamp(1.1rem, 2.2vw, 1.5rem)) calc(-1 * clamp(1.1rem, 2.2vw, 1.5rem)) 0;
    width: calc(100% + 2 * clamp(1.1rem, 2.2vw, 1.5rem));
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.04);
}

body.body-stage .stage-design-path-card__media picture,
body.body-stage .stage-design-path-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.body-stage .stage-design-path-card__eyebrow {
    margin: 0;
    font-size: var(--stage-fs-caption);
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-primary-500);
}

body.body-stage .stage-design-path-card__title,
body.body-stage .stage-design-path-card__text {
    margin: 0;
}

body.body-stage .stage-design-path-card__title {
    font-size: var(--stage-fs-h3);
    line-height: 1.12;
    max-width: 16ch;
}

body.body-stage .stage-design-path-card__text {
    color: rgba(0, 0, 0, 0.72);
    max-width: 42ch;
}

body.body-stage .stage-design-path-card .section-templates__card-link {
    margin-top: auto;
    padding-top: var(--stage-space-text);
}

body.body-stage .stage-design-success {
    background: var(--color-secondary-950);
    color: #fff;
}

body.body-stage .stage-design-success .section-basic__brand-word {
    color: rgba(255, 255, 255, 0.55);
}

body.body-stage .stage-design-success__inner {
    display: flex;
    flex-direction: column;
}

body.body-stage .stage-design-success__head {
    max-width: 52rem;
}

body.body-stage .stage-design-success__title {
    margin-inline: 0;
    margin-bottom: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.08;
    color: #fff;
    max-width: 18ch;
}

body.body-stage .stage-design-success__text {
    margin-inline: 0;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
    max-width: 52ch;
}

body.body-stage .stage-design-success__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stage-space-text);
}

@media (min-width: 40rem) {
    body.body-stage .stage-design-success__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        /* gap: var(--stage-space-layout); */
    }
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-design-success__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

body.body-stage .stage-design-use-card {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-text);
    min-height: 100%;
    padding: clamp(1.15rem, 2vw, 1.35rem);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

body.body-stage .stage-design-use-card__icon-badge {
    width: fit-content;
    display: block;
    padding: 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.88);
    line-height: 0;
}

body.body-stage .stage-design-use-card__icon {
    width: 18px;
    height: 18px;
    display: block;
    fill: currentColor;
}

body.body-stage .stage-design-use-card__title,
body.body-stage .stage-design-use-card__text {
    margin: 0;
}

body.body-stage .stage-design-use-card__title {
    font-size: var(--stage-fs-h4);
    line-height: 1.15;
    color: #fff;
}

body.body-stage .stage-design-use-card__text {
    color: rgba(255, 255, 255, 0.72);
    flex: 1 1 auto;
}

body.body-stage .stage-design-use-card .section-templates__card-link {
    margin-top: auto;
    padding-top: var(--stage-space-text);
    color: #fff;
}

body.body-stage .stage-design-use-card .section-templates__card-link:hover,
body.body-stage .stage-design-use-card .section-templates__card-link:focus-visible {
    color: rgba(255, 255, 255, 0.82);
}

/* Chi sono page */
@keyframes stage-about-soft-rise {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes stage-about-soft-fade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

body.body-stage .stage-about-hero {
    --stage-about-hero-edge-space: 64px;
    --stage-about-hero-grid-size: 3.5rem;
    --stage-about-hero-line: rgba(19, 110, 245, 0.08);
    --stage-about-hero-line-strong: rgba(19, 110, 245, 0.14);
    position: relative;
    isolation: isolate;
    padding-top: calc(64px + var(--stage-navbar-height, 4.25rem));
    padding-bottom: 0;
    background-color: var(--color-third-100);
    min-height: 100vh;
    max-height: 100vh;
    overflow: hidden;
}

body.body-stage .stage-about-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
        linear-gradient(to right, var(--stage-about-hero-line) 1px, transparent 1px),
        linear-gradient(to bottom, var(--stage-about-hero-line) 1px, transparent 1px);
    background-size: var(--stage-about-hero-grid-size) var(--stage-about-hero-grid-size);
    mask-image: radial-gradient(ellipse 92% 78% at 50% 42%, #000 35%, transparent 100%);
}

body.body-stage .stage-about-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(circle at 82% 18%, rgba(19, 110, 245, 0.1) 0%, transparent 46%),
        radial-gradient(circle at 14% 92%, rgba(19, 110, 245, 0.05) 0%, transparent 40%),
        linear-gradient(180deg, rgba(231, 240, 254, 0.55) 0%, transparent 42%);
}

body.body-stage .stage-about-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1rem, 2.8vw, 2rem);
    align-items: end;
    height: calc(100vh - (64px + var(--stage-navbar-height, 4.25rem)));
    min-height: 0;
    position: relative;
    z-index: 1;
}

@media (min-width: 62rem) {
    body.body-stage .stage-about-hero__inner {
        grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr) minmax(0, 0.75fr);
        gap: clamp(1.2rem, 3vw, 2.2rem);
    }
}

body.body-stage .stage-about-hero__inner::before {
    content: "";
    position: absolute;
    inset: 8% 0 auto;
    height: calc(100% - 16%);
    pointer-events: none;
    z-index: 0;
    background-image:
        linear-gradient(to right, transparent calc(25% - 0.5px), var(--stage-about-hero-line-strong) calc(25% - 0.5px), var(--stage-about-hero-line-strong) calc(25% + 0.5px), transparent calc(25% + 0.5px)),
        linear-gradient(to right, transparent calc(50% - 0.5px), var(--stage-about-hero-line-strong) calc(50% - 0.5px), var(--stage-about-hero-line-strong) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
        linear-gradient(to right, transparent calc(75% - 0.5px), var(--stage-about-hero-line-strong) calc(75% - 0.5px), var(--stage-about-hero-line-strong) calc(75% + 0.5px), transparent calc(75% + 0.5px));
    opacity: 0.65;
}

body.body-stage .stage-about-hero__inner::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 46%;
    height: 1px;
    pointer-events: none;
    z-index: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--stage-about-hero-line-strong) 18%,
        var(--stage-about-hero-line-strong) 82%,
        transparent 100%
    );
    opacity: 0.45;
}

body.body-stage .stage-about-hero__lead {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    padding-bottom: var(--stage-about-hero-edge-space);
    min-height: 0;
    position: relative;
    z-index: 1;
}

body.body-stage .stage-about-hero__lead-top {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.15rem;
}

body.body-stage .stage-about-hero__lead-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.7rem;
}

body.body-stage .stage-about-hero__hello {
    margin: 0;
    font-size: var(--stage-fs-intro);
    color: #000;
    animation: stage-about-soft-rise 520ms ease both;
    animation-delay: 80ms;
}

body.body-stage .stage-about-hero__name {
    margin: 0;
    font-size: clamp(2rem, 6vw, 4.4rem);
    line-height: 0.95;
    letter-spacing: -0.03em;
    font-weight: 500;
    color: #000;
    animation: stage-about-soft-rise 620ms ease both;
    animation-delay: 140ms;
}

body.body-stage .stage-about-hero__lead-cta {
    min-width: 8.5rem;
    animation: stage-about-soft-rise 620ms ease both;
    animation-delay: 220ms;
}

body.body-stage .stage-about-hero__lead-text {
    margin: 0;
    margin-top: auto;
    max-width: 28ch;
    color: rgba(0, 0, 0, 0.78);
    animation: stage-about-soft-rise 620ms ease both;
    animation-delay: 300ms;
}

body.body-stage .stage-about-hero__photo {
    margin: 0;
    border-radius: 0.8rem;
    overflow: hidden;
    position: relative;
    z-index: 1;
    align-self: end;
    height: 100%;
    display: flex;
    align-items: flex-end;
}

body.body-stage .stage-about-hero__photo picture {
    display: block;
    width: 100%;
    height: 100%;
}

body.body-stage .stage-about-hero__photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
}

body.body-stage .stage-about-hero__side {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-self: stretch;
    padding-bottom: var(--stage-about-hero-edge-space);
    min-height: 0;
    position: relative;
    z-index: 1;
}

body.body-stage .stage-about-hero__follow {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

body.body-stage .stage-about-hero__follow-title {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    font-weight: 600;
    animation: stage-about-soft-fade 520ms ease both;
    animation-delay: 160ms;
}

body.body-stage .stage-about-hero__socials {
    display: inline-flex;
    gap: 0.4rem;
}

body.body-stage .stage-about-hero__socials a {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.08);
    color: #000;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 600;
}

body.body-stage .stage-about-hero__socials a:hover {
    background: rgba(0, 0, 0, 0.16);
}

body.body-stage .stage-about-hero__follow-text {
    margin: 0;
    max-width: 24ch;
    color: rgba(0, 0, 0, 0.78);
    animation: stage-about-soft-fade 620ms ease both;
    animation-delay: 260ms;
}

body.body-stage .stage-about-hero__role {
    margin: 0;
    margin-top: auto;
    font-size: clamp(1.8rem, 4vw, 3.25rem);
    line-height: 0.95;
    letter-spacing: -0.025em;
    max-width: 8ch;
    animation: stage-about-soft-rise 700ms ease both;
    animation-delay: 240ms;
}

body.body-stage .stage-about-services {
    background: #fff;
}

body.body-stage .stage-about-services__inner {
    display: flex;
    flex-direction: column;
}

body.body-stage :is(
    .stage-about-services__head,
    .stage-about-experience__head,
    .stage-about-portfolio__head,
    .stage-about-testimonials__head
) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
}

@media (min-width: 56.26rem) {
    body.body-stage :is(
        .stage-about-services__head,
        .stage-about-experience__head,
        .stage-about-portfolio__head,
        .stage-about-testimonials__head
    ) {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    }
}

body.body-stage .stage-about-services__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.08;
    max-width: 18ch;
}

body.body-stage .stage-about-services__lede {
    margin: 0;
    color: rgba(0, 0, 0, 0.72);
    max-width: 38ch;
}

body.body-stage .stage-about-services__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-about-services__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

body.body-stage .stage-about-service-card {
    min-height: 14rem;
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(0, 0, 0, 0.06);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

body.body-stage .stage-about-service-card__num {
    margin: 0;
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    font-weight: 700;
    line-height: 1;
    color: rgba(0, 0, 0, 0.2);
}

body.body-stage .stage-about-service-card__title {
    margin: auto 0 0;
    padding-top: 0.2rem;
    font-size: var(--stage-fs-h4);
    line-height: 1.15;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

body.body-stage .stage-about-service-card__text {
    margin: 0;
    color: rgba(0, 0, 0, 0.68);
}

body.body-stage .stage-about-service-card--image {
    padding: 0;
    overflow: hidden;
}

body.body-stage .stage-about-service-card__media {
    margin: 0;
    width: 100%;
    height: 100%;
}

body.body-stage .stage-about-service-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.body-stage .stage-about-experience {
    background: #fff;
}

body.body-stage .stage-about-experience__inner {
    display: flex;
    flex-direction: column;
}

body.body-stage .stage-about-experience__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.08;
    max-width: 16ch;
}

body.body-stage .stage-about-experience__lede {
    margin: 0;
    color: rgba(0, 0, 0, 0.72);
    max-width: 40ch;
}

body.body-stage .stage-about-experience__list {
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}

body.body-stage .stage-about-exp-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-about-exp-row {
        grid-template-columns: minmax(0, 0.2fr) minmax(0, 0.55fr) minmax(0, 0.25fr);
        column-gap: 1rem;
        align-items: baseline;
    }
}

body.body-stage .stage-about-exp-row__year {
    margin: 0;
    font-size: var(--stage-fs-p-data);
    color: rgba(0, 0, 0, 0.55);
}

body.body-stage .stage-about-exp-row__role-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

body.body-stage .stage-about-exp-row__role {
    margin: 0;
    font-size: var(--stage-fs-h4);
    line-height: 1.15;
}

body.body-stage .stage-about-exp-row__desc {
    margin: 0;
    color: rgba(0, 0, 0, 0.68);
    max-width: 50ch;
}

@media (hover: hover) and (pointer: fine) {
    body.body-stage .stage-about-exp-row__desc {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transform: translateY(-4px);
        transition: max-height 260ms ease, opacity 220ms ease, transform 220ms ease;
    }

    body.body-stage .stage-about-exp-row:hover .stage-about-exp-row__desc,
    body.body-stage .stage-about-exp-row:focus-within .stage-about-exp-row__desc {
        max-height: 7rem;
        opacity: 1;
        transform: translateY(0);
    }
}

body.body-stage .stage-about-exp-row__company {
    margin: 0;
    font-size: var(--stage-fs-h5);
}

body.body-stage .stage-about-story {
    background: #fff;
}

body.body-stage .stage-about-story__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-about-story__inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

body.body-stage .stage-about-story__media {
    margin: 0;
    border-radius: 0.8rem;
    overflow: hidden;
    width: fit-content;
    max-width: 100%;
}

body.body-stage .stage-about-story__media img {
    width: auto;
    max-width: 100%;
    max-height: 400px;
    height: auto;
    display: block;
    object-fit: contain;
}

body.body-stage .stage-about-story__copy {
    align-items: flex-start;
}

body.body-stage .stage-about-story__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.08;
    max-width: 18ch;
}

body.body-stage .stage-about-story__text {
    margin: 0;
    max-width: 52ch;
}

body.body-stage .stage-about-story__actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

body.body-stage .stage-about-metrics {
    background: #fff;
}

body.body-stage .stage-about-metrics__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 2.8vw, 1.8rem);
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-about-metrics__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

body.body-stage .stage-about-metrics__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    text-align: center;
}

body.body-stage .stage-about-metrics__value {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    line-height: 0.95;
}

body.body-stage .stage-about-metrics__label {
    margin: 0;
    color: rgba(0, 0, 0, 0.58);
    font-size: var(--stage-fs-p-small);
}

body.body-stage .stage-about-portfolio {
    background: #fff;
}

body.body-stage .stage-about-portfolio__inner {
    display: flex;
    flex-direction: column;
}

body.body-stage .stage-about-portfolio__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.1;
    max-width: 16ch;
}

body.body-stage .stage-about-portfolio__text {
    margin: 0;
    max-width: 38ch;
    color: rgba(0, 0, 0, 0.72);
}

body.body-stage .stage-about-portfolio__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.65rem;
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-about-portfolio__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

body.body-stage .stage-about-project-card {
    position: relative;
    min-height: clamp(15rem, 32vw, 22rem);
    border-radius: 0.75rem;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #d9d9d9;
}

body.body-stage .stage-about-project-card__media {
    margin: 0;
    position: absolute;
    inset: 0;
}

body.body-stage .stage-about-project-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.body-stage .stage-about-project-card__body {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem 1rem 0.9rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.72) 100%);
    color: #fff;
}

body.body-stage .stage-about-project-card__title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 0.8rem;
    align-items: end;
}

body.body-stage .stage-about-project-card__tag {
    margin: 0;
    font-size: var(--stage-fs-p-data);
    color: rgba(255, 255, 255, 0.82);
}

body.body-stage .stage-about-project-card__title {
    margin: 0;
    font-size: var(--stage-fs-h4);
    line-height: 1.2;
}

body.body-stage .stage-about-project-card__year {
    margin: 0;
    font-size: clamp(1.25rem, 2.2vw, 1.65rem);
    line-height: 1;
    color: rgba(255, 255, 255, 0.86);
    font-weight: 500;
}

body.body-stage .stage-about-testimonials {
    background: #f2f2f3;
}

body.body-stage .stage-about-testimonials__inner {
    display: flex;
    flex-direction: column;
    border-radius: 1.2rem;
    background: #f2f2f3;
    padding: clamp(1rem, 2.4vw, 1.6rem);
}

body.body-stage .stage-about-testimonials__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: start;
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-about-testimonials__body {
        grid-template-columns: minmax(0, 40%) minmax(0, 60%);
        column-gap: clamp(2.5rem, 6vw, 5rem);
    }
}

body.body-stage .stage-about-testimonials__portrait {
    position: relative;
    width: 100%;
    max-width: 8.5rem;
    overflow: visible;
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-about-testimonials__portrait {
        max-width: 21.875rem; /* 350px */
    }
}

body.body-stage .stage-about-testimonials__portrait-frame {
    position: relative;
    margin: 0;
    width: 100%;
    max-width: 21.875rem; /* 350px */
    overflow: visible;
    background: transparent;
}

body.body-stage .stage-about-testimonials__quote-mark {
    position: absolute;
    top: -0.35rem;
    left: -0.85rem;
    z-index: 2;
    margin: 0;
    display: block;
    font-size: clamp(3.25rem, 8vw, 5rem);
    line-height: 1;
    font-weight: 700;
    color: var(--color-primary-500);
    pointer-events: none;
    user-select: none;
}

body.body-stage .stage-about-testimonials__portrait-frame img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: top center;
    border-radius: 0.85rem;
    background: #e8e8ea;
}

body.body-stage .stage-about-testimonials__slider {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    min-width: 0;
}

body.body-stage .stage-about-testimonials__slides {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

body.body-stage .stage-about-testimonials__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.08;
    max-width: 16ch;
}

body.body-stage .stage-about-testimonials__lede-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

body.body-stage .stage-about-testimonials__lede {
    margin: 0;
    color: rgba(0, 0, 0, 0.72);
    max-width: 40ch;
}

body.body-stage .stage-about-testimonials__google {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    max-width: 42ch;
}

body.body-stage .stage-about-testimonials__google a {
    color: var(--color-primary-500);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

body.body-stage .stage-about-testimonials__google a:hover {
    color: var(--color-primary-600, var(--color-primary-500));
}

body.body-stage .stage-about-testimonials__google-sep {
    margin: 0 0.35rem;
    color: rgba(0, 0, 0, 0.35);
}

body.body-stage .stage-about-testimonial-card {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
}

body.body-stage .stage-about-testimonial-slide {
    display: none;
}

body.body-stage .stage-about-testimonial-slide.is-active {
    display: block;
}

body.body-stage .stage-about-testimonial-card__content {
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, 3vw, 2rem);
    min-height: 100%;
    padding-bottom: 3.25rem;
}

body.body-stage .stage-about-testimonial-card__quote {
    margin: 0;
    font-size: clamp(1.45rem, 2.9vw, 2rem);
    line-height: 1.28;
    max-width: 28ch;
}

body.body-stage .stage-about-testimonial-card__meta {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    max-width: calc(100% - 5.5rem);
}

body.body-stage .stage-about-testimonial-card__name {
    margin: 0;
    font-size: var(--stage-fs-h5);
    font-weight: 600;
}

body.body-stage .stage-about-testimonial-card__role {
    margin: 0;
    font-size: var(--stage-fs-p-data);
    color: rgba(0, 0, 0, 0.62);
}

body.body-stage .stage-about-testimonials__controls {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    margin: 0;
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-about-testimonials__portrait {
        max-width: 8.5rem;
    }

    body.body-stage .stage-about-testimonial-card__content {
        padding-bottom: 3.5rem;
    }

    body.body-stage .stage-about-testimonial-card__quote {
        font-size: clamp(1.2rem, 5.8vw, 1.55rem);
        max-width: none;
    }

    body.body-stage .stage-about-testimonial-card__meta {
        max-width: calc(100% - 5.75rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.body-stage .stage-about-hero__hello,
    body.body-stage .stage-about-hero__name,
    body.body-stage .stage-about-hero__lead-cta,
    body.body-stage .stage-about-hero__lead-text,
    body.body-stage .stage-about-hero__follow-title,
    body.body-stage .stage-about-hero__follow-text,
    body.body-stage .stage-about-hero__role {
        animation: none;
    }
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-about-hero {
        --stage-about-hero-edge-space: 40px;
        --stage-about-hero-grid-size: 2.75rem;
    }

    body.body-stage .stage-about-hero::before {
        mask-image: radial-gradient(ellipse 110% 70% at 50% 30%, #000 25%, transparent 100%);
    }

    body.body-stage .stage-about-hero__inner {
        height: auto;
    }

    body.body-stage .stage-about-hero__inner::before,
    body.body-stage .stage-about-hero__inner::after {
        display: none;
    }

    body.body-stage .stage-about-hero__name {
        font-size: clamp(2rem, 13vw, 3.6rem);
    }

    body.body-stage .stage-about-hero__side {
        gap: 1rem;
    }

    body.body-stage .stage-about-hero__role {
        font-size: clamp(1.5rem, 9vw, 2.5rem);
    }
}

/* Pagina stage /ottimizzazione-seo */
body.body-stage .stage-seo-hero {
    padding-block: 56px 96px;
}

body.body-stage .stage-seo-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}

body.body-stage .stage-seo-hero__copy {
    width: 100%;
    max-width: 56rem;
    text-align: center;
    align-items: center;
}

body.body-stage .stage-seo-hero__title,
body.body-stage .stage-seo-hero__text {
    margin: 0;
}

body.body-stage .stage-seo-hero__title {
    max-width: 20ch;
}

body.body-stage .stage-seo-hero__media {
    margin: 0;
    width: 100%;
}

body.body-stage .stage-seo-hero__media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--radius-sm);
}

body.body-stage .stage-seo-showcase {
    padding-block: 0 96px;
}

body.body-stage .stage-seo-showcase__inner {
    display: flex;
    flex-direction: column;
    gap: 64px;
}

body.body-stage .stage-seo-row {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 56px;
    align-items: center;
}

body.body-stage .stage-seo-row__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

body.body-stage .stage-seo-row__title,
body.body-stage .stage-seo-row__text {
    margin: 0;
}

body.body-stage .stage-seo-row__media {
    margin: 0;
}

body.body-stage .stage-seo-row__media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--radius-sm);
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-realization-hero {
        padding-top: calc(64px + var(--stage-navbar-height, 4.25rem));
        padding-bottom: var(--stage-space-section-y);
    }

    body.body-stage .stage-realization-hero__inner,
    body.body-stage .stage-realization-row,
    body.body-stage .stage-realization-steps__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--stage-space-section-y);
    }

    body.body-stage .stage-realization-hero--design .stage-realization-hero__media-stack {
        padding-top: clamp(1rem, 4vw, 1.5rem);
        padding-left: clamp(1rem, 8vw, 2rem);
    }

    body.body-stage .stage-realization-hero--design .stage-realization-hero__media-float {
        width: clamp(6.5rem, 42vw, 9.5rem);
    }

    body.body-stage .stage-realization-row--reverse .stage-realization-row__copy,
    body.body-stage .stage-realization-row--reverse .stage-realization-row__media {
        order: initial;
    }

    body.body-stage .stage-realization-features {
        padding-block: var(--stage-space-section-y);
    }

    body.body-stage .stage-realization-features__inner {
        gap: var(--stage-space-section-y);
    }

    body.body-stage .stage-realization-features__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.body-stage .stage-realization-feature-card {
        min-height: auto;
    }

    body.body-stage .stage-realization-lead {
        padding-block: var(--stage-space-section-y);
    }

    body.body-stage .stage-realization-showcase {
        /* padding via .stage-section */
    }

    body.body-stage .stage-realization-showcase__inner {
        gap: var(--stage-space-section-y);
    }

    body.body-stage .stage-realization-steps {
        padding-block: var(--stage-space-section-y);
    }

    body.body-stage .stage-design-paths__inner,
    body.body-stage .stage-design-success__grid {
        gap: var(--stage-space-text);
    }

    body.body-stage .stage-design-success__title {
        max-width: none;
    }
}

/* Homepage stage responsive (esclusa la prima sezione hero) */
@media (max-width: 56.25rem) {
    body.body-stage .section-basic,
    body.body-stage .section-personalize,
    body.body-stage .section-templates,
    body.body-stage .section-features-slide,
    body.body-stage .section-steps-stage,
    body.body-stage .section-why-stage,
    body.body-stage .section-faq-stage,
    body.body-stage .section-blog-stage {
        padding-block: 64px;
    }

    body.body-stage .section-basic__inner,
    body.body-stage .section-templates__inner,
    body.body-stage .section-why-stage__inner,
    body.body-stage .section-faq-stage__inner {
        gap: 64px;
    }

    body.body-stage .section-steps-stage__inner,
    body.body-stage .section-contact-stage__inner {
        gap: 64px;
    }

    body.body-stage .section-why-stage__card {
        min-height: 300px;
        height: auto;
    }

    body.body-stage .section-faq-stage__trigger {
        padding-block: 0.9rem;
    }

    body.body-stage .section-footer-stage__cta-inner {
        min-height: clamp(16rem, 62vw, 22rem);
        gap: 0.75rem;
    }

    body.body-stage .section-footer-stage__cta-title {
        font-size: var(--stage-fs-h1);
    }

    body.body-stage .section-footer-stage__bottom {
        align-items: center;
        gap: 0.75rem;
    }

    body.body-stage .section-footer-stage__socials,
    body.body-stage .section-footer-stage__legal {
        justify-content: center;
    }

    body.body-stage .section-footer-stage__legal {
        text-align: center;
    }

    body.body-stage .section-footer-stage__edge-credit {
        bottom: clamp(4.5rem, 12vh, 7rem);
    }

    body.body-stage .section-footer-stage__edge-credit-inner {
        padding: 0.65rem 0.35rem;
    }

    body.body-stage .section-footer-stage__edge-credit-logo {
        width: 1rem;
    }
}

@media (max-width: 47.99rem) {
    body.body-stage .section-footer-stage__main-inner {
        padding-bottom: 0.7rem;
    }

    body.body-stage .section-footer-stage__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.9rem;
    }

    body.body-stage .section-footer-stage__brand {
        margin-top: 0.25rem;
    }

    body.body-stage .section-footer-stage__col-title,
    body.body-stage .section-footer-stage__brand-text {
        font-size: var(--stage-fs-caption);
    }
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-seo-hero {
        padding-block: 64px;
    }

    body.body-stage .stage-seo-hero__inner {
        gap: 22px;
    }

    body.body-stage .stage-seo-showcase {
        padding-block: 64px;
    }

    body.body-stage .stage-seo-showcase__inner {
        gap: 48px;
    }

    body.body-stage .stage-seo-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-templates-page {
        padding-bottom: 64px;
    }
}

/* Stage templates marketplace page */
body.body-stage .stage-templates-page {
    padding-top: calc(clamp(2.6rem, 5.4vw, 4rem) + var(--stage-navbar-height, 4.25rem));
    padding-bottom: clamp(2.6rem, 5.4vw, 4.8rem);
}

body.body-stage .stage-templates-page__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(2.5rem, 5vw, 4rem);
}

body.body-stage .stage-templates-page__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stage-space-layout);
    align-items: end;
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-templates-page__hero {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    }
}

body.body-stage .stage-templates-page__hero-copy {
    max-width: 28rem;
}

body.body-stage .stage-templates-page__hero-aside {
    max-width: 48ch;
}

body.body-stage .stage-templates-page__hero-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    width: fit-content;
}

body.body-stage .stage-templates-page__hero-meta-current {
    color: #000;
}

body.body-stage .stage-templates-page__title {
    margin: 0;
    max-width: 16ch;
    font-size: var(--stage-fs-h2);
    line-height: 1.06;
    font-weight: 400;
    letter-spacing: -0.03em;
}

body.body-stage .stage-templates-page__text {
    margin: 0;
    font-size: var(--stage-fs-p);
    line-height: 1.62;
    color: var(--color-secondary-700);
}

body.body-stage .stage-templates-page__hero-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

body.body-stage .stage-templates-page__count {
    margin: 0;
    font-size: var(--stage-fs-caption);
    line-height: 1.4;
    color: rgba(0, 0, 0, 0.55);
}

body.body-stage .stage-templates-page__empty {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--stage-space-text);
    max-width: 42rem;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--radius-sm);
    background-color: rgba(0, 0, 0, 0.02);
}

body.body-stage .stage-templates-page__empty-title {
    margin: 0;
    font-size: var(--stage-fs-h3);
    line-height: 1.15;
    letter-spacing: -0.02em;
}

body.body-stage .stage-templates-page__empty-text {
    margin: 0;
    font-size: var(--stage-fs-p);
    line-height: 1.55;
    color: var(--color-secondary-700);
}

body.body-stage .stage-templates-page__filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

body.body-stage .stage-templates-page__chip {
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background-color: transparent;
    font-size: var(--stage-fs-p-small);
    color: rgba(0, 0, 0, 0.72);
}

body.body-stage .stage-templates-page__chip.is-active {
    background-color: rgba(0, 0, 0, 0.08);
    color: #000;
}

body.body-stage .stage-templates-page__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.25rem, 2.2vw, 1.75rem);
}

@media (min-width: 48rem) {
    body.body-stage .stage-templates-page__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 75rem) {
    body.body-stage .stage-templates-page__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

body.body-stage .stage-templates-page__card {
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--radius-sm);
    background-color: #fff;
    gap: 0;
}

body.body-stage .stage-templates-page__card-media-link {
    display: block;
}

body.body-stage .stage-templates-page__card-img {
    border-radius: 0;
}

body.body-stage .stage-templates-page__card-copy {
    padding: clamp(1rem, 1.8vw, 1.25rem);
}

body.body-stage .stage-templates-page__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

body.body-stage .stage-templates-page__card-title {
    margin: 0;
    min-width: 0;
    font-size: var(--stage-fs-a);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

body.body-stage .stage-templates-page__card-title a {
    color: #000;
    text-decoration: none;
}

body.body-stage .stage-templates-page__card-title a:hover {
    text-decoration: underline;
}

body.body-stage .stage-templates-page__card-desc {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    line-height: 1.5;
    color: var(--color-secondary-700);
}

body.body-stage .stage-templates-page__card-price {
    margin: 0;
    flex-shrink: 0;
    font-size: var(--stage-fs-caption);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #000;
}

body.body-stage .stage-templates-page__card-price.is-free {
    color: #0e7a37;
}

body.body-stage .stage-templates-page__card-price.is-paid {
    color: #000;
}

body.body-stage .stage-templates-page__card-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

body.body-stage .stage-templates-page .section-templates__card-link {
    font-size: var(--stage-fs-a-small);
    line-height: 1.3;
}

/* Stage interazioni / animazioni page */
body.body-stage .stage-interactions-hero {
    padding-top: calc(64px + var(--stage-navbar-height, 4.25rem));
    padding-bottom: var(--stage-space-section-y);
}

body.body-stage .stage-interactions-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 980px;
    margin-inline: auto;
}

body.body-stage .stage-interactions-hero__title {
    margin: 0;
    font-size: var(--stage-fs-h1);
    line-height: 1.05;
    letter-spacing: -0.02em;
}

body.body-stage .stage-interactions-hero__text {
    margin: 0;
    max-width: 48ch;
    color: var(--color-secondary-700);
    font-size: var(--stage-fs-p-large);
}

body.body-stage .stage-interactions-hero__actions {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

body.body-stage .stage-interactions-hero__inner.stage-copy-flow > .stage-interactions-hero__title + .stage-interactions-hero__text {
    margin-top: var(--stage-space-text);
}

body.body-stage .stage-interactions-hero__inner.stage-copy-flow > .stage-interactions-hero__text + .stage-interactions-hero__actions {
    margin-top: var(--stage-space-cta);
}

body.body-stage .stage-interactions-hero__figure {
    margin: 0;
    width: 100%;
}

body.body-stage .stage-interactions-hero__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(0, 0, 0, 0.08);
}

/* Hero interazioni — parete di screenshot in scorrimento 3D (stile Webflow) */
body.body-stage .stage-interactions-hero__wall {
    margin-top: clamp(2.5rem, 5vw, 4rem);
    width: 100%;
    height: clamp(24rem, 56vw, 40rem);
    overflow: hidden;
    perspective: 1500px;
    perspective-origin: 50% 35%;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 16%, #000 84%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 16%, #000 84%, transparent 100%);
}

body.body-stage .stage-interactions-hero__wall-inner {
    --tilt-x: 13deg;
    --tilt-y: 0deg;
    --tilt-z: -7deg;
    display: flex;
    justify-content: center;
    gap: clamp(0.75rem, 1.6vw, 1.25rem);
    height: 100%;
    transform-style: preserve-3d;
    transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotateZ(var(--tilt-z)) scale(1.12);
}

body.body-stage .stage-interactions-hero__col {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
}

body.body-stage .stage-interactions-hero__col-track {
    display: flex;
    flex-direction: column;
    gap: clamp(0.75rem, 1.6vw, 1.25rem);
    will-change: transform;
    transform: translateY(-25%);
}

body.body-stage .stage-interactions-hero__card {
    flex: 0 0 auto;
    border-radius: 0.9rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.10);
}

body.body-stage .stage-interactions-hero__card img {
    display: block;
    width: 100%;
    height: auto;
}

/* Sezione CTA finale: immagine a sinistra, contenuto a destra */
body.body-stage .stage-interactions-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-interactions-cta__inner {
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    }
}

body.body-stage .stage-interactions-cta__media {
    margin: 0;
    border-radius: var(--radius-md, 1rem);
    overflow: hidden;
}

body.body-stage .stage-interactions-cta__media img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

body.body-stage .stage-interactions-cta__title {
    margin: 0;
    font-size: var(--stage-fs-h1);
    line-height: 1.05;
    letter-spacing: -0.02em;
}

body.body-stage .stage-interactions-cta__copy.stage-copy-flow > .stage-interactions-cta__title + .stage-interactions-cta__text {
    margin-top: var(--stage-space-text);
}

body.body-stage .stage-interactions-cta__copy.stage-copy-flow > .stage-interactions-cta__text + .stage-interactions-cta__actions {
    margin-top: var(--stage-space-cta);
}

body.body-stage .stage-interactions-cta__text {
    margin: 0;
    max-width: 46ch;
    color: var(--color-secondary-700);
    font-size: var(--stage-fs-p-large);
}

body.body-stage .stage-interactions-cta__actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

/* Sezione "dettaglio": titolo + griglia di 6 icone con descrizione */
body.body-stage .stage-interactions-detail__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(2.5rem, 5vw, 4rem);
}

body.body-stage .stage-interactions-detail__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.1;
    letter-spacing: -0.02em;
    max-width: 22ch;
}

body.body-stage .stage-interactions-detail__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3.5rem);
}

@media (min-width: 40rem) {
    body.body-stage .stage-interactions-detail__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    body.body-stage .stage-interactions-detail__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

body.body-stage .stage-interactions-detail__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

body.body-stage .stage-interactions-detail__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0.7rem;
    border: 1px solid var(--color-third-300, #e7e7e7);
    border-radius: 0.85rem;
    color: var(--color-primary-500);
    background: #fff;
}

body.body-stage .stage-interactions-detail__icon svg {
    display: block;
}

body.body-stage .stage-interactions-detail__icon svg use {
    fill: currentColor;
}

body.body-stage .stage-interactions-detail__item-title {
    margin: 0;
    font-size: var(--stage-fs-h6);
    font-weight: 600;
    line-height: 1.3;
    color: #000;
}

body.body-stage .stage-interactions-detail__item-text {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    line-height: 1.55;
    color: var(--color-secondary-600, #505050);
}

/* Sezione statement: testo che si riempie di nero allo scroll */
body.body-stage .stage-interactions-statement {
    padding-block: clamp(4rem, 12vw, 9rem);
}

body.body-stage .stage-interactions-statement__text {
    max-width: 800px;
    margin-inline: auto;
    font-size: var(--stage-fs-h1);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 600;
    text-align: center;
}

body.body-stage .stage-interactions-statement__word {
    color: var(--color-secondary-250, #c7c7c7);
    transition: color 0.35s ease;
}

body.body-stage .stage-interactions-statement__word.is-on {
    color: #000;
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-interactions-hero__wall-inner > .stage-interactions-hero__col:nth-child(3) {
        display: none;
    }
}

/* Stage blog page */
body.body-stage .stage-blog-page {
    padding-top: calc(clamp(2.6rem, 5.4vw, 4.8rem) + var(--stage-navbar-height, 4.25rem) + var(--stage-blog-subnav-height, 3rem));
    padding-bottom: clamp(2.6rem, 5.4vw, 4.8rem);
}

body.body-stage .stage-blog-page__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(3.5rem, 7vw, 5.5rem);
}

body.body-stage .stage-blog-page__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.2rem, 2.6vw, 2rem);
    align-items: center;
}

body.body-stage .stage-blog-page__hero-copy {
    max-width: 40rem;
}

@media (min-width: 62rem) {
    body.body-stage .stage-blog-page__hero {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

body.body-stage .stage-blog-page__hero-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    width: fit-content;
}

body.body-stage .stage-blog-page__hero-meta-current {
    color: #000;
}

body.body-stage .stage-blog-page__hero-badge {
    margin: 0;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.18);
    font-size: var(--stage-fs-p-data);
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #000;
    background: #fff;
}

body.body-stage .stage-blog-page__hero-title {
    margin: 0;
    font-size: var(--stage-fs-h3);
    line-height: 1.05;
    letter-spacing: -0.02em;
}

body.body-stage .stage-blog-page__hero-text {
    margin: 0;
    color: var(--color-secondary-700);
    font-size: var(--stage-fs-p);
}

body.body-stage .stage-blog-page__hero-copy.stage-copy-flow > * + * {
    margin-top: var(--stage-space-text);
}

body.body-stage .stage-blog-page__hero-copy.stage-copy-flow > .stage-copy-cta {
    margin-top: var(--stage-space-cta);
}

body.body-stage .stage-blog-page__hero-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

body.body-stage .stage-blog-page__hero-media {
    display: block;
    border-radius: var(--radius-lg);
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.08);
}

body.body-stage .stage-blog-page__hero-media img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-blog-page__hero-media {
        order: -1;
    }
}

body.body-stage .stage-blog-page__section {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2.2vw, 1.6rem);
}

body.body-stage .stage-blog-page .section-blog-stage__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(2.2rem, 5vw, 3.4rem);
    column-gap: clamp(1rem, 2.5vw, 1.5rem);
}

@media (min-width: 56.26rem) {
    body.body-stage .stage-blog-page .section-blog-stage__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: clamp(3.8rem, 6vw, 5.6rem);
        column-gap: clamp(0.9rem, 2vw, 1.5rem);
    }
}

body.body-stage .stage-blog-page__section-title {
    margin: 0;
    font-size: var(--stage-fs-h3);
    line-height: 1.1;
    letter-spacing: -0.012em;
}

body.body-stage .stage-blog-page__cta {
    background: #121318;
    border-radius: var(--radius-lg);
    padding: clamp(2.4rem, 5vw, 3.6rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.9rem;
    text-align: center;
}

body.body-stage .stage-blog-page__cta-title {
    margin: 0;
    color: #fff;
    font-size: var(--stage-fs-h3);
    line-height: 1.1;
    text-align: center;
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-blog-page__cta {
        padding: 2.8rem 1.6rem;
    }
}

/* Stage template detail page */
body.body-stage .stage-template-detail {
    padding-top: calc(clamp(2rem, 4vw, 3rem) + var(--stage-navbar-height, 4.25rem));
    padding-bottom: clamp(2.6rem, 5.4vw, 4.8rem);
}

body.body-stage .stage-template-detail__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(2.5rem, 5vw, 4rem);
}

body.body-stage .stage-template-detail__breadcrumb {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    width: fit-content;
}

body.body-stage .stage-template-detail__breadcrumb-current {
    color: #000;
}

body.body-stage .stage-template-detail__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stage-space-layout);
    align-items: center;
}

@media (min-width: 62rem) {
    body.body-stage .stage-template-detail__hero {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    }
}

body.body-stage .stage-template-detail__copy {
    max-width: 40rem;
}

body.body-stage .stage-template-detail__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
}

body.body-stage .stage-template-detail__meta .section-templates__intro {
    margin: 0;
}

body.body-stage .stage-template-detail__price {
    margin: 0;
    font-size: var(--stage-fs-caption);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

body.body-stage .stage-template-detail__price.is-free {
    color: #0e7a37;
}

body.body-stage .stage-template-detail__title {
    margin: 0;
    font-size: var(--stage-fs-h2);
    line-height: 1.06;
    font-weight: 400;
    letter-spacing: -0.03em;
}

body.body-stage .stage-template-detail__text {
    margin: 0;
    font-size: var(--stage-fs-p);
    line-height: 1.62;
    color: var(--color-secondary-700);
}

body.body-stage .stage-template-detail__highlights {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.55rem;
}

body.body-stage .stage-template-detail__highlights li {
    position: relative;
    padding-left: 1.1rem;
    font-size: var(--stage-fs-p-small);
    line-height: 1.5;
    color: rgba(0, 0, 0, 0.78);
}

body.body-stage .stage-template-detail__highlights li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 50%;
    background-color: var(--color-primary-500, #2563eb);
}

body.body-stage .stage-template-detail__actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1rem;
}

body.body-stage .stage-template-detail__media {
    margin: 0;
    border-radius: var(--radius-sm);
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background-color: #fff;
}

body.body-stage .stage-template-detail__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center top;
}

body.body-stage .stage-template-detail__sections {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.25rem);
}

@media (min-width: 62rem) {
    body.body-stage .stage-template-detail__sections {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }
}

body.body-stage .stage-template-detail__section-card {
    display: flex;
    flex-direction: column;
    gap: var(--stage-space-text);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--radius-sm);
    padding: clamp(1.1rem, 2vw, 1.35rem);
    background: #fff;
    min-height: 100%;
}

body.body-stage .stage-template-detail__section-title {
    margin: 0;
    font-size: var(--stage-fs-a);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

body.body-stage .stage-template-detail__section-text {
    margin: 0;
    font-size: var(--stage-fs-p-small);
    line-height: 1.55;
    color: var(--color-secondary-700);
}

body.body-stage .stage-template-detail__service-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.75rem;
}

body.body-stage .stage-template-detail__service-item {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

body.body-stage .stage-template-detail__service-name {
    font-size: var(--stage-fs-p-small);
    font-weight: 600;
    line-height: 1.35;
    color: #000;
}

body.body-stage .stage-template-detail__service-desc {
    font-size: var(--stage-fs-caption);
    line-height: 1.45;
    color: var(--color-secondary-700);
}

body.body-stage .stage-template-detail__cta {
    padding: clamp(1.75rem, 3.5vw, 2.5rem);
    border-radius: var(--radius-sm);
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.04) 100%);
}

body.body-stage .stage-template-detail__cta-copy {
    max-width: 42rem;
}

body.body-stage .stage-template-detail__cta-title {
    margin: 0;
    font-size: var(--stage-fs-h3);
    line-height: 1.12;
    letter-spacing: -0.02em;
}

body.body-stage .stage-template-detail__cta-text {
    margin: 0;
    font-size: var(--stage-fs-p);
    line-height: 1.55;
    color: var(--color-secondary-700);
}

body.body-stage .stage-template-detail__cta-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1rem;
}

@media (max-width: 56.25rem) {
    body.body-stage .stage-template-detail__hero {
        gap: clamp(1.5rem, 4vw, 2rem);
    }

    body.body-stage .stage-template-detail__cta {
        text-align: left;
    }
}

/* Mobile hard override: keep hero and lead section centered */
@media (max-width: 56.25rem) {
    body.body-stage main .section-hero-title.text-center {
        text-align: center;
    }

    body.body-stage .section-hero-wrapper,
    body.body-stage .section-hero-center-wrapper,
    body.body-stage .section-hero-title,
    body.body-stage .section-hero-description {
        text-align: center;
    }

    body.body-stage .section-hero-wrapper,
    body.body-stage .section-hero-center-wrapper {
        align-items: center;
    }

    body.body-stage .section-hero-title {
        font-size: var(--stage-fs-h1);
    }

    body.body-stage .section-basic__lead-title {
        font-size: var(--stage-fs-h2);
    }

    body.body-stage .section-hero-button-wrapper {
        justify-content: center;
    }

    body.body-stage .section-hero-preview {
        margin-inline: auto;
    }

    body.body-stage .section-hero-word-rotator {
        justify-content: center;
        margin-left: 0;
    }

    body.body-stage .section-hero-word-rotator__inner {
        text-align: center;
    }

    body.body-stage .section-basic__main,
    body.body-stage .section-basic__aside,
    body.body-stage .section-basic__copy,
    body.body-stage .section-basic__lead-highlight,
    body.body-stage .section-basic__lead-title,
    body.body-stage .section-basic__lede {
        text-align: center;
    }

    body.body-stage .section-basic__aside,
    body.body-stage .section-basic__actions {
        align-items: center;
        justify-content: center;
    }

    body.body-stage .section-basic__lead-intro {
        justify-content: center;
        margin-inline: auto;
    }
}

/* Mobile: first section-basic (intro/headline/lede/cta) left aligned */
@media (max-width: 56.25rem) {
    body.body-stage .section-basic.stage-section:not(.section-basic--lead-quote) .section-basic__main,
    body.body-stage .section-basic.stage-section:not(.section-basic--lead-quote) .section-basic__aside,
    body.body-stage .section-basic.stage-section:not(.section-basic--lead-quote) .section-basic__headline,
    body.body-stage .section-basic.stage-section:not(.section-basic--lead-quote) .section-basic__lede,
    body.body-stage .section-basic.stage-section:not(.section-basic--lead-quote) .section-basic__brand,
    body.body-stage .section-basic.stage-section:not(.section-basic--lead-quote) .section-basic__brand-word {
        text-align: left;
    }

    body.body-stage .section-basic.stage-section:not(.section-basic--lead-quote) .section-basic__aside {
        align-items: flex-start;
    }

    body.body-stage .section-basic.stage-section:not(.section-basic--lead-quote) .section-basic__actions {
        justify-content: flex-start;
    }

    body.body-stage .section-basic.stage-section:not(.section-basic--lead-quote) .section-basic__brand {
        display: block;
        text-align: left;
        align-self: flex-start;
        margin-right: auto;
    }
}

/* Semantic lists: layout invariato, solo reset lista */
body.body-stage :is(
    .section-steps-stage__list,
    .section-why-stage__cards,
    .stage-realization-features__grid,
    .stage-design-success__grid,
    .stage-security-related__grid,
    .stage-support-suggested,
    .stage-support-topics,
    .section-faq-stage__list,
    .section-navbar-mega-links,
    .section-footer-stage__socials
) {
    list-style: none;
    margin: 0;
    padding: 0;
}

body.body-stage :is(
    .section-steps-stage__list,
    .section-why-stage__cards,
    .stage-realization-features__grid,
    .stage-design-success__grid,
    .stage-security-related__grid,
    .section-faq-stage__list,
    .stage-support-topics
) > li {
    display: contents;
}

body.body-stage .section-navbar-mega-links {
    display: flex;
    flex-direction: column;
    gap: 0.16rem;
}

body.body-stage .stage-blog-page__hero-title--page {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
