@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap");

/* #region @LAYER e @PROPERTY */

@layer properties {
    @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
        *, :before, :after, ::backdrop {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-rotate-x: rotateX(0);
            --tw-rotate-y: rotateY(0);
            --tw-rotate-z: rotateZ(0);
            --tw-skew-x: skewX(0);
            --tw-skew-y: skewY(0);
            --tw-space-y-reverse: 0;
            --tw-border-style: solid;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
        }
    }
}

@layer theme {
    :root, :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --spacing: .25rem;
        --text-2xl--line-height: calc(2 / 1.5);
        --text-3xl--line-height: calc(2.25 / 1.875);
        --text-4xl--line-height: calc(2.5 / 2.25);
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-font-feature-settings: var(--font-sans--font-feature-settings);
        --default-font-variation-settings: var(--font-sans--font-variation-settings);
        --default-mono-font-family: var(--font-mono);
        --default-mono-font-feature-settings: var(--font-mono--font-feature-settings);
        --default-mono-font-variation-settings: var(--font-mono--font-variation-settings);
    }
}

@layer base {
    *, :after, :before, ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0;
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0;
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        --lightningcss-light: initial;
        color-scheme: light;
        background-color: #0000;
        border-radius: 0;
        margin-inline-end: 4px;
        appearance: button;
    }

    html, :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent;
    }

    body {
        line-height: inherit;
        background-color: #fff;
        color: #0a0a0a;
        scrollbar-width: none;
        -ms-overflow-style: none;
        max-width: 100vw;
        font-family: Montserrat, sans-serif;
        overflow-x: hidden;
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px;
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted;
    }

    h1, h2, h3, h4, h5, h6 {
        font-size: inherit;
        font-weight: inherit;
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit;
    }

    b, strong {
        font-weight: bolder;
    }

    code, kbd, samp, pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em;
    }

    small {
        font-size: 80%;
    }

    sub, sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative;
    }

    sub {
        bottom: -.25em;
    }

    sup {
        top: -.5em;
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse;
    }

    :-moz-focusring {
        outline: auto;
    }

    progress {
        vertical-align: baseline;
    }

    summary {
        display: list-item;
    }

    ol, ul, menu {
        list-style: none;
    }

    img, svg, video, canvas, audio, iframe, embed, object {
        vertical-align: middle;
        display: block;
    }

    img, video {
        max-width: 100%;
        height: auto;
    }

    button, input, select, optgroup, textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        --lightningcss-light: initial;
        --lightningcss-dark:;
        color-scheme: light;
        background-color: #0000;
        border-radius: 0;
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder;
    }

        :where(select:is([multiple], [size])) optgroup option {
            padding-inline-start: 20px;
        }

    ::placeholder {
        opacity: 1;
        color: currentColor;
    }

    textarea {
        resize: vertical;
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none;
    }

    :-moz-ui-invalid {
        box-shadow: none;
    }

    button, input:where([type="button"], [type="reset"], [type="submit"]) {
        appearance: button;
    }

    ::-webkit-inner-spin-button {
        height: auto;
    }

    ::-webkit-outer-spin-button {
        height: auto;
    }

    [hidden]:where(:not([hidden="until-found"])) {
        display: none !important;
    }

    * {
        border-color: #0000001a;
        outline-color: #a1a1a1;
        box-sizing: border-box;
    }
}

@property --tw-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

@property --tw-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

@property --tw-translate-z {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false;
    initial-value: rotateX(0);
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false;
    initial-value: rotateY(0);
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false;
    initial-value: rotateZ(0);
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false;
    initial-value: skewX(0);
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false;
    initial-value: skewY(0);
}

@property --tw-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid;
}

@property --tw-gradient-position {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000;
}

@property --tw-gradient-via {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000;
}

@property --tw-gradient-to {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000;
}

@property --tw-gradient-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-via-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0%;
}

@property --tw-gradient-via-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 50%;
}

@property --tw-gradient-to-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-leading {
    syntax: "*";
    inherits: false
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-tracking {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0;
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff;
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-duration {
    syntax: "*";
    inherits: false
}

@property --tw-ease {
    syntax: "*";
    inherits: false
}

@property --tw-scale-x {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}

@property --tw-scale-y {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}

@property --tw-scale-z {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}

/* #endregion */

/* #region GLOBALI */

@keyframes methodBoxColor {
    0% {
        background: #cfcfcf;
    }

    33% {
        background: #b3be35;
    }

    66% {
        background: #f37021;
    }

    100% {
        background: #cfcfcf;
    }
}

@keyframes float {
    0%, 100% {
        transform: translateY(0);
    }

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

@keyframes spin-slow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

html {
    font-size: 16px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-width: 100vw;
    overflow-x: hidden;
}

    html::-webkit-scrollbar {
        display: none;
    }

body::-webkit-scrollbar {
    display: none;
}

* {
    box-sizing: border-box;
}

img {
    -webkit-user-drag: none;
    user-select: none;
    -webkit-user-select: none;
}

.icon_white {
    filter: brightness(0) saturate(100%) invert(100%) sepia(4%) saturate(7430%) hue-rotate(335deg) brightness(116%) contrast(101%);
}

.icon_green {
    filter: brightness(0) saturate(100%) invert(52%) sepia(69%) saturate(472%) hue-rotate(26deg) brightness(102%) contrast(97%);
}

.icon_orange {
    filter: brightness(0) saturate(100%) invert(51%) sepia(16%) saturate(6304%) hue-rotate(350deg) brightness(100%) contrast(91%);
}

.icon_blue {
    filter: brightness(0) saturate(100%) invert(25%) sepia(92%) saturate(3369%) hue-rotate(219deg) brightness(99%) contrast(99%);
}

.icon_green_big {
    width: 48px;
    height: 48px;
    filter: brightness(0) saturate(100%) invert(50%) sepia(61%) saturate(5838%) hue-rotate(122deg) brightness(98%) contrast(83%);
}

.icon_orange_big {
    width: 40px;
    height: 40px;
    filter: brightness(0) saturate(100%) invert(51%) sepia(16%) saturate(6304%) hue-rotate(350deg) brightness(100%) contrast(91%);
}

.icon_blue_big {
    width: 48px;
    height: 48px;
    filter: brightness(0) saturate(100%) invert(25%) sepia(92%) saturate(3369%) hue-rotate(219deg) brightness(99%) contrast(99%);
}

.icon_base {
    width: 100px;
    height: 100px;
    margin: auto 0 10px 0;
}

.icon_centered {
    width: 80px;
    height: 80px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon_big {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 16px auto 34px;
}

.card-title {
    margin-bottom: 8px;
    font-weight: 700;
    color: #101828;
}

.card-actions {
    margin-top: auto;
    display: flex;
    justify-content: flex-end;
}

.card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #155dfc;
}

/* BLOCCO CONDIVISO 'I VANTAGGI' */

.benefits-section {
    padding: 32px 0;
    background: #fff;
}

.benefits-container {
    max-width: 80rem;
    margin: 0 auto;
}

.benefits-title {
    font-size: 24px;
    text-transform: uppercase;
    color: #0f172a;
    margin: 0 0 10px 0;
}

.benefits-intro {
    margin: 0 0 28px 0;
    color: #475569;
    font-size: 16px;
    line-height: 1.7;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.benefit-card {
    background: #fbf9fa;
    border: 1px solid #0000001a;
    border-radius: 16px;
    padding: 22px 22px 18px 22px;
}

    .benefit-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 18px 40px rgba(15, 23, 42, .10);
    }

.benefit-heading {
    margin: 0 0 12px 0;
    color: #f37021;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 400;
}

.benefit-heading-green {
    margin: 0 0 12px 0;
    color: #b3be35;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 400;
}

.benefit-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

    .benefit-list li {
        display: grid;
        grid-template-columns: 14px minmax(0, 1fr);
        column-gap: 10px;
        align-items: start;
        font-size: 14px;
        color: #334155;
        line-height: 1.7;
    }

.benefit-mark {
    display: block;
    width: 14px;
    font-size: 24px;
    line-height: 1;
    font-weight: 800;
    text-align: center;
}

.benefit-mark--plus {
    color: #16a34a;
}

.benefit-mark--minus {
    color: #ef4444;
}

/* BLOCCO CONDIVISO 'DOMANDE FREQUENTI' */

.faq-section {
    padding: 32px 0;
    background: #fff;
}

.faq-container {
    max-width: 80rem;
    margin: 0 auto;
}

.faq-title {
    font-size: 24px;
    text-transform: uppercase;
    margin: 0 0 10px;
}

.faq-subtitle {
    color: #4b5563;
    font-size: 18px;
    line-height: 1.6;
    margin: 0 0 26px;
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.faq-item {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
}

    .faq-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 40px rgba(15,23,42,.08);
    }

    .faq-item.is-open .faq-chevron {
        transform: rotate(180deg);
    }

    .faq-item.is-open .faq-question {
        background: #fff7ed;
    }

.faq-question {
    width: 100%;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    padding: 18px;
    background: transparent;
    border: 0;
    text-align: left;
    font-size: 15px;
    line-height: 1.35;
    color: #0f172a;
    cursor: pointer;
}

.faq-chevron {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #f97316;
    transition: transform .2s ease;
    flex: 0 0 22px;
}

    .faq-chevron.is-rotated {
        rotate: 180deg;
    }

    .faq-chevron img {
        display: block;
    }

.faq-answer {
    color: #4a5565;
    font-size: .875rem;
    line-height: 1.625;
    border-top: 1px solid #eef2f7;
}

.faq-answer-inner {
    padding: 14px 18px 18px;
    color: #4b5563;
    line-height: 1.6;
    font-size: 12px;
}

/* #endregion */

/* #region JS */

[data-slider] {
    --hero-accent: #2563eb;
    --hero-accent-soft: rgba(37, 99, 235, 0.85);
    --hero-accent-alt-soft: rgba(96, 165, 250, 0.75);
    --hero-accent-alt2-soft: rgba(99, 102, 241, 0.70);
}

.hero-indicator-dot {
    height: 4px;
    border-radius: 9999px;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: .3s;
}

.ad-doc-faq-section {
    padding: 64px 0 78px;
    background: #fff;
}

.faq-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    text-align: left;
    background: transparent;
    cursor: pointer;
}

.faq-panel {
    padding-right: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
}

.portfolio-filter-button {
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);
    border-radius: 9999px;
    border: 1px solid;
    font-size: .875rem;
}

.portfolio-item {
    position: relative;
    width: 100%;
    display: block;
    margin: 0 0 16px 0;
    break-inside: avoid;
    border-radius: 20px;
    overflow: hidden;
    background: #f3f4f6;
    border: 1px solid rgba(17,24,39,.08);
    box-shadow: 0 8px 20px rgba(17,24,39,.06);
    transition: transform .25s ease, box-shadow .25s ease;
}

    .portfolio-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 30px rgba(17,24,39,.10);
    }

    .portfolio-item img {
        width: 100%;
        height: auto;
        display: block;
    }

.portfolio-item__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 18px;
    color: #fff;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .22s ease, transform .22s ease;
    background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 68%, rgba(0,0,0,.78) 100%);
}

.portfolio-item:hover .portfolio-item__overlay {
    opacity: 1;
    transform: translateY(0);
}

.portfolio-item__pill {
    align-self: flex-start;
    background: #f37021;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 999px;
    box-shadow: 0 10px 18px rgba(243,112,33,.18);
}

.portfolio-item__title {
    margin-top: 12px;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 600;
}

.portfolio-item__desc {
    margin-top: 8px;
    color: rgba(255,255,255,.80);
    font-size: 14px;
    line-height: 1.45;
    max-width: 46ch;
}

.contact-form {
    width: 100%;
}

.is-flex-visible {
    display: flex !important;
}

.is-hidden {
    display: none !important;
}

.is-hero-text-hidden {
    opacity: 0;
    --tw-translate-y: 16px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
}

.is-hero-text-visible {
    opacity: 1;
    --tw-translate-y: 0;
    translate: var(--tw-translate-x) var(--tw-translate-y);
}

/* #endregion */

/* #region HOMEPAGE */

.index__page-body {
    background-color: #fff;
}

.index__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.index__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.index__hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 128px;
    padding-bottom: 80px;
}

.index__hero-background {
    position: absolute;
    inset: 0;
}

.index__overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.index__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
}

.index__grid {
    display: grid;
    align-items: center;
    gap: 48px;
}

.index__content-stack > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 32px;
}

.index__badge {
    display: inline-block;
    border-radius: 999px;
    background-color: #fffc;
    padding-inline: 16px;
    padding-block: 8px;
    color: #000;
}

.index__h1-title {
    color: #000;
}

.index__flex-row {
    display: flex;
    height: 128px;
    align-items: center;
}

.index__hero-text {
    font-size: 1.5rem;
    line-height: 1.625;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: .5s;
    --tw-duration: .5s;
    color: #2563eb;
    max-width: 540px;
}

.index__hero-indicators {
    display: flex;
    gap: 8px;
}

.index__flex-row-2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.index__action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    padding-inline: 32px;
    padding-block: 16px;
    color: #fff;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #2563eb;
}

    .index__action-link:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.index__content-stack-2 {
    margin-top: 48px;
    padding-top: 32px;
    max-width: 540px;
}

    .index__content-stack-2 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 16px;
    }

.index__h3-title {
    font-size: 1.5rem;
    color: #000;
}

.index__text {
    font-size: 1.125rem;
    line-height: 1.625;
    color: #000;
}

.index__section1 {
    padding: 32px 0;
}

.index__content-block {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 32px;
}

.index__h2-title {
    text-align: center;
    font-weight: 400;
    color: #636466;
    font-size: 48px;
}

.index__grid-2 {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.index__card-4 {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 16px;
    padding: 28px 26px;
    box-shadow: 0 8px 24px rgba(15,23,42,.06);
}

.icon_gray_home {
    width: 80px;
    height: 80px;
    margin-bottom: 18px;
}

.index__h3-title-2 {
    font-size: 18px;
    line-height: 1.25;
    font-weight: 500;
    color: #0f172a;
    margin: 0 0 18px 0;
}

.index__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}

    .index__list li {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 18px;
        color: #334155;
    }

    .index__list .sign {
        width: 14px;
        font-size: 24px;
        display: inline-flex;
        justify-content: center;
        font-weight: 800;
    }

    .index__list li.is-plus .sign {
        color: #16a34a;
    }

    .index__list li.is-minus .sign {
        color: #ef4444;
    }

.index__text-3 {
    max-width: 80rem;
    margin: 52px auto 0 auto;
    text-align: center;
    color: #64748b;
    font-size: 18px;
    line-height: 1.7;
}

.index__section2 {
    background: #fff;
    padding: 32px 0 32px 0;
}

.index__header {
    text-align: center;
}

.index__h2-title-2 {
    font-size: 48px;
    font-weight: 400;
    color: #9aa817;
    margin: 0;
}

.index__text-4 {
    margin: 18px auto 0 auto;
    color: #475569;
    font-size: 20px;
    line-height: 1.6;
    max-width: 760px;
}

.index__grid-3 {
    margin-top: 54px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.index__card-5 {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    padding: 34px 34px 28px 34px;
    box-shadow: 0 10px 26px rgba(15,23,42,.06);
    display: flex;
    flex-direction: column;
    min-height: 520px;
    transition: transform .18s ease, box-shadow .18s ease;
}

.index__content-block-4 {
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
}

    .index__content-block-4 img {
        display: block;
        height: 72px;
        width: auto;
        object-fit: contain;
    }

.index__h3-title-3 {
    margin: 0 0 12px 0;
    font-size: 20px;
    font-weight: 600;
    color: #0f172a;
}

.index__text-5 {
    margin: 0 0 18px 0;
    color: #64748b;
    line-height: 1.7;
    font-size: 16px;
}

.index__list-2 {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
}

    .index__list-2 li {
        position: relative;
        padding-left: 18px;
    }

        .index__list-2 li::before {
            content: "";
            width: 6px;
            height: 6px;
            border-radius: 999px;
            background: #1d4ed8;
            position: absolute;
            left: 0;
            top: 0.65em;
        }

.index__scopri-di-pi-link {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #1d4ed8;
    text-decoration: none;
    font-weight: 500;
    justify-content: flex-end;
    padding-top: 26px;
}

    .index__scopri-di-pi-link span {
        font-size: 22px;
        line-height: 1;
    }

.index__section3 {
    background: #fff;
    padding: 34px 0 96px 0;
}

.home-highlight-card {
    display: grid;
    grid-template-columns: 1.2fr .9fr;
    gap: 30px;
    padding: 34px;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 20px;
    box-shadow: 0 10px 26px rgba(15,23,42,.06);
}

.index__content-block-5 img {
    height: 54px;
    width: auto;
    display: block;
}

.index__h3-title-4 {
    margin: 18px 0 8px 0;
    font-size: 20px;
    font-weight: 600;
    color: #0f172a;
}

.index__text-6 {
    margin: 0 0 18px 0;
    color: #64748b;
    font-size: 16px;
    line-height: 1.7;
}

.index__scopri-di-pi-link-2 {
    margin-top: 18px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #1d4ed8;
    text-decoration: none;
    font-weight: 500;
}

.home-highlight-right {
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-video-preview {
    position: relative;
    width: 100%;
    height: 350px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 0;
    border-radius: 16px;
    text-decoration: none;
}

.index__section4 {
    background: #f8fafc;
    padding: 32px 0;
}

.index__content-block-6 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
}

.index__h2-title-3 {
    font-size: 48px;
    font-weight: 400;
    color: #f37021;
    margin: 0;
}

.index__text-7 {
    margin: 18px auto 0 auto;
    color: #475569;
    font-size: 20px;
    line-height: 1.6;
    max-width: 760px;
}

.index__card-6 {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    padding: 34px 34px 28px 34px;
    box-shadow: 0 10px 26px rgba(15,23,42,.06);
    display: flex;
    flex-direction: column;
    min-height: 520px;
    transition: transform .18s ease, box-shadow .18s ease;
}

.icon_orange_home {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 22px auto;
}

.index__h3-title-5 {
    margin: 0 0 12px 0;
    font-size: 20px;
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    overflow: visible;
}

.index__text-8 {
    margin: 0 0 18px 0;
    color: #64748b;
    line-height: 1.7;
    font-size: 16px;
    min-height: 5.1em;
}

.index__list-3 {
    margin: 10px 0 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
}

    .index__list-3 li {
        position: relative;
        padding-left: 18px;
    }

        .index__list-3 li::before {
            content: "";
            width: 6px;
            height: 6px;
            border-radius: 999px;
            background: #f37021;
            position: absolute;
            left: 0;
            top: 0.65em;
        }

.index__scopri-di-pi-link-3 {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #f37021;
    text-decoration: none;
    font-weight: 500;
    justify-content: flex-end;
    align-self: flex-end;
    padding-top: 18px;
}

    .index__scopri-di-pi-link-3 span {
        font-size: 22px;
    }

.index__section5 {
    background: #f3f6fb;
    padding: 92px 0;
}

.index__h2-title-4 {
    margin: 0;
    font-size: 35px;
    line-height: 1.18;
    font-weight: 500;
    color: #0f172a;
    margin-bottom: 32px;
}

.index__grid-4 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.index__content-block-8 {
    width: 700px;
    height: 447px;
}

.index__content-block-18 {
    margin-left: 200px;
}

.index__text-9 {
    margin: 0;
    color: #475569;
    font-size: 16.5px;
    line-height: 1.75;
    max-width: 520px;
}

.index__list-4 {
    margin: 26px 0 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 14px;
}

    .index__list-4 li {
        display: flex;
        align-items: center;
        gap: 12px;
        color: #334155;
        font-size: 16px;
    }

.index__inline-marker {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(37,99,235,.14);
    color: #2563eb;
    font-size: 13px;
    flex: 0 0 22px;
}

.index__parliamo-del-tuo-progetto-link {
    margin-top: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 26px;
    border-radius: 10px;
    background: #2563eb;
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    box-shadow: 0 12px 26px rgba(37,99,235,.22);
}

.index__section6 {
    background: radial-gradient(110% 130% at 15% 10%, #1e6cff 0%, #2f4df7 40%, #3b35e7 100%);
    color: #fff;
    padding: 64px 0;
}

.index__content-block-10 {
    text-align: center;
    padding: 0 8px;
}

.index__text-10 {
    margin: 0;
    font-size: 25px;
}

.index__h2-title-5 {
    margin: 20px 0 0 0;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 500;
}

.index__content-block-11 {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.index__contattaci-link,
.index__richiedi-una-demo-delle-nostre-solu-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 500;
}

.index__contattaci-link {
    background: #ffffff;
    color: #1e40af;
    box-shadow: 0 16px 30px rgba(0,0,0,.18);
}

.index__richiedi-una-demo-delle-nostre-solu-link {
    background: rgba(255,255,255,.08);
    color: #fff;
    border: 1px solid rgba(255,255,255,.28);
}

    .index__richiedi-una-demo-delle-nostre-solu-link:hover {
        background-color: #fff3;
    }

.index__inline-marker-2 {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.index__content-block-12 {
    margin-top: 48px;
    padding-top: 34px;
    border-top: 1px solid rgba(255,255,255,.20);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.index__content-block-13 {
    text-align: center;
}

.index__content-block-14 {
    font-size: 44px;
    font-weight: 500;
}

.index__content-block-15 {
    margin-top: 8px;
    font-size: 14px;
    opacity: .90;
}

.index__section7 {
    background: #fff;
    padding: 48px 0 72px 0;
}

.index__text-11 {
    margin: 0;
    text-align: center;
    font-size: 18px;
    color: #64748b;
}

.index__content-block-16 {
    margin-top: 26px;
    overflow: hidden;
    position: relative;
}

    .index__content-block-16:before,
    .index__content-block-16:after {
        content: "";
        position: absolute;
        top: 0;
        width: 90px;
        height: 100%;
        z-index: 2;
        pointer-events: none;
    }

    .index__content-block-16:before {
        left: 0;
        background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,0) 100%);
    }

    .index__content-block-16:after {
        right: 0;
        background: linear-gradient(270deg, #fff 0%, rgba(255,255,255,0) 100%);
    }

@keyframes homeClientsMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.index__content-block-17 {
    display: flex;
    gap: 64px;
    align-items: center;
    width: max-content;
    padding: 10px 0;
    animation: homeClientsMarquee 60s linear infinite;
}

    .index__content-block-17 img {
        height: 83px;
        width: auto;
        opacity: .55;
    }

/* #endregion */

/* #region SIDEBAR */

.sidebar__card {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 50;
    display: flex;
    height: 64px;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    padding-inline: 16px;
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.sidebar__logo-ambienti-digitali-image {
    height: 32px;
    width: auto;
}

.sidebar__button {
    padding: 8px;
    color: #364153;
}

    .sidebar__button:hover {
        color: #101828;
    }

.sidebar__content-block {
    position: fixed;
    inset: 0;
    z-index: 40;
    display: none;
    background-color: #000;
}

    .sidebar__content-block.is-overlay-visible {
        display: block;
    }

.sidebar__card-2 {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
    height: 100%;
    width: 256px;
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
    background-color: #fff;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

    .sidebar__card-2.is-nav-open {
        --tw-translate-x: 0;
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }

.sidebar__content-block-2 {
    height: 100%;
    overflow-y: auto;
    padding: 16px;
}

.sidebar__desktop-visual {
    margin-bottom: 16px;
    display: none;
    border-bottom: 1px solid #ebe6e7;
    padding-bottom: 12px;
}

.sidebar__content-block-3 {
    height: 8px;
}

.sidebar__content-stack > :not(:last-child) {
    --tw-space-y-reverse: 0;
    margin-block-start: 0;
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
}

.sidebar__content-stack-1 > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 0;
}

.sidebar__content-stack-2 {
    margin-left: 12px;
    border-left: 2px solid #ebe6e7;
    padding-left: 12px;
}

.sidebar-link,
.sidebar-link-xs {
    display: block;
    border-radius: 14px;
    padding-inline: 12px;
    padding-block: 6px;
    color: #364153;
    background-color: transparent;
}

.sidebar-link {
    font-size: .875rem;
}

.sidebar-link-xs {
    font-size: .75rem;
}

    .sidebar-link:hover,
    .sidebar-link-xs:hover {
        font-weight: 700;
    }

/* #endregion */

/* #region FOOTER */

.footer {
    width: 100%;
    overflow: hidden;
    background-color: #636466;
    color: #fff;
}

.footer__container {
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
    padding-block: 32px;
}

.footer__grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 32px;
    border-bottom: 1px solid #fff;
    padding-bottom: 32px;
}

.footer__logo-ambienti-digitali-image {
    margin-bottom: 32px;
    height: 65px;
}

.footer__content-stack {
    font-size: .875rem;
}

.footer__content-stack-1 {
    margin-top: 16px;
    font-size: .75rem;
}

    .footer__content-stack > :not(:last-child),
    .footer__content-stack-1 > :not(:last-child) {
        --tw-space-y-reverse: 0;
        margin-block-start: 0;
        margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }

.footer-link:hover {
    color: #51a2ff;
}

.footer__h3-title {
    margin-bottom: 16px;
    color: #fff;
}

.footer__flex-row {
    margin-bottom: 48px;
    display: flex;
    gap: 16px;
}

.footer__badge {
    display: flex;
    height: 40px;
    width: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background-color: #1e2939;
}

    .footer__badge:hover {
        background-color: #155dfc;
    }

.footer-image {
    filter: brightness(0) saturate(100%) invert(100%) sepia(4%) saturate(7430%) hue-rotate(335deg) brightness(116%) contrast(101%);
}

.footer__flex-row-2 {
    display: flex;
    align-items: center;
    gap: 24px;
}

.footer__logo-image {
    height: 32px;
    width: auto;
}

.footer__content-block {
    padding-top: 16px;
    text-align: center;
    font-size: .875rem;
}

/* #endregion */

/* #region CHI SIAMO */

.chi-siamo__page-body {
    background-color: #fff;
}

.chi-siamo__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.chi-siamo__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.chi-siamo__section {
    padding-inline: 32px;
    padding-top: 32px;
    padding-bottom: 80px;
}

.chi-siamo__container {
    margin-inline: auto;
    max-width: 80rem;
}

.chi-siamo__content-block {
    margin-bottom: 32px;
    text-align: center;
}

.chi-siamo__h1-title {
    margin-bottom: 16px;
    font-size: 300%;
    color: #b3be35;
}

.chi-siamo__grid {
    margin-bottom: 32px;
    display: grid;
    grid-template-columns: 40% 60%;
    align-items: center;
    gap: 10px;
}

    .chi-siamo__grid > div {
        min-width: 0;
    }

.chi-siamo__h2-title {
    color: #101828;
    font-size: 1.9rem;
}

.chi-siamo__image {
    display: block;
    height: auto;
    width: 100%;
    max-width: none;
    border-radius: 14px;
}

.chi-siamo__content-block-2 {
    margin-bottom: 32px;
}

.chi-siamo__text {
    width: 100%;
    font-size: 1.125rem;
    line-height: 1.625;
    color: #364153;
}

.chi-siamo__grid-2 {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    column-gap: 16px;
    row-gap: 12px;
    margin-top: 32px;
}

.chi-siamo__visual-frame {
    aspect-ratio: 1;
    border: 2px solid #000;
}

.chi-siamo__visual-frame2 {
    padding: 18px 14px;
    background: #f9fafb;
    border: 1px solid rgba(16, 24, 40, 0.06);
    border-radius: 16px;
    color: #101828;
    text-align: center;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

    .chi-siamo__visual-frame2::first-line {
        color: #101828;
        font-size: 1rem;
        font-weight: 500;
    }

    .chi-siamo__visual-frame:hover,
    .chi-siamo__visual-frame2:hover {
        transform: translateY(-4px);
        border-color: rgba(179, 190, 53, 0.45);
        box-shadow: 0 16px 40px rgba(16, 24, 40, 0.06);
    }

chi-siamo__person-name {
    min-height: 28px;
    margin-bottom: 6px;
    color: #101828;
    font-size: 1rem;
    font-weight: 500;
}

.chi-siamo__person-role {
    min-height: 60px;
    margin-bottom: 14px;
    color: #101828;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.4;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.chi-siamo__person-description {
    color: #344054;
    font-size: 0.9rem;
    font-weight: 300;
    line-height: 1.55;
}

.chi-siamo__section-2 {
    background-color: #f9fafb;
    padding-inline: 32px;
    padding-block: 32px;
}

.chi-siamo__grid-3 {
    display: grid;
    gap: 64px;
}

.chi-siamo__h2-title-2 {
    margin-bottom: 24px;
    color: #101828;
    font-size: 32px;
}

.chi-siamo__text-2 {
    line-height: 1.625;
    color: #364153;
}

.chi-siamo__content-stack > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 24px;
}

/* #endregion */

/* #region IL METODO */

.il-metodo__page-body {
    background-color: #fff;
}

.il-metodo__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.il-metodo__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.il-metodo__section {
    padding-inline: 32px;
    padding-top: 32px;
    padding-bottom: 80px;
}

.il-metodo__container {
    margin-inline: auto;
    max-width: 80rem;
}

.il-metodo__content-block {
    margin-bottom: 32px;
    text-align: center;
}

.il-metodo__h1-title {
    margin-bottom: 32px;
    font-size: 300%;
    color: #b3be35;
}

.il-metodo__container-2 {
    margin-inline: auto;
    font-size: 1.25rem;
    line-height: 1.5;
    color: #4a5565;
}

.il-metodo__content-block-2 {
    border-radius: 18px;
    padding: 56px;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 16px;
    color: #fff;
    background: #cfcfcf;
    animation: methodBoxColor 12s ease-in-out infinite;
}

.il-metodo__h3-title {
    font-size: 48px;
    line-height: 1.12;
    font-weight: 300;
}

.il-metodo__text {
    font-size: 20px;
    line-height: 1.7;
    color: rgba(255,255,255,0.9);
    margin-top: 32px;
}

.il-metodo__text-2 {
    font-size: 20px;
    line-height: 1.7;
    color: rgba(255,255,255,0.9);
    margin-top: 24px;
}

.method-phases-section {
    background: #f8fafc;
    padding: 48px 32px;
}

.il-metodo__content-block-3 {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.il-metodo__card {
    position: relative;
    background: #ffffff;
    border: 1px solid #eef2f7;
    border-radius: 24px;
    padding: 48px 56px;
    box-shadow: 0 12px 30px rgba(15,23,42,.06);
    overflow: hidden;
}

.phase-number {
    position: absolute;
    left: 36px;
    top: 32px;
    font-size: 128px;
    font-weight: 200;
    line-height: 1;
    opacity: .50;
    color: #cbd5e1;
    pointer-events: none;
    user-select: none;
}

.il-metodo__card:nth-of-type(2) .phase-number {
    color: #f37021;
}

.il-metodo__card:nth-of-type(3) .phase-number {
    color: #b3be35;
}

.phase-content {
    position: relative;
    padding-left: 160px;
}

.phase-title {
    margin: 0;
    color: #0f172a;
    font-size: 34px;
    font-weight: 400;
}

.phase-bullets {
    margin: 18px 0 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: #334155;
}

    .phase-bullets li {
        display: flex;
        align-items: center;
        gap: 12px;
    }

.phase-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    flex: 0 0 8px;
}

.phase-dot--muted {
    background: #cbd5e1;
}

.phase-dot--orange {
    background: #f37021;
}

.phase-dot--green {
    background: #b3be35;
}

.il-metodo__content-block-4 {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 26px;
    font-size: 15px;
    line-height: 1.9;
}

.il-metodo__content-block-5 {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.il-metodo__content-block-6 {
    font-weight: 700;
    color: #0f172a;
}

.il-metodo__content-block-7 {
    color: #475569;
}

.phase-cta {
    margin-top: 34px;
}

.phase-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 36px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 500;
    border: 2px solid;
    background: #fff;
    color: #94a3b8;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.phase-btn--gray {
    border-color: #94a3b8;
    color: #94a3b8;
}

.phase-btn--orange {
    border-color: #f37021;
    color: #f37021;
}

.phase-btn--green {
    border-color: #b3be35;
    color: #7a8615;
}

.phase-btn--orange:hover,
.phase-btn--orange:active,
.phase-btn--orange:focus-visible {
    background: #f37021;
    color: #fff;
}

.phase-btn--green:hover,
.phase-btn--green:active,
.phase-btn--green:focus-visible {
    background: #b3be35;
    color: #fff;
}

.phase-btn--gray:hover,
.phase-btn--gray:active,
.phase-btn--gray:focus-visible {
    background: #94a3b8;
    color: #fff;
}

.projects-section {
    background: #ffffff;
    padding: 64px 32px;
}

.projects-heading {
    max-width: 80rem;
    text-align: center;
}

.projects-title {
    margin: 0;
    color: #0f172a;
    font-size: 54px;
    font-weight: 400;
}

.projects-subtitle {
    margin: 12px 0 0 0;
    color: #64748b;
    font-size: 18px;
}

.projects-carousel {
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
}

.projects-nav {
    position: relative;
    transform: none;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 25px rgba(15,23,42,.10);
    background: rgba(255,255,255,.85);
    z-index: 5;
    cursor: pointer;
    background: #b3be35;
    color: #fff;
    border: none;
}

    .projects-nav.is-disabled {
        background: #eef1f5;
        color: #a7afbb;
        opacity: 1;
        cursor: default;
        pointer-events: none;
    }

    .projects-nav:disabled {
        background: #eef1f5;
        color: #a7afbb;
        opacity: 1;
        cursor: default;
        pointer-events: none;
    }

        .projects-nav.is-disabled img,
        .projects-nav:disabled img {
            filter: brightness(0) saturate(100%) invert(73%) sepia(8%) saturate(522%) hue-rotate(175deg) brightness(91%) contrast(83%);
        }

.projects-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 0 0 16px 0;
    scrollbar-width: none;
    width: 1128px;
    max-width: 100%;
    min-width: 0;
}

    .projects-track::-webkit-scrollbar {
        display: none;
    }

.project-card {
    flex: 0 0 360px;
    background: #fff;
    border: 1px solid #eef2f7;
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 12px 30px rgba(15,23,42,.06);
}

.project-title {
    margin: 0;
    color: #0f172a;
    font-size: 20px;
    font-weight: 700;
}

.project-desc {
    margin: 12px 0 0 0;
    color: #64748b;
    line-height: 1.6;
}

.project-label {
    margin-top: 22px;
    font-size: 14px;
    color: #94a3b8;
}

.project-tags {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.project-cta {
    margin-top: 26px;
}

    .project-cta a {
        color: #1b58ff;
        text-decoration: none;
        display: inline-flex;
        gap: 10px;
        align-items: center;
    }

.tag {
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 14px;
}

.tag--blue {
    background: #eaf2ff;
    color: #1b58ff;
}

.tag--green {
    background: #e9fbef;
    color: #138a3a;
}

/* #endregion */

/* #region MODELLAZIONE 3D */

.modellazione-3d__page-body {
    background-color: #fff;
}

.modellazione-3d__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.modellazione-3d__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.modellazione-3d__hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 128px;
    padding-bottom: 80px;
}

.modellazione-3d__hero-background {
    position: absolute;
    inset: 0;
}

.modellazione-3d__overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.modellazione-3d__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
}

.modellazione-3d__grid {
    display: grid;
    align-items: center;
    gap: 48px;
}

.modellazione-3d__content-stack > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 32px;
}

.modellazione-3d__badge {
    display: inline-block;
    border-radius: 999px;
    background-color: #fffc;
    padding-inline: 16px;
    padding-block: 8px;
    color: #000;
}

.modellazione-3d__h1-title {
    color: #000;
}

.modellazione-3d__flex-row {
    display: flex;
    height: 128px;
    align-items: center;
}

.modellazione-3d__hero-text {
    font-size: 1.5rem;
    line-height: 1.625;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: .5s;
    --tw-duration: .5s;
    color: #4c1d34;
    max-width: 540px;
}

.modellazione-3d__hero-indicators {
    display: flex;
    gap: 8px;
}

.modellazione-3d__flex-row-2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.modellazione-3d__action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    padding-inline: 32px;
    padding-block: 16px;
    color: #fff;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #4c1d34;
}

    .modellazione-3d__action-link:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.modellazione-3d__content-stack-2 {
    margin-top: 48px;
    padding-top: 32px;
    max-width: 540px;
}

    .modellazione-3d__content-stack-2 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 16px;
    }

.modellazione-3d__h3-title {
    font-size: 1.5rem;
    color: #000;
}

.modellazione-3d__text {
    font-size: 1.125rem;
    line-height: 1.625;
    color: #000;
}

.modellazione-3d__section1 {
    background-color: #f5f0ff;
    padding-inline: 32px;
    padding-block: 40px;
}

.modellazione-3d__container-2 {
    margin-inline: auto;
    max-width: 80rem;
    border-radius: 1.5rem;
    border: 1px solid #f3f4f6;
    background-color: #fff;
    padding-inline: 24px;
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    padding-bottom: 10px;
}

.modellazione-3d__flex-row-3 {
    margin-top: 16px;
    display: flex;
    justify-content: center;
}

.modellazione-3d__logo-design3di-image {
    width: 500px;
    height: auto;
}

.modellazione-3d__h2-title {
    font-weight: 500;
    color: #101828;
}

.modellazione-3d__content-stack-3 {
    margin-top: 32px;
    line-height: 1.625;
    color: #364153;
}

    .modellazione-3d__content-stack-3 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 24px;
    }

.modellazione-3d__h3-title-2 {
    margin-top: 48px;
    font-size: 1.25rem;
    font-weight: 500;
    color: #101828;
}

.modellazione-3d__text-4 {
    margin-top: 16px;
    line-height: 1.625;
    color: #4a5565;
}

.modellazione-3d__card-2 {
    margin-top: 32px;
    overflow: hidden;
    border-radius: 1rem;
    border: 1px solid #ebe6e7;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.modellazione-3d__media-frame {
    aspect-ratio: 16 / 9;
}

.modellazione-3d__iframe {
    height: 100%;
    width: 100%;
}

.modellazione-3d__section2,
.modellazione-3d__section4 {
    padding-inline: 16px;
    padding-block: 80px;
}

.modellazione-3d__container-3 {
    margin-inline: auto;
    max-width: 80rem;
}

.modellazione-3d__grid-2 {
    display: grid;
    align-items: flex-start;
}

.modellazione-3d__content-stack-4 > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 24px;
}

.modellazione-3d__h2-title-2 {
    color: #101828;
    font-size: 32px;
}

.modellazione-3d__text-5 {
    line-height: 1.625;
    color: #4a5565;
    max-width: 550px;
}

.modellazione-3d__content-stack-5 {
    width: 100%;
    max-width: 550px;
}

    .modellazione-3d__content-stack-5 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 16px;
    }

.modellazione-3d__flex-row-4 {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 16px;
    border-radius: 18px;
    border: 1px solid #ebe6e7;
    background-color: #fff;
    padding-inline: 24px;
    padding-block: 16px;
}

.modellazione-3d__badge-2 {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e9fff1;
    color: #16a34a;
}

.modellazione-3d__action-link-2 {
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #f37021;
    color: #fff;
    max-width: 550px;
    padding: 16px 22px;
}

    .modellazione-3d__action-link-2:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.modellazione-3d__card-3 {
    position: relative;
    overflow: hidden;
    border-radius: 1.5rem;
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    height: 535px;
}

.modellazione-3d__image {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.modellazione-3d__badge-3,
.modellazione-3d__badge-4 {
    position: absolute;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(6px);
}

.modellazione-3d__badge-3 {
    left: 16px;
}

.modellazione-3d__badge-4 {
    right: 16px;
}

.modellazione-3d__flex-row-5 {
    position: absolute;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 8px;
}

.modellazione-3d__badge-5 {
    height: 8px;
    border-radius: 999px;
    background: #e9fff1;
    color: #16a34a;
}

.modellazione-3d__badge-6 {
    position: absolute;
    right: 16px;
    bottom: 16px;
    border-radius: 999px;
    padding-inline: 12px;
    padding-block: 6px;
    font-size: .875rem;
    color: #fff;
    background: rgba(0,0,0,.60);
}

.modellazione-3d__section3,
.modellazione-3d__section5 {
    padding-inline: 16px;
    padding-block: 80px;
    background-color: #f7f7f8;
}

.modellazione-3d__card-4 {
    position: relative;
    overflow: hidden;
    border-radius: 1.5rem;
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    height: 510px;
}

.modellazione-3d__overlay-2 {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    border: 0;
    display: block;
}

/* #endregion */

/* #region PROGETTAZIONE DOCUMENTI */

.progettazione-documenti__page-body {
    background-color: #fff;
}

.progettazione-documenti__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.progettazione-documenti__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.progettazione-documenti__hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 128px;
    padding-bottom: 80px;
}

.progettazione-documenti__hero-background {
    position: absolute;
    inset: 0;
}

.progettazione-documenti__overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.progettazione-documenti__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
}

.progettazione-documenti__grid {
    display: grid;
    align-items: center;
    gap: 48px;
}

.progettazione-documenti__content-stack > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 32px;
}

.progettazione-documenti__badge {
    display: inline-block;
    border-radius: 999px;
    background-color: #fffc;
    padding-inline: 16px;
    padding-block: 8px;
    color: #000;
}

.progettazione-documenti__h1-title {
    color: #000;
}

.progettazione-documenti__flex-row {
    display: flex;
    height: 128px;
    align-items: center;
}

.progettazione-documenti__hero-text {
    font-size: 1.5rem;
    line-height: 1.625;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: .5s;
    --tw-duration: .5s;
    color: #2563eb;
    max-width: 540px;
}

.progettazione-documenti__hero-indicators {
    display: flex;
    gap: 8px;
}

.progettazione-documenti__flex-row-2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.progettazione-documenti__action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    padding-inline: 32px;
    padding-block: 16px;
    color: #fff;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #2563eb;
}

    .progettazione-documenti__action-link:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.progettazione-documenti__content-stack-2 {
    margin-top: 48px;
    padding-top: 32px;
    max-width: 540px;
}

    .progettazione-documenti__content-stack-2 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 16px;
    }

.progettazione-documenti__h3-title {
    font-size: 1.5rem;
    color: #000;
}

.progettazione-documenti__text {
    font-size: 1.125rem;
    line-height: 1.625;
    color: #000;
}

.progettazione-documenti__section1 {
    background: #f8fafc;
    padding-inline: 32px;
    padding-block: 40px;
}

.progettazione-documenti__content-block {
    max-width: 80rem;
    margin: 0 auto;
}

.progettazione-documenti__card-4 {
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 28px;
    padding: 56px 56px 44px;
    box-shadow: 0 10px 24px rgba(16,24,40,.06);
}

.progettazione-documenti__h2-title {
    font-size: 34px;
    color: #0b1320;
    margin: 0 0 18px;
}

.progettazione-documenti__content-block-3 {
    color: #3b4657;
    font-size: 16px;
    line-height: 1.7;
}

    .progettazione-documenti__content-block-3 p {
        margin: 0 0 18px;
    }

        .progettazione-documenti__content-block-3 p:last-child {
            margin-bottom: 0;
        }

.progettazione-documenti__grid-2 {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px;
}

.progettazione-documenti__article {
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 20px;
    padding: 26px 26px 22px;
}

    .progettazione-documenti__article:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 30px rgba(16,24,40,.10);
    }

.progettazione-documenti__h3-title-2 {
    margin: 0 0 10px;
    text-align: center;
    font-weight: 700;
    color: #f37021;
    font-size: 16px;
}

.progettazione-documenti__text-3 {
    margin: 0;
    text-align: center;
    color: #3b4657;
    font-size: 14px;
    line-height: 1.65;
}

.progettazione-documenti__section2 {
    background: #f8fafc;
    padding: 64px 0;
}

.progettazione-documenti__content-block-7 {
    max-width: 80rem;
    margin: 0 auto;
}

.progettazione-documenti__h2-title-2 {
    font-size: 32px;
    margin: 0 0 12px;
}

.progettazione-documenti__text-4 {
    max-width: 980px;
    color: #4b5563;
    font-size: 18px;
    line-height: 1.6;
    margin: 0 0 28px;
}

.progettazione-documenti__grid-4 {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
}

.progettazione-documenti__card-5 {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    padding: 26px 26px 24px;
}

    .progettazione-documenti__card-5:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 40px rgba(15,23,42,.10);
    }

.progettazione-documenti__h3-title-3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px;
}

.progettazione-documenti__text-5 {
    color: #4b5563;
    line-height: 1.7;
    margin: 0;
}

.progettazione-documenti__content-block-9 {
    padding: 52px 0 0;
    text-align: center;
}

.progettazione-documenti__content-block-10 {
    font-size: 16px;
    color: #111827;
    margin: 0 0 10px;
}

.progettazione-documenti__content-block-11 {
    max-width: 920px;
    margin: 0 auto 26px;
    font-size: 20px;
    color: #111827;
}

.progettazione-documenti__richiedi-una-consulenza-gratuita-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f97316;
    color: #fff;
    text-decoration: none;
    border-radius: 12px;
    padding: 18px 28px;
    box-shadow: 0 14px 26px rgba(249,115,22,.25);
}

    .progettazione-documenti__richiedi-una-consulenza-gratuita-link:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 34px rgba(249,115,22,.30);
    }

/* #endregion */

/* #region WEB DESIGN */

.web-design__page-body {
    background-color: #fff;
}

.web-design__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.web-design__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.web-design__hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 128px;
    padding-bottom: 80px;
}

.web-design__hero-background {
    position: absolute;
    inset: 0;
}

.web-design__overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.web-design__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
}

.web-design__grid {
    display: grid;
    align-items: center;
    gap: 48px;
}

.web-design__content-stack > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 32px;
}

.web-design__badge {
    display: inline-block;
    border-radius: 999px;
    background-color: #fffc;
    padding-inline: 16px;
    padding-block: 8px;
    color: #000;
}

.web-design__h1-title {
    color: #000;
}

.web-design__flex-row {
    display: flex;
    height: 128px;
    align-items: center;
}

.web-design__hero-text {
    font-size: 1.5rem;
    line-height: 1.625;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: .5s;
    --tw-duration: .5s;
    color: #2563eb;
    max-width: 540px;
}

.web-design__hero-indicators {
    display: flex;
    gap: 8px;
}

.web-design__flex-row-2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.web-design__action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    padding-inline: 32px;
    padding-block: 16px;
    color: #fff;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #2563eb;
}

    .web-design__action-link:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.web-design__content-stack-2 {
    margin-top: 48px;
    padding-top: 32px;
    max-width: 540px;
}

    .web-design__content-stack-2 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 16px;
    }

.web-design__h3-title {
    font-size: 1.5rem;
    color: #000;
}

.web-design__text {
    font-size: 1.125rem;
    line-height: 1.625;
    color: #000;
}

.web-design__section1 {
    background: #f8fafc;
    padding-inline: 32px;
    padding-block: 40px;
}

.web-design__content-block {
    max-width: 80rem;
    margin: 0 auto;
}

.web-design__card-4 {
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 28px;
    padding: 56px 56px 44px;
    box-shadow: 0 10px 24px rgba(16,24,40,.06);
}

.web-design__h2-title {
    font-size: 34px;
    color: #0b1320;
    margin: 0 0 18px;
}

.web-design__content-block-3 {
    color: #3b4657;
    font-size: 16px;
    line-height: 1.7;
}

    .web-design__content-block-3 p {
        margin: 0 0 18px;
    }

        .web-design__content-block-3 p:last-child {
            margin-bottom: 0;
        }

.web-design__grid-2 {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px;
}

.web-design__article {
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 20px;
    padding: 26px 26px 22px;
}

    .web-design__article:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 30px rgba(16,24,40,.10);
    }

.web-design__h3-title-2 {
    margin: 0 0 10px;
    text-align: center;
    font-weight: 700;
    color: #f37021;
    font-size: 16px;
}

.web-design__text-3 {
    margin: 0;
    text-align: center;
    color: #3b4657;
    font-size: 14px;
    line-height: 1.65;
}

.web-design__section2 {
    background: #f8fafc;
    padding: 64px 0;
}

.web-design__content-block-7 {
    max-width: 80rem;
    margin: 0 auto;
}

.web-design__h2-title-2 {
    font-size: 32px;
    margin: 0 0 12px;
}

.web-design__text-4 {
    max-width: 980px;
    color: #4b5563;
    font-size: 18px;
    line-height: 1.6;
    margin: 0 0 28px;
}

.web-design__grid-4 {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
}

.web-design__card-5 {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    padding: 26px 26px 24px;
}

    .web-design__card-5:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 40px rgba(15,23,42,.10);
    }

.web-design__h3-title-3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px;
}

.web-design__text-5 {
    color: #4b5563;
    line-height: 1.7;
    margin: 0;
}

.web-design__content-block-9 {
    padding: 52px 0 0;
    text-align: center;
}

.web-design__content-block-10 {
    font-size: 16px;
    color: #111827;
    margin: 0 0 10px;
}

.web-design__content-block-11 {
    max-width: 920px;
    margin: 0 auto 26px;
    font-size: 20px;
    color: #111827;
}

.web-design__richiedi-un-preventivo-gratuito-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f97316;
    color: #fff;
    text-decoration: none;
    border-radius: 12px;
    padding: 18px 28px;
    box-shadow: 0 14px 26px rgba(249,115,22,.25);
}

    .web-design__richiedi-un-preventivo-gratuito-link:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 34px rgba(249,115,22,.30);
    }

/* #endregion */

/* #region CONFIGURATORE e CONFIGURATORE CRM */

.configuratore__page-body {
    background-color: #fff;
}

.configuratore__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.configuratore__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.configuratore__hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 128px;
    padding-bottom: 80px;
}

.configuratore__hero-background {
    position: absolute;
    inset: 0;
}

.configuratore__overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.configuratore__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
}

.configuratore__grid {
    display: grid;
    align-items: center;
    gap: 48px;
}

.configuratore__content-stack > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 32px;
}

.configuratore__badge {
    display: inline-block;
    border-radius: 999px;
    background-color: #fffc;
    padding-inline: 16px;
    padding-block: 8px;
    color: #000;
}

.configuratore__h1-title {
    color: #000;
}

.configuratore__flex-row {
    display: flex;
    height: 128px;
    align-items: center;
}

.configuratore__hero-text,
.configuratore-crm__hero-text {
    font-size: 1.5rem;
    line-height: 1.625;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: .5s;
    --tw-duration: .5s;
    max-width: 540px;
}

.configuratore__hero-text {
    color: #173b2a;
}

.configuratore-crm__hero-text {
    color: #1e293b;
}

.configuratore__hero-indicators {
    display: flex;
    gap: 8px;
}

.configuratore__flex-row-2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.configuratore__action-link,
.configuratore-crm__action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    padding-inline: 32px;
    padding-block: 16px;
    color: #fff;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.configuratore__action-link {
    background-color: #173b2a;
}

.configuratore-crm__action-link {
    background-color: #1e293b;
}

    .configuratore__action-link:hover,
    .configuratore-crm__action-link:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.configuratore__content-stack-2 {
    margin-top: 48px;
    padding-top: 32px;
    max-width: 540px;
}

    .configuratore__content-stack-2 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 16px;
    }

.configuratore__h3-title {
    font-size: 1.5rem;
    color: #000;
}

.configuratore__text {
    font-size: 1.125rem;
    line-height: 1.625;
    color: #000;
}

.configuratore__section1 {
    padding-inline: 32px;
    padding-block: 40px;
}

.configuratore__container-3 {
    margin-inline: auto;
    max-width: 80rem;
}

.configuratore__card-4 {
    border-radius: 1rem;
    border: 1px solid #f3f4f6;
    background-color: #fff;
    padding: 32px;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.configuratore__flex-row-3 {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
}

.configuratore__logo-ad-configurator-image {
    height: 48px;
    width: auto;
    object-fit: contain;
}

.configuratore__panel-7 {
    margin-bottom: 24px;
    border-radius: 18px;
    padding: 32px;
}

.configuratore__h2-title {
    margin-bottom: 24px;
    font-size: 1.25rem;
    color: #101828;
}

.configuratore__text-3 {
    line-height: 1.625;
    color: #364153;
}

.configuratore__grid-2 {
    margin-top: 40px;
    display: grid;
    gap: 24px;
}

.configuratore__card-5 {
    border-radius: 18px;
    border: 2px solid #ebe6e7;
    background-color: #fff;
    padding: 24px;
}

    .configuratore__card-5:hover {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.configuratore__flex-row-4 {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
}

.configuratore__text-4 {
    text-align: center;
    line-height: 1.625;
    color: #364153;
}

.configuratore__highlight-text {
    margin-bottom: 8px;
    display: block;
    color: #b3be35;
}

/* #endregion */

/* #region PLAYER WEB */

.player-web-3d__page-body {
    background-color: #fff;
}

.player-web-3d__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.player-web-3d__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.player-web-3d__hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 128px;
    padding-bottom: 80px;
}

.player-web-3d__hero-background {
    position: absolute;
    inset: 0;
}

.player-web-3d__overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.player-web-3d__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
}

.player-web-3d__grid {
    display: grid;
    align-items: center;
    gap: 48px;
}

.player-web-3d__content-stack > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 32px;
}

.player-web-3d__badge {
    display: inline-block;
    border-radius: 999px;
    background-color: #fffc;
    padding-inline: 16px;
    padding-block: 8px;
    color: #000;
}

.player-web-3d__h1-title {
    color: #000;
}

.player-web-3d__flex-row {
    display: flex;
    height: 128px;
    align-items: center;
}

.player-web-3d__hero-text {
    font-size: 1.5rem;
    line-height: 1.625;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: .5s;
    --tw-duration: .5s;
    color: #009689;
    max-width: 540px;
}

.player-web-3d__hero-indicators {
    display: flex;
    gap: 8px;
}

.player-web-3d__flex-row-2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.player-web-3d__action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    padding-inline: 32px;
    padding-block: 16px;
    color: #fff;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #009689;
}

    .player-web-3d__action-link:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.player-web-3d__content-stack-2 {
    margin-top: 48px;
    padding-top: 32px;
    max-width: 540px;
}

    .player-web-3d__content-stack-2 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 16px;
    }

.player-web-3d__h3-title {
    font-size: 1.5rem;
    color: #000;
}

.player-web-3d__text {
    font-size: 1.125rem;
    line-height: 1.625;
    color: #000;
}

.player-web-3d__section1 {
    padding-inline: 32px;
    padding-block: 40px;
}

.player-web-3d__container-3 {
    margin-inline: auto;
    max-width: 80rem;
}

.player-web-3d__card-4 {
    border-radius: 1rem;
    border: 1px solid #f3f4f6;
    background-color: #fff;
    padding: 32px;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.player-web-3d__flex-row-3 {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
}

.player-web-3d__logo-ad-sight-image {
    height: 48px;
    width: auto;
    object-fit: contain;
}

.player-web-3d__panel-7 {
    margin-bottom: 24px;
    border-radius: 18px;
    padding: 32px;
}

.player-web-3d__h2-title {
    margin-bottom: 24px;
    font-size: 1.25rem;
    color: #101828;
}

.player-web-3d__text-3 {
    line-height: 1.625;
    color: #364153;
}

.player-web-3d__grid-2 {
    margin-top: 40px;
    display: grid;
    gap: 24px;
}

.player-web-3d__card-5 {
    border-radius: 1rem;
    border: 2px solid #ebe6e7;
    background-color: #fff;
    padding: 24px;
}

    .player-web-3d__card-5:hover {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.player-web-3d__flex-row-4 {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
}

.player-web-3d__text-4 {
    text-align: center;
    line-height: 1.625;
    color: #364153;
}

.player-web-3d__highlight-text {
    margin-bottom: 8px;
    display: block;
    color: #b3be35;
}

.player-web-3d__content-block {
    margin-top: 40px;
}

.player-web-3d__grid-3 {
    margin-bottom: 40px;
    display: grid;
    gap: 32px;
}

.player-web-3d__card-8 {
    overflow: hidden;
    border-radius: 1rem;
    border: 2px solid #ebe6e7;
    background-color: #fff;
}

    .player-web-3d__card-8:hover {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.player-web-3d__content-block-2 {
    height: 384px;
    width: 100%;
}

.player-web-3d__iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.player-web-3d__panel-8 {
    margin-bottom: 24px;
    border-radius: 18px;
    padding: 32px;
}

.player-web-3d__card-9 {
    margin-top: 40px;
    margin-bottom: 8px;
    overflow: hidden;
    border-radius: 1rem;
    border: 2px solid #ebe6e7;
    background-color: #fff;
}

    .player-web-3d__card-9:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.player-web-3d__content-block-3 {
    height: 900px;
    width: 100%;
}

/* #endregion */

/* #region IMPAGINAZIONE AUTOMATICA */

.impaginazione-automatica__page-body {
    background-color: #fff;
}

.impaginazione-automatica__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.impaginazione-automatica__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.impaginazione-automatica__hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 128px;
    padding-bottom: 80px;
}

.impaginazione-automatica__hero-background {
    position: absolute;
    inset: 0;
}

.impaginazione-automatica__overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.impaginazione-automatica__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
}

.impaginazione-automatica__grid {
    display: grid;
    align-items: center;
    gap: 48px;
}

.impaginazione-automatica__content-stack > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 32px;
}

.impaginazione-automatica__badge {
    display: inline-block;
    border-radius: 999px;
    background-color: #fffc;
    padding-inline: 16px;
    padding-block: 8px;
    color: #fff;
}

.impaginazione-automatica__h1-title {
    color: #fff;
}

.impaginazione-automatica__flex-row {
    display: flex;
    height: 128px;
    align-items: center;
}

.impaginazione-automatica__hero-text {
    font-size: 1.5rem;
    line-height: 1.625;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: .5s;
    --tw-duration: .5s;
    color: #d9ead3;
    max-width: 540px;
}

.impaginazione-automatica__hero-indicators {
    display: flex;
    gap: 8px;
}

.impaginazione-automatica__flex-row-2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.impaginazione-automatica__action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    padding-inline: 32px;
    padding-block: 16px;
    color: #fff;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #d9ead3;
}

    .impaginazione-automatica__action-link:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.impaginazione-automatica__content-stack-2 {
    margin-top: 48px;
    padding-top: 32px;
    max-width: 540px;
}

    .impaginazione-automatica__content-stack-2 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 16px;
    }

.impaginazione-automatica__h3-title {
    font-size: 1.5rem;
    color: #fff;
}

.impaginazione-automatica__text {
    font-size: 1.125rem;
    line-height: 1.625;
    color: #fff;
}

.impaginazione-automatica__section1 {
    background: #fff;
    padding-inline: 32px;
    padding-block: 40px;
}

.impaginazione-automatica__container-3 {
    margin-inline: auto;
    max-width: 80rem;
}

.impaginazione-automatica__card-4 {
    border-radius: 1rem;
    border: 1px solid #f3f4f6;
    background-color: #fff;
    padding: 32px;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.impaginazione-automatica__flex-row-3 {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
}

.impaginazione-automatica__logo-madepage-image {
    height: 48px;
    width: auto;
    object-fit: contain;
}

.impaginazione-automatica__panel-7 {
    margin-bottom: 24px;
    border-radius: 18px;
    padding: 32px;
}

.impaginazione-automatica__h2-title {
    margin-bottom: 24px;
    font-size: 1.25rem;
    color: #101828;
    text-transform: uppercase;
}

.impaginazione-automatica__text-3 {
    line-height: 1.625;
    color: #364153;
}

.impaginazione-automatica__grid-2 {
    margin-top: 40px;
    display: grid;
    gap: 24px;
}

.impaginazione-automatica__card-5 {
    border-radius: 18px;
    border: 2px solid #ebe6e7;
    background-color: #fff;
    padding: 24px;
}

    .impaginazione-automatica__card-5:hover {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.impaginazione-automatica__flex-row-4 {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
}

.impaginazione-automatica__text-4 {
    text-align: center;
    line-height: 1.625;
    color: #364153;
}

.impaginazione-automatica__highlight-text {
    margin-bottom: 8px;
    display: block;
    color: #b3be35;
}

/* #endregion */

/* #region ASSISTENTI VIRTUALI */

.assistenti-virtuali__page-body {
    background-color: #fff;
}

.assistenti-virtuali__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.assistenti-virtuali__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.assistenti-virtuali__hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 128px;
    padding-bottom: 80px;
}

.assistenti-virtuali__hero-background {
    position: absolute;
    inset: 0;
}

.assistenti-virtuali__overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.assistenti-virtuali__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
}

.assistenti-virtuali__grid {
    display: grid;
    align-items: center;
    gap: 48px;
}

.assistenti-virtuali__content-stack > :not(:last-child) {
    margin-block-start: 0;
    margin-block-end: 32px;
}

.assistenti-virtuali__badge {
    display: inline-block;
    border-radius: 999px;
    background-color: #fffc;
    padding-inline: 16px;
    padding-block: 8px;
    color: #000;
}

.assistenti-virtuali__h1-title {
    color: #000;
}

.assistenti-virtuali__flex-row {
    display: flex;
    height: 128px;
    align-items: center;
}

.assistenti-virtuali__hero-text {
    font-size: 1.5rem;
    line-height: 1.625;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: .5s;
    --tw-duration: .5s;
    color: #000;
    max-width: 540px;
}

.assistenti-virtuali__hero-indicators {
    display: flex;
    gap: 8px;
}

.assistenti-virtuali__flex-row-2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.assistenti-virtuali__action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    padding-inline: 32px;
    padding-block: 16px;
    color: #fff;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #000;
}

    .assistenti-virtuali__action-link:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.assistenti-virtuali__content-stack-2 {
    margin-top: 48px;
    padding-top: 32px;
    max-width: 540px;
}

    .assistenti-virtuali__content-stack-2 > :not(:last-child) {
        margin-block-start: 0;
        margin-block-end: 16px;
    }

.assistenti-virtuali__h3-title {
    font-size: 1.5rem;
    color: #000;
}

.assistenti-virtuali__text {
    font-size: 1.125rem;
    line-height: 1.625;
    color: #000;
}

.assistenti-virtuali__section1 {
    background: #fff;
    padding-inline: 32px;
    padding-block: 40px;
}

.assistenti-virtuali__container-3 {
    margin-inline: auto;
    max-width: 80rem;
}

.assistenti-virtuali__card-4 {
    border-radius: 1rem;
    border: 1px solid #f3f4f6;
    background-color: #fff;
    padding: 32px;
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.assistenti-virtuali__flex-row-3 {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
}

.assistenti-virtuali__logo-gughi {
    height: 48px;
    width: auto;
    object-fit: contain;
}

.assistenti-virtuali__panel-7 {
    margin-bottom: 24px;
    border-radius: 18px;
    padding: 32px;
}

.assistenti-virtuali__h2-title {
    margin-bottom: 24px;
    font-size: 1.25rem;
    color: #101828;
    text-transform: uppercase;
}

.assistenti-virtuali__text-3 {
    line-height: 1.625;
    color: #364153;
}

.assistenti-virtuali__text-4 {
    margin-top: 40px;
    color: #364153;
}

.assistenti-virtuali__grid-2 {
    margin-top: 40px;
    display: grid;
    gap: 24px;
}

.assistenti-virtuali__card-5 {
    border-radius: 18px;
    border: 2px solid #ebe6e7;
    background-color: #fff;
    padding: 24px;
}

    .assistenti-virtuali__card-5:hover {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.assistenti-virtuali__flex-row-4 {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
}

.assistenti-virtuali__badge-3 {
    display: flex;
    height: 80px;
    width: 80px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 2px solid color-mix(in srgb, #d97706 30%, white);
    background-color: color-mix(in srgb, #d97706 10%, white);
}

.assistenti-virtuali__text-5 {
    text-align: center;
    line-height: 1.625;
    color: #364153;
}

.assistenti-virtuali__highlight-text {
    margin-bottom: 8px;
    display: block;
    color: #d97706;
}

/* #endregion */

/* #region ESPERIENZE */

.esperienze__page-body {
    background-color: #fff;
}

.esperienze__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.esperienze__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.esperienze__section {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 32px;
    padding-bottom: 80px;
}

.esperienze__container {
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
}

.esperienze__content-block {
    margin-bottom: 64px;
    text-align: center;
}

.esperienze__h1-title {
    font-size: 300%;
    color: #b3be35;
    margin-bottom: 16px;
}

.esperienze__container-2 {
    margin-inline: auto;
    max-width: 48rem;
    font-size: 1.25rem;
    color: #4a5565;
}

.esperienze__grid {
    display: grid;
    gap: 32px;
}

.experience-card {
    display: flex;
    height: 100%;
    flex-direction: column;
    border-radius: 1rem;
    border: 1px solid #f3f4f6;
    background-color: #fff;
    padding: 32px;
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

    .experience-card:hover {
        border-color: #bedbff;
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

        .experience-card:hover .esperienze__action-link {
            gap: 12px;
        }

.esperienze__text {
    margin-bottom: 24px;
    color: #4a5565;
}

.esperienze__content-block-2 {
    margin-bottom: 24px;
}

.esperienze__text-2 {
    margin-bottom: 8px;
    font-size: .875rem;
    color: #6a7282;
}

.esperienze__flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.content-tag.content-tag--compact-blue,
.content-tag.content-tag--compact-green {
    display: inline-block;
    border-radius: 999px;
    padding-inline: 12px;
    padding-block: 4px;
    font-size: .875rem;
    font-weight: 500;
}

.content-tag.content-tag--compact-blue {
    background-color: #eff6ff;
    color: #155dfc;
}

.content-tag.content-tag--compact-green {
    background-color: #f0fdf4;
    color: #008236;
}

.esperienze__content-block-3 {
    margin-bottom: 32px;
}

/* #endregion */

/* #region PAGINE DETTAGLIO ESPERIENZE */

.experience-detail__page-body {
    background-color: #fff;
}

.experience-detail__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.experience-detail__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.experience-detail__hero {
    position: relative;
    min-height: 380px;
    border-radius: 0;
    overflow: hidden;
}

.experience-detail__hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.experience-detail__hero-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.88) 100%);
}

.experience-detail__hero-content {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    padding: 84px 24px 56px 24px;
    color: #fff;
}

.experience-detail__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    padding: 0 14px;
    border-radius: 999px;
    background: #1f7a4d;
    color: #7bf1a8;
    font-size: 14px;
    font-weight: 600;
}

.experience-detail__title {
    margin-top: 18px;
    max-width: 820px;
    font-size: 40px;
    line-height: 1.08;
    font-weight: 300;
}

.experience-detail__subtitle {
    margin-top: 18px;
    font-size: 20px;
    line-height: 1.6;
}

.experience-detail__content-section {
    background: #fff;
}

.experience-detail__container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 48px 24px 88px 24px;
}

    .experience-detail__container strong {
        color: #0f172a;
    }

.experience-detail__back-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
    margin-bottom: 26px;
}

    .experience-detail__back-link:hover {
        text-decoration: underline;
    }

.experience-detail__info-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr;
    margin: 10px 0 42px 0;
}

.experience-detail__info-card {
    border-radius: 18px;
    padding: 22px 22px;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 10px 25px rgba(15,23,42,.06);
}

    .experience-detail__info-card h3 {
        font-size: 18px;
        font-weight: 600;
        margin: 0 0 8px 0;
        color: #0f172a;
    }

    .experience-detail__info-card p {
        margin: 0;
        color: #475569;
        font-size: 16px;
        line-height: 1.6;
    }

.experience-detail__info-card--blue {
    background: #eef6ff;
    border-color: rgba(37,99,235,.22);
}

.experience-detail__info-card--green {
    background: #ecfdf3;
    border-color: rgba(16,185,129,.22);
}

.experience-detail__info-card--orange {
    background: #fff3e8;
    border-color: rgba(249,115,22,.22);
}

.experience-detail__section-title {
    font-size: 28.8px;
    line-height: 1.5;
    font-weight: 500;
    margin: 38px 0 16px 0;
    color: #111827;
}

.experience-detail__text {
    font-size: 18px;
    line-height: 1.75;
    color: #334155;
    margin: 0 0 16px 0;
}

.experience-detail__need {
    border-radius: 18px;
    padding: 28px 26px;
    background: #fff1ef;
    border: 1px solid rgba(239,68,68,.20);
    box-shadow: 0 16px 35px rgba(15,23,42,.06);
    margin: 22px 0 34px 0;
}

    .experience-detail__need h3 {
        margin: 0 0 14px 0;
        font-size: 34px;
        line-height: 1.1;
        font-weight: 300;
        color: #111827;
    }

    .experience-detail__need ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .experience-detail__need li {
        display: flex;
        gap: 12px;
        align-items: flex-start;
        font-size: 18px;
        line-height: 1.55;
        color: #334155;
    }

        .experience-detail__need li::before {
            content: "✓";
            margin-top: 1px;
            color: #f97316;
            font-weight: 700;
        }

.experience-detail__media {
    margin: 28px 0 40px 0;
}

    .experience-detail__media img {
        width: 100%;
        display: block;
        border-radius: 18px;
        box-shadow: 0 18px 40px rgba(15,23,42,.08);
    }

.experience-detail__results {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 18px 0 46px 0;
}

.experience-detail__result-card {
    border-radius: 18px;
    padding: 22px 22px 20px 22px;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 12px 28px rgba(15,23,42,.06);
}

.experience-detail__result-card--blue {
    background: #eef6ff;
    border-color: rgba(37,99,235,.22);
    color: #2563eb;
}

.experience-detail__result-card--green {
    background: #ecfdf3;
    border-color: rgba(16,185,129,.22);
    color: #16a34a;
}

.experience-detail__result-card h3 {
    margin: 0 0 8px 0;
    font-size: 20px;
    font-weight: 600;
    color: #0f172a;
}

.experience-detail__result-card p {
    margin: 0 0 18px 0;
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
}

.experience-detail__result-icon {
    margin-bottom: 16px;
}

.experience-detail__metric {
    font-size: 46px;
    line-height: 1;
    font-weight: 300;
    margin: 0 0 8px 0;
}

.experience-detail__metric-label {
    font-size: 14px;
    color: #64748b;
}

.experience-detail__cta {
    border-radius: 18px;
    padding: 26px 24px;
    background: linear-gradient(90deg, #eef6ff 0%, #ecfdf3 100%);
    border: 1px solid rgba(37,99,235,.10);
    margin-top: 40px;
}

.experience-detail__cta-text h3 {
    margin: 0 0 8px 0;
    font-size: 28px;
    font-weight: 300;
    color: #0f172a;
}

.experience-detail__cta-text p {
    margin: 0;
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
}

.experience-detail__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 18px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    border: 1px solid rgba(15,23,42,.12);
    background: #fff;
    color: #0f172a;
}

    .experience-detail__button:hover {
        box-shadow: 0 10px 22px rgba(15,23,42,.10);
    }

.experience-detail__button--primary {
    background: #2563eb;
    color: #fff;
    border-color: #2563eb;
    margin-bottom: 5px;
}

    .experience-detail__button--primary:hover {
        filter: brightness(.95);
    }

/* #endregion */

/* #region BLOG */

.blog__page-body {
    background-color: #fff;
}

.blog__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.blog__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.blog__section {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-top: 32px;
    padding-bottom: 80px;
}

.blog__container {
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 32px;
}

.blog__content-block {
    margin-bottom: 64px;
    text-align: center;
}

.blog__h1-title {
    font-size: 300%;
    color: #b3be35;
    margin-bottom: 16px;
}

.blog__container-2 {
    margin-inline: auto;
    max-width: 48rem;
    font-size: 1.25rem;
    color: #4a5565;
}

.blog__grid {
    display: grid;
    gap: 32px;
}

.blog-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 1rem;
    border: 1px solid #f3f4f6;
    background-color: #fff;
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

    .blog-card:hover {
        border-color: #bedbff;
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

.blog-card__media {
    height: 192px;
    width: 100%;
    overflow: hidden;
}

.blog__photo {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

    .blog__photo:hover {
        scale: 105%;
    }

.blog-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 32px;
}

.card-date {
    margin-bottom: 12px;
    font-size: .875rem;
    color: #6a7282;
}

.blog__text {
    margin-bottom: 24px;
    color: #4a5565;
}

.blog__text-2 {
    margin-bottom: 8px;
    font-size: .875rem;
    color: #6a7282;
}

.card-tags {
    margin-bottom: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.content-tag.content-tag--blue,
.content-tag.content-tag--green {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding-inline: 16px;
    padding-block: 8px;
    font-size: .875rem;
}

.content-tag.content-tag--blue {
    background-color: #eff6ff;
    color: #155dfc;
}

.content-tag.content-tag--green {
    background-color: #f0fdf4;
    color: #008236;
}

.blog__action-link:hover {
    gap: 12px;
}

/* #endregion */

/* #region PAGINE DETTAGLIO BLOG */

.blog-detail__page-body {
    background-color: #fff;
}

.blog-detail__page-shell {
    min-height: 100vh;
    background-color: #fff;
}

.blog-detail__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.blog-detail__hero {
    position: relative;
    height: 400px;
    overflow: hidden;
    background-color: #101828;
}

.blog-detail__hero-image {
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: .6;
}

.blog-detail__hero-gradient {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(to top, #101828 0%, rgba(16, 24, 40, .50) 50%, transparent 100%);
}

.blog-detail__hero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
}

.blog-detail__hero-container {
    margin-inline: auto;
    width: 100%;
    max-width: 56rem;
    padding-inline: 32px;
    padding-bottom: 48px;
}

.blog-detail__hero-meta {
    margin-bottom: 12px;
    color: #d1d5dc;
}

.blog-detail__title {
    margin-bottom: 24px;
    color: #fff;
    font-size: 250%;
    font-weight: 400;
    line-height: 1.15;
}

.blog-detail__article {
    margin-inline: auto;
    max-width: 56rem;
    padding-inline: 32px;
    padding-block: 48px;
}

.blog-detail__back-link {
    margin-bottom: 48px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #155dfc;
    text-decoration: none;
    transition: color .15s cubic-bezier(.4, 0, .2, 1);
}

.blog-detail__back-icon {
    width: 20px;
    height: 20px;
    filter: brightness(0) saturate(100%) invert(25%) sepia(92%) saturate(3369%) hue-rotate(219deg) brightness(99%) contrast(99%);
}

.blog-detail__article-meta {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.blog-detail__meta-label {
    margin-bottom: 8px;
    font-size: .875rem;
    color: #6a7282;
}

.blog-detail__tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.blog-detail__tag,
.blog-detail__tag--blue {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background-color: #eff6ff;
    padding-inline: 16px;
    padding-block: 6px;
    font-size: .875rem;
    color: #1447e6;
}

.blog-detail__tag--green {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background-color: #f0fdf4;
    padding-inline: 16px;
    padding-block: 6px;
    font-size: .875rem;
    color: #008236;
}

.blog-detail__lead-block {
    margin-bottom: 48px;
    max-width: none;
}

.blog-detail__lead_title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #364153;
    margin-bottom: 5px;
}

.blog-detail__lead {
    font-size: 1.25rem;
    line-height: 1.625;
    font-weight: 500;
    color: #364153;
}

.blog-detail__list {
    font-size: 1.25rem;
    line-height: 1.625;
    font-weight: 500;
    color: #364153;
    margin-top: 5px;
}

    .blog-detail__list li {
        margin: 5px 0 5px 0;
    }

.blog-detail__gallery-section {
    margin-bottom: 48px;
}

.blog-detail__section-title {
    margin-bottom: 24px;
    color: #101828;
    font-size: 140%;
    font-weight: 400;
}

.blog-detail__gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.blog-detail__gallery-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    cursor: pointer;
    overflow: hidden;
    border-radius: .625rem;
}

.blog-detail__gallery-image {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform .3s cubic-bezier(.4, 0, .2, 1), scale .3s cubic-bezier(.4, 0, .2, 1);
}

.blog-detail__gallery-overlay {
    position: absolute;
    inset: 0;
    background-color: #000;
    opacity: 0;
    transition: opacity .15s cubic-bezier(.4, 0, .2, 1);
}

.blog-detail__cta {
    margin-top: 64px;
    border-radius: 1rem;
    border: 1px solid #dbeafe;
    background-image: linear-gradient(to bottom right, #eff6ff 0%, #f0fdf4 100%);
    padding: 32px;
}

.blog-detail__cta-title {
    margin-bottom: 12px;
    color: #101828;
    font-size: 140%;
    font-weight: 400;
}

.blog-detail__cta-text {
    margin-bottom: 24px;
    color: #4a5565;
}

.blog-detail__cta-actions {
    display: flex;
    gap: 16px;
}

.blog-detail__cta-button,
.blog-detail__cta-button--primary {
    display: inline-block;
    border-radius: .625rem;
    background-color: #155dfc;
    padding-inline: 24px;
    padding-block: 12px;
    color: #fff;
    text-decoration: none;
    transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}

.blog-detail__cta-button--secondary {
    display: inline-block;
    border-radius: .625rem;
    border: 1px solid #ebe6e7;
    background-color: #fff;
    padding-inline: 24px;
    padding-block: 12px;
    color: #364153;
    text-decoration: none;
    transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}

.blog-detail__back-link:hover {
    color: #1447e6;
}

.blog-detail__gallery-thumb:hover .blog-detail__gallery-image {
    scale: 1.1;
}

.blog-detail__gallery-thumb:hover .blog-detail__gallery-overlay {
    opacity: .2;
}

.blog-detail__cta-button--primary:hover {
    background-color: #1447e6;
}

.blog-detail__cta-button--secondary:hover {
    background-color: #f9fafb;
}

/* #endregion */

/* #region PORTFOLIO 3D */

.portfolio-3d__page-body {
    background-color: #fff;
}

.portfolio-3d__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #fff;
}

.portfolio-3d__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.portfolio-3d__section {
    position: relative;
    background-color: #fff;
    padding-inline: 16px;
}

.portfolio-3d__container {
    margin-inline: auto;
    max-width: 80rem;
}

.portfolio-3d__content-block {
    margin-top: 32px;
    max-width: 48rem;
}

.portfolio-3d__h1-title {
    margin: 14px 0 0;
    font-size: 26px;
    color: #111827;
    font-weight: 500;
}

.portfolio-3d__text {
    margin: 14px 0 14px;
    font-size: 18px;
    line-height: 1.5;
    color: #111827;
    opacity: .9;
}

.portfolio-3d__flex-row {
    margin-bottom: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.portfolio-3d__grid {
    column-gap: 16px;
}

.portfolio-3d__section-2 {
    background-color: #fff;
    padding-inline: 16px;
    padding-block: 80px;
}

.portfolio-3d__card {
    border-radius: 1.5rem;
    border: 1px solid #ebe6e7;
    background-color: #fff;
    padding-inline: 24px;
    padding-block: 48px;
    text-align: center;
}

.portfolio-3d__content-block-2 {
    font-weight: 500;
    color: #101828;
}

.portfolio-3d__container-2 {
    margin-inline: auto;
    margin-top: 12px;
    color: #4a5565;
}

.portfolio-3d__action-link {
    margin-top: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    padding-inline: 40px;
    padding-block: 16px;
    font-weight: 500;
    color: #fff;
    background-color: #f37021;
}

.portfolio-3d__content-block-3 {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,.82);
    align-items: center;
    justify-content: center;
    padding: 24px;
    display: none;
}

    .portfolio-3d__content-block-3.flex {
        display: flex;
    }

    .portfolio-3d__content-block-3.hidden {
        display: none;
    }

.portfolio-3d__button {
    position: fixed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 0;
    color: #fff;
    background: rgba(255,255,255,.10);
    cursor: pointer;
    transition: background .18s ease, transform .18s ease, opacity .18s ease;
    top: 24px;
    right: 24px;
    filter: brightness(0) saturate(100%) invert(100%) sepia(4%) saturate(7430%) hue-rotate(335deg) brightness(116%) contrast(101%);
}

    .portfolio-3d__button:hover {
        background: rgba(255,255,255,.16);
        transform: translateY(-1px);
    }

.portfolio-3d__button-2,
.portfolio-3d__button-3 {
    position: fixed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 0;
    color: #fff;
    background: rgba(255,255,255,.10);
    cursor: pointer;
    transition: background .18s ease, transform .18s ease, opacity .18s ease;
    top: 50%;
    filter: brightness(0) saturate(100%) invert(100%) sepia(4%) saturate(7430%) hue-rotate(335deg) brightness(116%) contrast(101%);
}

.portfolio-3d__button-2 {
    left: 24px;
}

.portfolio-3d__button-3 {
    right: 24px;
}

    .portfolio-3d__button-2:hover,
    .portfolio-3d__button-3:hover {
        background: rgba(255,255,255,.16);
        transform: translateY(-1px);
    }

.portfolio-3d__content-block-4 {
    width: 100%;
    max-width: 980px;
}

.portfolio-3d__content-block-5 {
    width: 100%;
    max-height: 70vh;
    overflow: hidden;
}

.portfolio-3d__image {
    width: 100%;
    height: 70vh;
    object-fit: contain;
    display: block;
}

.portfolio-3d__content-block-6 {
    margin-top: 22px;
    text-align: center;
    color: #fff;
}

.portfolio-3d__content-block-7 {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    background: #f37021;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.portfolio-3d__h3-title {
    margin: 16px 0 0;
    font-size: 42px;
    font-weight: 300;
}

.portfolio-3d__text-2 {
    margin: 10px 0 0;
    color: rgba(255,255,255,.80);
    font-size: 16px;
    line-height: 1.6;
}

/* #endregion */

/* #region FAQ */

.faq__page-body {
    background-color: #fff;
}

.faq__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
}

.faq__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.faq__section {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.faq__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
    margin-top: 50px;
}

.faq__content-block {
    margin-bottom: 30px;
    text-align: center;
}

.faq__h1-title {
    font-size: 300%;
    color: #b3be35;
    margin-bottom: 16px;
}

.faq__container-2 {
    margin-inline: auto;
    max-width: 48rem;
    font-size: 1.25rem;
    line-height: 1.5;
    color: #4a5565;
}

/* #endregion */

/* #region CONTATTI */

.contatti__page-body {
    background-color: #fff;
}

.contatti__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
}

.contatti__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.contatti-section {
    width: 100%;
    overflow: hidden;
    padding: 32px 0;
}

.contatti__container {
    margin-inline: auto;
    max-width: 80rem;
}

.contatti__content-block {
    margin-bottom: 64px;
    text-align: center;
}

.contatti__h1-title {
    font-size: 300%;
    color: #b3be35;
    margin-bottom: 16px;
}

.contatti__container-2 {
    margin-inline: auto;
    max-width: 48rem;
    font-size: 1.25rem;
    line-height: 1.5;
    color: #4a5565;
}

.contatti__grid {
    display: grid;
    gap: 40px;
}

.contatti__h2-title {
    margin: 0 0 18px;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
}

.contatti__content-block-2 {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.contatti__card {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 22px;
    box-shadow: 0 10px 26px rgba(17,24,39,.06);
}

.contatti__content-block-3 {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: #f3f7ff;
    color: #1d4ed8;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contatti-image {
    filter: brightness(0) saturate(100%) invert(25%) sepia(92%) saturate(3369%) hue-rotate(219deg) brightness(99%) contrast(99%);
}

.contatti__content-block-4 {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 2px;
}

.contatti__content-block-5 {
    font-size: 15px;
    line-height: 1.55;
    color: #475569;
}

.contatti__info-ambientidigitali-it-link {
    color: #0ea5e9;
    text-decoration: none;
}

    .contatti__info-ambientidigitali-it-link:hover {
        text-decoration: underline;
    }

.contatti__content-block-6 {
    background: #eef5ff;
    border: 1px solid #dbeafe;
    border-radius: 4px;
    padding: 20px 22px;
}

.contatti__content-block-7 {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 10px;
}

.contatti__content-block-8 {
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.contatti__content-block-9 {
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(17,24,39,.10);
    background: #fff;
    overflow: visible;
}

.contatti__jotform-embed {
    width: 100%;
    min-height: 1140px;
    overflow: visible;
    background: #fff;
}

.contatti__jotform-iframe {
    display: block;
    width: 100%;
    height: 1140px;
    min-height: 1140px;
    border: 0;
}

/* #endregion */

/* #region ACCESSIBILITA' */

.accessibilita__page-body {
    background-color: #fff;
}

.accessibilita__page-shell {
    min-height: 100vh;
    overflow-x: hidden;
}

.accessibilita__page-content {
    margin-top: 64px;
    max-width: 100%;
    overflow-x: hidden;
}

.accessibilita__section {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.accessibilita__container {
    position: relative;
    margin-inline: auto;
    max-width: 80rem;
    padding-inline: 16px;
    margin-top: 50px;
}

.accessibilita__content-block {
    margin-bottom: 30px; 
}

.accessibilita__h1-title {
    font-size: 300%;
    color: #b3be35;
    margin-bottom: 16px;
    text-align: center;
}

.accessibilita__container-2 {
    font-size: 1.25rem;
    line-height: 1.5;
    color: #4a5565;
    text-align: center;
    margin-bottom: 32px;
}

.accessibilita__lead_title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #364153;
    margin-bottom: 5px;
    margin-top: 20px;
}

.accessibilita-detail__lead {
    font-size: 1.25rem;
    line-height: 1.625;
    font-weight: 500;
    color: #364153;
}

.accessibilita-detail__list {
    font-size: 1.25rem;
    line-height: 1.625;
    font-weight: 500;
    color: #364153;
    margin-top: 5px;
}

    .accessibilita-detail__list li {
        margin: 5px 0 5px 0;
    }

/* #endregion */

/* #region RESPONSIVE */

@media (max-width: 480px) {
    .chi-siamo__grid-2 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .il-metodo__content-block-2 {
        padding: 34px 20px;
        max-width: 100%;
    }

    .il-metodo__h3-title,
    .index__h2-title {
        font-size: 30px;
    }

    .il-metodo__text,
    .il-metodo__text-2 {
        font-size: 18px;
    }

    .index__section1 {
        padding: 64px 0;
    }

    .index__content-block {
        padding: 0 18px;
    }

    .index__grid-2 {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .progettazione-documenti__grid-4,
    .web-design__grid-4,
    .benefits-grid,
    .faq-grid {
        grid-template-columns: 1fr;
    }

    .progettazione-documenti__content-block-11,
    .web-design__content-block-11 {
        font-size: 22px;
    }
}

@media (min-width: 640px) {
    .portfolio-3d__grid {
        column-count: 2;
    }

    .assistenti-virtuali__flex-row-2,
    .configuratore__flex-row-2,
    .impaginazione-automatica__flex-row-2,
    .index__flex-row-2,
    .modellazione-3d__flex-row-2,
    .player-web-3d__flex-row-2,
    .progettazione-documenti__flex-row-2,
    .web-design__flex-row-2 {
        flex-direction: row;
    }

    .assistenti-virtuali__container,
    .blog__container,
    .configuratore__container,
    .contatti__container,
    .faq__container,
    .accessibilita__container,
    .esperienze__container,
    .impaginazione-automatica__container,
    .index__container,
    .modellazione-3d__container,
    .footer__container,
    .player-web-3d__container,
    .progettazione-documenti__container,
    .web-design__container {
        padding-inline: 24px;
    }
}

@media (max-width: 720px) {
    .index__section2,
    .index__section4 {
        padding: 72px 0 84px 0;
    }

    .index__h2-title-2,
    .index__h2-title-3 {
        font-size: 36px;
    }

    .index__grid-3 {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .index__card-5,
    .index__card-6 {
        min-height: unset;
    }

    .index__section3 {
        padding: 24px 0 80px 0;
    }

    .index__content-block-6 {
        padding: 0 18px;
    }

    .index__h3-title-5 {
        white-space: normal;
        line-height: 1.25;
        min-height: 2.5em;
    }

    .index__section5 {
        padding: 72px 0;
    }

    .index__h2-title-4 {
        font-size: 28px;
    }

    .index__section6 {
        padding: 76px 0 60px 0;
    }

    .index__h2-title-5 {
        font-size: 22px;
    }

    .index__content-block-17 {
        gap: 46px;
    }

        .index__content-block-17 img {
            height: 20px;
        }
}

@media (max-width: 767px) {
    .blog-detail__hero {
        height: 340px;
    }

    .blog-detail__hero-container,
    .blog-detail__article {
        padding-inline: 20px;
    }

    .blog-detail__title {
        font-size: 210%;
    }

    .blog-detail__gallery-grid {
        grid-template-columns: 1fr;
    }

    .blog-detail__cta-actions {
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .phase-number {
        font-size: 64px;
    }

    .progettazione-documenti__content-block,
    .progettazione-documenti__content-block-7,
    .web-design__content-block,
    .web-design__content-block-7,
    .benefits-container,
    .faq-container {
        padding: 0 20px;
    }

    .progettazione-documenti__card-4,
    .web-design__card-4 {
        padding: 40px 20px 28px;
        border-radius: 22px;
    }

    .progettazione-documenti__h2-title,
    .web-design__h2-title {
        font-size: 26px;
    }

    .benefits-section {
        padding: 64px 0;
    }
}

@media (min-width: 768px) {
    .experience-detail__hero {
        min-height: 440px;
    }

    .experience-detail__title {
        font-size: 56px;
    }

    .experience-detail__info-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .experience-detail__results {
        grid-template-columns: repeat(2, 1fr);
    }

    .experience-detail__cta {
        padding: 30px 28px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
    }

    .blog-detail__article-meta {
        flex-direction: row;
    }

    .portfolio-3d__h1-title {
        font-size: 24px;
    }

    .portfolio-3d__text {
        font-size: 16px;
    }

    .faq-answer {
        font-size: 1rem
    }

    .assistenti-virtuali__logo-gughi,
    .configuratore__logo-ad-configurator-image,
    .impaginazione-automatica__logo-madepage-image,
    .player-web-3d__logo-ad-sight-image {
        height: 56px;
    }

    .blog__grid,
    .esperienze__grid,
    .footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assistenti-virtuali__grid-2,
    .configuratore__grid-2,
    .impaginazione-automatica__grid-2,
    .player-web-3d__grid-2,
    .player-web-3d__grid-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .chi-siamo__grid-2 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .modellazione-3d__section1,
    .modellazione-3d__section2,
    .modellazione-3d__section3,
    .modellazione-3d__section4,
    .modellazione-3d__section5,
    .portfolio-3d__section,
    .portfolio-3d__section-2 {
        padding-inline: 24px;
    }

    .portfolio-3d__card {
        padding-block: 64px;
    }

    .chi-siamo__section,
    .il-metodo__section {
        padding-top: 48px;
    }

    .assistenti-virtuali__h2-title,
    .configuratore__h2-title,
    .impaginazione-automatica__h2-title,
    .modellazione-3d__h3-title-2,
    .player-web-3d__h2-title {
        font-size: 1.5rem;
        line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .assistenti-virtuali__hero-text,
    .configuratore__hero-text,
    .configuratore-crm__hero-text,
    .impaginazione-automatica__hero-text,
    .index__hero-text,
    .modellazione-3d__hero-text,
    .modellazione-3d__h2-title,
    .player-web-3d__hero-text,
    .progettazione-documenti__hero-text,
    .web-design__hero-text {
        font-size: 2.25rem;
        line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .blog__section,
    .contatti-section,
    .faq__section,
    .accessibilita__section,
    .esperienze__section {
        padding-top: 48px;
        padding-bottom: 128px;
    }

    .assistenti-virtuali__hero,
    .configuratore__hero,
    .impaginazione-automatica__hero,
    .index__hero,
    .modellazione-3d__hero,
    .player-web-3d__hero,
    .progettazione-documenti__hero,
    .web-design__hero {
        padding-top: 160px;
        padding-bottom: 128px;
    }
}

@media (max-width: 860px) {
    .faq-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .portfolio-3d__image {
        height: 62vh;
    }

    .portfolio-3d__h3-title {
        font-size: 32px;
    }

    .portfolio-3d__button-2 {
        left: 14px;
    }

    .portfolio-3d__button-3 {
        right: 14px;
    }

    .portfolio-3d__button {
        top: 14px;
        right: 14px;
    }

    .il-metodo__card {
        padding: 32px 24px;
    }

    .index__h2-title-5 {
        font-size: 26px;
    }

    .index__content-block-12 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-highlight-card {
        grid-template-columns: 1fr;
    }

    .phase-content {
        padding-left: 0;
    }

    .phase-number {
        left: 18px;
        top: 18px;
        font-size: 96px;
    }

    .phase-title {
        font-size: 28px;
    }

    .projects-title {
        font-size: 42px;
    }

    .project-card {
        flex-basis: 85%;
    }

    .projects-carousel {
        gap: 18px;
    }

    .projects-nav {
        width: 52px;
        height: 52px;
    }
}

@media (max-width: 1024px) {
    .il-metodo__content-block-2 {
        padding: 46px 36px;
        max-width: 960px;
    }

    .il-metodo__h3-title {
        font-size: 40px;
    }

    .progettazione-documenti__grid-2,
    .web-design__grid-2 {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .progettazione-documenti__grid-4,
    .web-design__grid-4,
    .benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .experience-detail__page-content,
    .assistenti-virtuali__page-content,
    .blog__page-content,
    .blog-detail__page-content,
    .chi-siamo__page-content,
    .configuratore__page-content,
    .contatti__page-content,
    .esperienze__page-content,
    .il-metodo__page-content,
    .impaginazione-automatica__page-content,
    .index__page-content,
    .modellazione-3d__page-content,
    .player-web-3d__page-content,
    .portfolio-3d__page-content,
    .progettazione-documenti__page-content,
    .web-design__page-content,
    .faq__page-content,
    .accessibilita__page-content {
        margin-top: 0;
        margin-left: 256px;
    }

    .experience-detail__hero-content {
        padding: 96px 40px 64px 40px;
    }

    .experience-detail__container {
        padding: 56px 40px 104px 40px;
    }

    .contatti__grid {
        gap: 64px;
    }

    .contatti__content-block-2 {
        gap: 22px;
    }

    .portfolio-3d__grid {
        column-count: 3;
    }

    .sidebar__desktop-visual {
        display: block;
    }

    .sidebar__card,
    .sidebar__content-block,
    .sidebar__content-block-3 {
        display: none;
    }

    .assistenti-virtuali__logo-gughi,
    .configuratore__logo-ad-configurator-image,
    .impaginazione-automatica__logo-madepage-image,
    .player-web-3d__logo-ad-sight-image {
        height: 64px;
    }

    .sidebar__card-2 {
        translate: 0;
    }

    .assistenti-virtuali__grid,
    .chi-siamo__grid-3,
    .configuratore__grid,
    .contatti__grid,
    .impaginazione-automatica__grid,
    .index__grid,
    .modellazione-3d__grid,
    .modellazione-3d__grid-2,
    .player-web-3d__grid,
    .progettazione-documenti__grid,
    .web-design__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .blog__grid,
    .esperienze__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .footer__grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .chi-siamo__grid-2 {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .assistenti-virtuali__container,
    .blog__container,
    .configuratore__container,
    .contatti__container,
    .faq__container,
    .accessibilita__container,
    .esperienze__container,
    .impaginazione-automatica__container,
    .index__container,
    .modellazione-3d__container,
    .footer__container,
    .player-web-3d__container,
    .progettazione-documenti__container,
    .web-design__container {
        padding-inline: 32px;
    }

    .assistenti-virtuali__h2-title,
    .configuratore__h2-title,
    .impaginazione-automatica__h2-title,
    .player-web-3d__h2-title {
        font-size: 1.875rem;
        line-height: var(--tw-leading, var(--text-3xl--line-height));
    }

    .assistenti-virtuali__hero,
    .configuratore__hero,
    .impaginazione-automatica__hero,
    .index__hero,
    .modellazione-3d__hero,
    .player-web-3d__hero,
    .progettazione-documenti__hero,
    .web-design__hero {
        min-height: 100vh;
    }
}

@media (max-width: 1100px) {
    .faq-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .index__grid-2,
    .index__grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .index__h3-title-5 {
        white-space: normal;
        line-height: 1.25;
        min-height: 2.5em;
    }

    .index__grid-4 {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .index__h2-title-4 {
        font-size: 34px;
    }

    .index__text-9 {
        max-width: unset;
    }
}

/* #endregion */