/* Diversi. Abili. — home e pagina dedicata */
:root {
    --da-navy: #07182f;
    --da-blue: #123f78;
    --da-blue-bright: #2f6fc5;
    --da-indigo: #3d245f;
    --da-violet: #6d3da0;
    --da-plum: #2a163f;
    --da-sky: #edf4fb;
    --da-gold: #f2c75c;
    --da-coral: #f36f56;
    --da-ink: #10233e;
    --da-muted: #5f6f83;
    --da-line: rgba(16, 35, 62, .13);
    --da-white: #fff;
}

/* Incipit home: sezione integrata nella sequenza editoriale */
.home-diversi {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 8rem) 0;
    color: #fff;
    background:
        radial-gradient(circle at 78% 20%, rgba(243,111,86,.23), transparent 27%),
        radial-gradient(circle at 12% 85%, rgba(242,199,92,.16), transparent 28%),
        linear-gradient(128deg, #231438 0%, #3c205e 52%, #62357e 100%);
}
.home-diversi::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .35;
    background-image:
        linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(90deg, #000 10%, transparent 88%);
}
.home-diversi__stage {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}
.home-diversi__kicker { color: #ffd978; }
.home-diversi__kicker span { background: #ffd978 !important; box-shadow: 0 0 18px rgba(255,217,120,.7); }
.home-diversi h2 {
    max-width: 900px;
    margin: 0 0 1.2rem;
    color: #fff;
    font-size: clamp(2.6rem, 5vw, 5.8rem);
    line-height: .94;
    letter-spacing: -.06em;
}
.home-diversi__copy > p:not(.home-space-kicker) {
    max-width: 980px;
    margin: 0;
    color: rgba(255,255,255,.8);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    line-height: 1.75;
}
.home-diversi__link {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    margin-top: 1.55rem;
    padding: .95rem 1.25rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    color: #2a163f;
    background: #ffd978;
    box-shadow: 0 15px 36px rgba(10,5,22,.24);
    font-weight: 950;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}
.home-diversi__link:hover,
.home-diversi__link:focus-visible {
    color: #2a163f;
    transform: translateY(-3px);
    box-shadow: 0 20px 44px rgba(10,5,22,.3);
}
.home-diversi__visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 430px;
    isolation: isolate;
}
.home-diversi__visual::before {
    content: "";
    position: absolute;
    width: 74%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(243,111,86,.32), transparent 65%);
    filter: blur(14px);
}
.home-diversi__orbit {
    position: absolute;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
}
.home-diversi__orbit--outer { width: 88%; border-style: dashed; animation: da-spin 32s linear infinite; }
.home-diversi__orbit--inner { width: 58%; animation: da-spin-reverse 22s linear infinite; }
.home-diversi__core {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 145px;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 25%, #7c4ea4, #2a163f 72%);
    box-shadow: 0 0 0 18px rgba(255,255,255,.04), 0 28px 70px rgba(10,5,22,.34);
    text-align: center;
}
.home-diversi__core strong { font-size: 1.15rem; letter-spacing: .09em; }
.home-diversi__core small { color: #ffd978; font-weight: 850; }
.home-diversi__node {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: .6rem .85rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    color: #fff;
    background: rgba(34,15,54,.76);
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 28px rgba(10,5,22,.25);
    font-size: .83rem;
    font-weight: 900;
    animation: da-float 5s ease-in-out infinite;
}
.home-diversi__node::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-right: .48rem;
    border-radius: 50%;
    background: #ffd978;
    box-shadow: 0 0 14px rgba(255,217,120,.9);
}
.home-diversi__node--memory { top: 8%; left: 30%; }
.home-diversi__node--listen { top: 32%; right: -2%; animation-delay: -.8s; }
.home-diversi__node--detail { bottom: 11%; right: 10%; animation-delay: -1.6s; }
.home-diversi__node--gesture { bottom: 10%; left: 4%; animation-delay: -2.4s; }
.home-diversi__node--rhythm { top: 31%; left: -2%; animation-delay: -3.2s; }
.home-diversi__abilities {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
    margin-top: clamp(2rem, 4vw, 3.5rem);
}
.home-diversi__abilities span {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(10px);
    font-weight: 850;
}
.home-diversi__abilities b {
    display: block;
    margin-bottom: .35rem;
    color: #ffd978;
    font-size: .66rem;
    letter-spacing: .12em;
}

/* Pagina */
.page-diversi-abili { background: #f4f8fd; }
.page-diversi-abili .site-main { overflow: clip; }
.da-scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1200;
    width: 100%;
    height: 3px;
    pointer-events: none;
    background: rgba(255,255,255,.08);
}
.da-scroll-progress span {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, var(--da-gold), var(--da-coral));
    box-shadow: 0 0 16px rgba(242,199,92,.75);
}
.da-hero {
    --da-px: 0px;
    --da-py: 0px;
    --da-npx: 0px;
    --da-npy: 0px;
    position: relative;
    overflow: hidden;
    min-height: min(880px, 92vh);
    color: #fff;
    background-color: #07182f;
    background-image:
        radial-gradient(circle at calc(80% + var(--da-px)) calc(24% + var(--da-py)), rgba(109,61,160,.55), transparent 28%),
        radial-gradient(circle at 8% 88%, rgba(243,111,86,.2), transparent 30%),
        linear-gradient(125deg, #07182f 0%, #102f5e 48%, #3c245f 100%);
}
.da-hero__aurora {
    position: absolute;
    inset: -25%;
    pointer-events: none;
    opacity: .65;
    background: conic-gradient(from 70deg, transparent 0 18%, rgba(47,111,197,.3) 22%, transparent 34%, rgba(243,111,86,.18) 48%, transparent 60%, rgba(242,199,92,.16) 73%, transparent 84%);
    filter: blur(70px);
    animation: da-aurora 18s ease-in-out infinite alternate;
}
.da-hero__grid {
    position: absolute;
    inset: 0;
    opacity: .48;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 52px 52px;
    transform: translate(var(--da-npx), var(--da-npy));
    mask-image: linear-gradient(to bottom, #000 5%, transparent 96%);
}
.da-hero__particles i {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--da-gold);
    box-shadow: 0 0 18px rgba(242,199,92,.9);
    animation: da-particle var(--d) ease-in-out infinite;
}
.da-hero__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    gap: clamp(2.5rem, 7vw, 8rem);
    align-items: center;
    min-height: min(880px, 92vh);
    padding-top: clamp(5rem, 9vw, 8rem);
    padding-bottom: clamp(5.5rem, 9vw, 8rem);
}
.da-kicker {
    margin: 0 0 .9rem;
    color: var(--da-gold);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.da-kicker--blue { color: var(--da-blue-bright); }
.da-hero h1 {
    display: grid;
    margin: 0;
    font-size: clamp(4.8rem, 10.5vw, 11rem);
    line-height: .76;
    letter-spacing: -.09em;
}
.da-title-line {
    display: block;
    transform: translateY(0);
    text-shadow: 0 26px 70px rgba(0,0,0,.22);
}
.da-title-line--accent {
    color: var(--da-gold);
    transform: translateX(clamp(1rem, 4vw, 4.5rem));
}
.da-hero__lead {
    max-width: 760px;
    margin: 2.2rem 0 0;
    color: rgba(255,255,255,.8);
    font-size: clamp(1.12rem, 2vw, 1.5rem);
    line-height: 1.58;
}
.da-hero__actions,
.da-call__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.da-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: .88rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 14px;
    font-weight: 950;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.da-btn--gold { color: var(--da-navy); background: var(--da-gold); box-shadow: 0 14px 34px rgba(242,199,92,.22); }
.da-btn--gold:hover,
.da-btn--gold:focus-visible { color: var(--da-navy); transform: translateY(-3px); box-shadow: 0 20px 42px rgba(242,199,92,.32); }
.da-btn--ghost { color: #fff; border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.da-btn--ghost:hover,
.da-btn--ghost:focus-visible { color: var(--da-navy); background: #fff; transform: translateY(-3px); }
.da-hero__principles { display: flex; flex-wrap: wrap; gap: .7rem 1.35rem; margin-top: 2.2rem; color: rgba(255,255,255,.72); font-size: .88rem; font-weight: 800; }
.da-hero__principles span { display: inline-flex; align-items: center; gap: .45rem; }
.da-hero__principles b { color: var(--da-gold); font-size: .65rem; letter-spacing: .1em; }
.da-constellation {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 570px;
    isolation: isolate;
    transform: translate(var(--da-px), var(--da-py));
    transition: transform .16s linear;
}
.da-constellation::before {
    content: "";
    position: absolute;
    width: 82%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(109,61,160,.38), transparent 65%);
    filter: blur(10px);
}
.da-constellation__links {
    position: absolute;
    width: 100%;
    max-width: 600px;
    aspect-ratio: 1;
    overflow: visible;
}
.da-constellation__links path {
    fill: none;
    stroke: rgba(255,255,255,.27);
    stroke-width: 1.4;
    stroke-dasharray: 9 12;
    animation: da-link-flow 8s linear infinite;
}
.da-constellation__ring { position: absolute; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); }
.da-constellation__ring--outer { width: 86%; border-style: dashed; animation: da-spin 35s linear infinite; }
.da-constellation__ring--inner { width: 54%; animation: da-spin-reverse 24s linear infinite; }
.da-constellation__core {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 172px;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 28%, #7c4ea4, #0b2b55 72%);
    box-shadow: 0 0 0 21px rgba(255,255,255,.035), 0 30px 75px rgba(0,0,0,.28);
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}
.da-constellation__core.is-changing { transform: scale(1.07); box-shadow: 0 0 0 26px rgba(242,199,92,.055), 0 34px 82px rgba(0,0,0,.32); }
.da-constellation__core > span { display: block; color: #fff; font-size: 1.2rem; font-weight: 950; letter-spacing: .08em; }
.da-constellation__core > small { color: var(--da-gold); font-weight: 850; }
.da-constellation__node {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 122px;
    min-height: 46px;
    padding: .72rem .95rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: #fff;
    background: rgba(7,24,47,.76);
    box-shadow: 0 12px 30px rgba(0,0,0,.24);
    backdrop-filter: blur(12px);
    font-weight: 900;
    text-decoration: none;
    animation: da-float 5s ease-in-out infinite;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.da-constellation__node::before { content: ""; width: 8px; height: 8px; margin-right: .5rem; border-radius: 50%; background: var(--da-gold); box-shadow: 0 0 16px var(--da-gold); }
.da-constellation__node:hover,
.da-constellation__node:focus-visible { color: #fff; border-color: var(--da-gold); background: rgba(61,36,95,.92); transform: scale(1.06); }
.da-constellation__node--memory { top: 7%; left: 28%; }
.da-constellation__node--listen { top: 31%; right: -1%; animation-delay: -.8s; }
.da-constellation__node--precision { bottom: 11%; right: 10%; animation-delay: -1.6s; }
.da-constellation__node--rhythm { bottom: 9%; left: 5%; animation-delay: -2.4s; }
.da-constellation__node--gesture { top: 30%; left: -2%; animation-delay: -3.2s; }
.da-scroll-cue {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 1.5rem;
    display: grid;
    justify-items: center;
    gap: .45rem;
    color: rgba(255,255,255,.68);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
    text-decoration: none;
    transform: translateX(-50%);
}
.da-scroll-cue span { width: 1px; height: 34px; background: linear-gradient(var(--da-gold), transparent); animation: da-scroll-cue 1.8s ease-in-out infinite; }
.da-wordstream {
    overflow: hidden;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.78);
    background: #0b203e;
}
.da-wordstream div {
    display: flex;
    align-items: center;
    width: max-content;
    padding: .85rem 0;
    animation: da-marquee 28s linear infinite;
}
.da-wordstream span { padding: 0 1.4rem; font-size: .72rem; font-weight: 950; letter-spacing: .2em; }
.da-wordstream i { width: 6px; height: 6px; border-radius: 50%; background: var(--da-gold); box-shadow: 0 0 14px rgba(242,199,92,.8); }

.da-main { overflow: clip; }
.da-manifesto { padding: clamp(5rem, 9vw, 9rem) 0; background: #fff; }
.da-manifesto__layout { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); max-width: 1180px; margin: 0 auto; }
.da-manifesto__index { display: flex; flex-direction: column; align-items: center; gap: 1rem; color: var(--da-blue); }
.da-manifesto__index span { font-size: 2rem; font-weight: 950; }
.da-manifesto__index i { width: 1px; min-height: 190px; background: linear-gradient(var(--da-blue), transparent); }
.da-manifesto__index small { writing-mode: vertical-rl; font-size: .65rem; font-weight: 950; letter-spacing: .16em; }
.da-manifesto__copy h2,
.da-section-head h2,
.da-equality h2,
.da-call h2 { margin: 0; color: var(--da-ink); font-size: clamp(2.7rem, 5.4vw, 6rem); line-height: .98; letter-spacing: -.06em; }
.da-manifesto__copy > p:not(.da-kicker) { max-width: 980px; color: var(--da-muted); font-size: clamp(1.05rem, 1.45vw, 1.22rem); line-height: 1.82; }
.da-manifesto__copy > p + p { margin-top: 1.2rem; }

.da-capabilities { padding: clamp(5rem, 9vw, 9rem) 0; background: linear-gradient(180deg, #edf4fb, #f8fbff); }
.da-section-head { max-width: 1080px; margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.da-section-head h2 { margin-bottom: 1.25rem; }
.da-section-head > p:last-child { max-width: 900px; color: var(--da-muted); font-size: 1.08rem; line-height: 1.75; }
.da-capabilities__layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.da-capability-nav {
    position: sticky;
    top: 110px;
    display: grid;
    gap: .55rem;
    padding: 1.2rem;
    border: 1px solid rgba(16,35,62,.1);
    border-radius: 24px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 18px 42px rgba(8,27,53,.08);
    backdrop-filter: blur(16px);
}
.da-capability-nav > p { margin: 0 0 .3rem; color: var(--da-muted); font-size: .64rem; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.da-capability-nav a {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: .65rem;
    align-items: center;
    padding: .7rem .75rem;
    border-radius: 13px;
    color: var(--da-muted);
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.da-capability-nav a:hover,
.da-capability-nav a:focus-visible { color: var(--da-blue); background: #edf4fb; transform: translateX(3px); }
.da-capability-nav a.is-active { color: #fff; background: linear-gradient(135deg, var(--da-blue), var(--da-violet)); box-shadow: 0 10px 24px rgba(18,63,120,.18); }
.da-capability-nav b { color: var(--da-gold); font-size: .67rem; letter-spacing: .08em; }
.da-capability-nav span { font-weight: 900; }
.da-capability-nav__progress { overflow: hidden; height: 4px; margin-top: .45rem; border-radius: 999px; background: #e6edf6; }
.da-capability-nav__progress span { display: block; width: 100%; height: 100%; transform: scaleX(.2); transform-origin: left; background: linear-gradient(90deg, var(--da-blue), var(--da-violet)); transition: transform .35s ease; }
.da-capability-list { display: grid; gap: 1.25rem; }
.da-capability {
    --tilt-x: 0deg;
    --tilt-y: 0deg;
    position: relative;
    display: grid;
    grid-template-columns: 68px 112px minmax(0, 1fr) minmax(190px, .42fr);
    gap: clamp(1rem, 3vw, 2.4rem);
    align-items: center;
    overflow: hidden;
    min-height: 270px;
    padding: clamp(1.5rem, 3.2vw, 2.75rem);
    border: 1px solid rgba(16,35,62,.1);
    border-radius: 30px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 20px 48px rgba(8,27,53,.075);
    transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
    transform-style: preserve-3d;
    scroll-margin-top: 120px;
    transition: transform .18s ease, box-shadow .25s ease, border-color .25s ease;
}
.da-capability:hover,
.da-capability:focus-within { border-color: rgba(47,111,197,.26); box-shadow: 0 30px 70px rgba(8,27,53,.13); }
.da-capability::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6px; background: linear-gradient(var(--da-blue-bright), var(--da-violet), var(--da-gold)); }
.da-capability__glow { position: absolute; right: -12%; bottom: -65%; width: 55%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(109,61,160,.12), transparent 66%); pointer-events: none; transition: transform .6s ease; }
.da-capability:hover .da-capability__glow { transform: scale(1.18) translate(-4%, -4%); }
.da-capability__number { position: relative; z-index: 2; align-self: start; color: var(--da-blue); font-size: 1.22rem; font-weight: 950; }
.da-capability__icon {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, 28px);
    gap: 8px;
    place-content: center;
    width: 104px;
    aspect-ratio: 1;
    border-radius: 27px;
    color: #fff;
    background: linear-gradient(145deg, var(--da-navy), var(--da-violet));
    box-shadow: 0 16px 36px rgba(18,63,120,.22);
    transform: translateZ(20px);
}
.da-capability__icon span { width: 28px; height: 28px; border: 2px solid rgba(255,255,255,.75); border-radius: 9px; }
.da-capability__icon span:nth-child(2), .da-capability__icon span:nth-child(3) { background: var(--da-gold); border-color: var(--da-gold); }
.da-capability__icon--wave { display: flex; align-items: center; gap: 5px; }
.da-capability__icon--wave i { width: 6px; border-radius: 999px; background: var(--da-gold); animation: da-wave 1.2s ease-in-out infinite; }
.da-capability__icon--wave i:nth-child(1), .da-capability__icon--wave i:nth-child(5) { height: 22px; }
.da-capability__icon--wave i:nth-child(2), .da-capability__icon--wave i:nth-child(4) { height: 45px; animation-delay: -.2s; }
.da-capability__icon--wave i:nth-child(3) { height: 66px; animation-delay: -.4s; }
.da-capability__icon--gesture { display: flex; gap: 7px; }
.da-capability__icon--gesture b { width: 16px; height: 54px; border: 2px solid rgba(255,255,255,.78); border-radius: 999px; transform-origin: bottom; animation: da-gesture 2.4s ease-in-out infinite; }
.da-capability__icon--gesture b:nth-child(1) { transform: rotate(-22deg); }
.da-capability__icon--gesture b:nth-child(3) { transform: rotate(22deg); animation-delay: -.8s; }
.da-capability__icon--archive { display: flex; flex-direction: column; gap: 7px; }
.da-capability__icon--archive span { width: 62px; height: 12px; border: 0; border-radius: 3px; background: var(--da-gold); box-shadow: inset 9px 0 0 rgba(255,255,255,.38); animation: da-archive 2.8s ease-in-out infinite; }
.da-capability__icon--archive span:nth-child(2) { animation-delay: -.7s; }
.da-capability__icon--archive span:nth-child(3) { animation-delay: -1.4s; }
.da-capability__icon--voice { display: flex; align-items: end; gap: 6px; }
.da-capability__icon--voice i { width: 10px; border-radius: 999px; background: var(--da-gold); animation: da-wave 1.4s ease-in-out infinite; }
.da-capability__icon--voice i:nth-child(1) { height: 28px; }.da-capability__icon--voice i:nth-child(2) { height: 54px; animation-delay: -.3s; }.da-capability__icon--voice i:nth-child(3) { height: 40px; animation-delay: -.6s; }.da-capability__icon--voice i:nth-child(4) { height: 64px; animation-delay: -.9s; }
.da-capability__copy { position: relative; z-index: 2; transform: translateZ(14px); }
.da-capability__label { margin: 0 0 .4rem; color: var(--da-blue-bright); font-size: .68rem; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.da-capability h3 { margin: 0 0 .75rem; color: var(--da-ink); font-size: clamp(1.9rem, 3vw, 3.1rem); letter-spacing: -.045em; }
.da-capability__copy > p:last-child { margin: 0; color: var(--da-muted); line-height: 1.75; }
.da-capability__result { position: relative; z-index: 2; padding-left: 1.3rem; border-left: 1px solid var(--da-line); color: var(--da-blue); font-size: .95rem; line-height: 1.5; transform: translateZ(10px); }
.da-capability__signal { position: absolute; z-index: 1; right: 1.2rem; bottom: .9rem; width: 150px; height: 52px; opacity: .13; pointer-events: none; }
.da-capability__signal--grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.da-capability__signal--grid i { border: 2px solid var(--da-violet); border-radius: 5px; animation: da-grid-blink 2.4s ease-in-out infinite; }
.da-capability__signal--grid i:nth-child(2n) { animation-delay: -.8s; }
.da-capability__signal--wave { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.da-capability__signal--wave i { width: 7px; border-radius: 999px; background: var(--da-blue); animation: da-wave 1.2s ease-in-out infinite; }
.da-capability__signal--wave i:nth-child(1), .da-capability__signal--wave i:nth-child(7) { height: 14px; }
.da-capability__signal--wave i:nth-child(2), .da-capability__signal--wave i:nth-child(6) { height: 28px; animation-delay: -.2s; }
.da-capability__signal--wave i:nth-child(3), .da-capability__signal--wave i:nth-child(5) { height: 42px; animation-delay: -.4s; }
.da-capability__signal--wave i:nth-child(4) { height: 52px; animation-delay: -.6s; }
.da-capability__signal--gesture { display: flex; align-items: end; justify-content: flex-end; gap: 8px; }
.da-capability__signal--gesture span { width: 22px; height: 48px; border: 3px solid var(--da-violet); border-radius: 999px; animation: da-gesture 2.2s ease-in-out infinite; }
.da-capability__signal--archive { display: grid; gap: 5px; }
.da-capability__signal--archive i { height: 8px; border-radius: 3px; background: var(--da-blue); animation: da-archive 2.6s ease-in-out infinite; }
.da-capability__signal--voice { display: flex; align-items: end; justify-content: flex-end; gap: 7px; }
.da-capability__signal--voice i { width: 9px; border-radius: 999px; background: var(--da-violet); animation: da-wave 1.3s ease-in-out infinite; }
.da-capability__signal--voice i:nth-child(1) { height: 18px; }.da-capability__signal--voice i:nth-child(2) { height: 38px; }.da-capability__signal--voice i:nth-child(3) { height: 52px; }.da-capability__signal--voice i:nth-child(4) { height: 30px; }.da-capability__signal--voice i:nth-child(5) { height: 45px; }

.da-equality { padding: clamp(5rem, 9vw, 9rem) 0; background: #fff; }
.da-equality__card {
    position: relative;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
    overflow: hidden;
    padding: clamp(2.2rem, 5vw, 5.2rem);
    border-radius: 38px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(109,61,160,.45), transparent 35%),
        linear-gradient(132deg, var(--da-navy), var(--da-blue));
    box-shadow: 0 34px 80px rgba(8,27,53,.22);
}
.da-equality__card::after { content: "="; position: absolute; right: -1rem; bottom: -5rem; color: rgba(255,255,255,.035); font-size: 26rem; font-weight: 950; line-height: 1; }
.da-equality__mark { position: relative; display: grid; place-items: center; width: 165px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 18px rgba(255,255,255,.035); }
.da-equality__mark span { color: var(--da-gold); font-size: 5rem; font-weight: 950; }
.da-equality__mark i { position: absolute; inset: -18px; border: 1px dashed rgba(255,255,255,.2); border-radius: 50%; animation: da-spin 24s linear infinite; }
.da-equality h2 { margin: 0 0 1.25rem; color: #fff; }
.da-equality p:not(.da-kicker) { max-width: 980px; color: rgba(255,255,255,.78); font-size: 1.08rem; line-height: 1.75; }
.da-equality__steps { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; margin-top: 1.8rem; }
.da-equality__steps span { padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.07); font-size: .85rem; font-weight: 850; transition: transform .2s ease, background .2s ease; }
.da-equality__steps span:hover { transform: translateY(-4px); background: rgba(255,255,255,.12); }
.da-equality__steps b { display: block; margin-bottom: .35rem; color: var(--da-gold); font-size: .7rem; }
.da-call { padding: 0 0 clamp(5rem, 9vw, 9rem); background: #fff; }
.da-call__card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    padding: clamp(2.2rem, 5vw, 5.2rem);
    border: 1px solid rgba(18,63,120,.1);
    border-radius: 38px;
    background:
        radial-gradient(circle at 88% 20%, rgba(109,61,160,.13), transparent 32%),
        linear-gradient(135deg, #edf4fb, #e5edf9);
}
.da-call__copy { max-width: 920px; }
.da-call h2 { margin: 0 0 1rem; }
.da-call__copy > p:last-child { color: var(--da-muted); font-size: 1.08rem; line-height: 1.75; }
.da-call .da-btn--ghost { color: var(--da-blue); border-color: rgba(18,63,120,.25); background: #fff; }
.da-call .da-btn--ghost:hover { color: #fff; background: var(--da-blue); }

[data-da-reveal] { opacity: 1; transform: none; }
.da-reveal-ready [data-da-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.da-reveal-ready [data-da-reveal].is-visible { opacity: 1; transform: translateY(0); }
.da-reveal-ready .da-capability[data-da-reveal] { transition: opacity .7s ease, transform .18s ease, box-shadow .25s ease, border-color .25s ease; }

@keyframes da-spin { to { transform: rotate(360deg); } }
@keyframes da-spin-reverse { to { transform: rotate(-360deg); } }
@keyframes da-aurora { 0% { transform: rotate(-4deg) scale(.96); } 100% { transform: rotate(7deg) scale(1.08); } }
@keyframes da-particle { 0%,100% { opacity: .25; transform: translate3d(0,0,0) scale(.7); } 50% { opacity: 1; transform: translate3d(10px,-18px,0) scale(1.25); } }
@keyframes da-link-flow { to { stroke-dashoffset: -84; } }
@keyframes da-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes da-wave { 0%,100% { transform: scaleY(.62); } 50% { transform: scaleY(1.08); } }
@keyframes da-gesture { 0%,100% { translate: 0 0; } 50% { translate: 0 -8px; } }
@keyframes da-archive { 0%,100% { transform: translateX(0); opacity: .7; } 50% { transform: translateX(10px); opacity: 1; } }
@keyframes da-grid-blink { 0%,100% { opacity: .3; transform: scale(.9); } 50% { opacity: 1; transform: scale(1); } }
@keyframes da-scroll-cue { 0%,100% { transform: scaleY(.3); transform-origin: top; opacity: .35; } 50% { transform: scaleY(1); opacity: 1; } }
@keyframes da-marquee { to { transform: translateX(-50%); } }

@media (max-width: 1180px) {
    .home-diversi__stage { grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); }
    .da-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(350px, .8fr); }
    .da-capabilities__layout { grid-template-columns: 180px minmax(0, 1fr); gap: 1.5rem; }
    .da-capability { grid-template-columns: 58px 96px minmax(0, 1fr); }
    .da-capability__result { grid-column: 3; padding: .9rem 0 0; border-top: 1px solid var(--da-line); border-left: 0; }
    .da-capability__icon { width: 90px; }
    .da-call__card { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 900px) {
    .home-diversi__stage { grid-template-columns: 1fr; }
    .home-diversi__visual { min-height: 360px; max-width: 620px; width: 100%; margin: 0 auto; }
    .home-diversi__abilities { grid-template-columns: repeat(5, minmax(120px, 1fr)); overflow-x: auto; padding-bottom: .35rem; scroll-snap-type: x proximity; }
    .home-diversi__abilities span { scroll-snap-align: start; }
    .da-hero { min-height: auto; }
    .da-hero__inner { grid-template-columns: 1fr; min-height: auto; }
    .da-constellation { min-height: 500px; max-width: 620px; width: 100%; margin: 0 auto; }
    .da-manifesto__layout { grid-template-columns: 1fr; }
    .da-manifesto__index { display: none; }
    .da-capabilities__layout { grid-template-columns: 1fr; }
    .da-capability-nav {
        position: sticky;
        top: 70px;
        z-index: 10;
        display: flex;
        overflow-x: auto;
        padding: .7rem;
        border-radius: 18px;
        scroll-snap-type: x proximity;
    }
    .da-capability-nav > p,
    .da-capability-nav__progress { display: none; }
    .da-capability-nav a { min-width: max-content; scroll-snap-align: start; }
    .da-equality__card { grid-template-columns: 1fr; }
    .da-equality__mark { width: 115px; }
    .da-equality__steps { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
    .home-diversi { padding: 3.8rem 0; }
    .home-diversi h2 { font-size: clamp(2.45rem, 12vw, 4rem); }
    .home-diversi__copy > p:not(.home-space-kicker) { font-size: .98rem; line-height: 1.65; }
    .home-diversi__visual { min-height: 310px; }
    .home-diversi__core { width: 112px; }
    .home-diversi__node { min-height: 36px; padding: .5rem .65rem; font-size: .72rem; }
    .home-diversi__node--memory { left: 22%; }
    .home-diversi__node--listen { right: -3%; }
    .home-diversi__node--rhythm { left: -4%; }
    .home-diversi__abilities { margin-top: 1.5rem; }
    .home-diversi__abilities span { min-width: 132px; padding: .8rem; }
    .da-hero__inner { padding-top: 4rem; padding-bottom: 5rem; }
    .da-hero h1 { font-size: clamp(4.5rem, 25vw, 7rem); }
    .da-title-line--accent { transform: translateX(.55rem); }
    .da-hero__lead { margin-top: 1.55rem; font-size: 1.04rem; }
    .da-hero__actions { display: grid; grid-template-columns: 1fr; }
    .da-btn { width: 100%; }
    .da-hero__principles { display: grid; grid-template-columns: 1fr; gap: .45rem; }
    .da-constellation { min-height: 340px; }
    .da-constellation__core { width: 116px; }
    .da-constellation__node { min-width: 92px; min-height: 38px; padding: .55rem .68rem; font-size: .74rem; }
    .da-constellation__node--memory { left: 23%; }
    .da-constellation__node--listen { right: -4%; }
    .da-constellation__node--gesture { left: -5%; }
    .da-scroll-cue { display: none; }
    .da-manifesto,
    .da-capabilities,
    .da-equality { padding: 4rem 0; }
    .da-manifesto__copy h2,
    .da-section-head h2,
    .da-equality h2,
    .da-call h2 { font-size: clamp(2.2rem, 11vw, 3.7rem); }
    .da-capability-nav { top: 62px; }
    .da-capability { grid-template-columns: 45px 72px minmax(0, 1fr); min-height: 0; padding: 1.2rem; border-radius: 22px; transform: none !important; }
    .da-capability__icon { width: 68px; border-radius: 18px; transform: scale(.82); transform-origin: center; }
    .da-capability__copy { grid-column: 1 / -1; }
    .da-capability__result { grid-column: 1 / -1; }
    .da-capability h3 { font-size: 2.1rem; }
    .da-capability__signal { width: 105px; opacity: .09; }
    .da-equality__card,
    .da-call__card { padding: 1.55rem; border-radius: 26px; }
    .da-equality__steps { grid-template-columns: 1fr; }
    .da-call { padding-bottom: 4rem; }
    .da-call__actions { width: 100%; display: grid; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .home-diversi__orbit,
    .home-diversi__node,
    .da-hero__aurora,
    .da-hero__particles i,
    .da-constellation__links path,
    .da-constellation__ring,
    .da-constellation__node,
    .da-scroll-cue span,
    .da-wordstream div,
    .da-capability__icon--wave i,
    .da-capability__icon--gesture b,
    .da-capability__icon--archive span,
    .da-capability__icon--voice i,
    .da-capability__signal *,
    .da-equality__mark i { animation: none !important; }
    [data-da-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
    .da-constellation,
    .da-capability { transform: none !important; transition: none !important; }
    .home-diversi__link,
    .da-btn { transition: none !important; }
}

/* Home Diversi. Abili.: carrozzina con propulsore, costruita interamente in CSS. */
.home-diversi__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.55rem;
}

.home-diversi__actions .home-diversi__link {
    margin-top: 0;
}

.home-diversi__link--ghost {
    color: #fff;
    background: rgba(255, 255, 255, .07);
}

.home-diversi__link--ghost:hover,
.home-diversi__link--ghost:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, .13);
}

.home-diversi__launch {
    position: relative;
    z-index: 4;
    display: grid;
    place-items: center;
    width: min(285px, 70%);
    aspect-ratio: 1;
    animation: home-da-launch-float 4.8s ease-in-out infinite;
}

.home-diversi__launch::before {
    content: "";
    position: absolute;
    inset: 18%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 217, 120, .32), rgba(243, 111, 86, .08) 55%, transparent 70%);
    filter: blur(9px);
    animation: home-da-launch-pulse 2.8s ease-in-out infinite;
}

.home-diversi__chair {
    position: relative;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 160px;
    height: 160px;
    border: 2px solid rgba(255, 255, 255, .38);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 28%, #8152a9 0%, #472667 58%, #251337 100%);
    box-shadow:
        0 0 0 15px rgba(255, 255, 255, .05),
        0 30px 70px rgba(10, 5, 22, .38),
        inset 0 0 32px rgba(255, 255, 255, .08);
    transform: translateX(30px);
}

.home-diversi__chair-symbol {
    display: block;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 5.8rem;
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 8px 24px rgba(0, 0, 0, .28);
    transform: translateY(-1px);
}

/* Propulsore compatto fissato direttamente al blocco della carrozzina. */
.home-diversi__chair {
    overflow: visible;
}

.home-diversi__chair-symbol {
    position: relative;
    z-index: 4;
}

.home-diversi__thruster {
    position: absolute;
    z-index: 3;
    top: 58%;
    left: -32px;
    display: block;
    width: 38px;
    height: 26px;
    pointer-events: none;
    border: 2px solid rgba(255, 255, 255, .68);
    border-right: 0;
    border-radius: 13px 4px 4px 13px;
    background: linear-gradient(180deg, #eef5fb 0%, #a7b8ca 46%, #596d84 100%);
    box-shadow:
        0 8px 18px rgba(9, 4, 20, .36),
        inset 0 3px 5px rgba(255, 255, 255, .48);
    transform: translateY(-50%);
}

/* Collare visibile tra propulsore e blocco blu. */
.home-diversi__thruster::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
    width: 14px;
    height: 38px;
    border: 3px solid rgba(225, 235, 245, .95);
    border-left: 0;
    border-radius: 0 11px 11px 0;
    background: rgba(62, 83, 109, .35);
    transform: translateY(-50%);
}

.home-diversi__thruster-flame {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: calc(100% - 1px);
    display: block;
    width: 70px;
    height: 28px;
    border-radius: 82% 16% 16% 82%;
    background: linear-gradient(90deg, rgba(243,111,86,0) 0%, #f36f56 20%, #ff9e3d 48%, #ffd978 74%, #fff8df 100%);
    filter: drop-shadow(0 0 13px rgba(255, 177, 58, .95));
    transform: translateY(-50%) scaleX(.82);
    transform-origin: right center;
    animation: home-da-flame .68s ease-in-out infinite;
}

.home-diversi__thruster-flame::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 6px;
    width: 40px;
    height: 10px;
    border-radius: 999px 0 0 999px;
    background: rgba(255, 255, 255, .88);
    transform: translateY(-50%);
    filter: blur(.5px);
}

.home-diversi__launch-label {
    position: absolute;
    z-index: 5;
    bottom: 1%;
    left: 50%;
    width: max-content;
    max-width: 100%;
    padding: .55rem .8rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    color: #2a163f;
    background: #ffd978;
    box-shadow: 0 12px 28px rgba(10, 5, 22, .25);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    transform: translateX(-50%);
}

@keyframes home-da-launch-float {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(-1deg); }
    50% { transform: translate3d(0, -12px, 0) rotate(1.5deg); }
}

@keyframes home-da-launch-pulse {
    0%, 100% { opacity: .7; transform: scale(.92); }
    50% { opacity: 1; transform: scale(1.08); }
}

@keyframes home-da-flame {
    0%, 100% { transform: translateY(-50%) scaleX(.78); opacity: .72; }
    50% { transform: translateY(-50%) scaleX(1.14); opacity: 1; }
}

@media (max-width: 767px) {
    .home-diversi__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .home-diversi__actions .home-diversi__link {
        justify-content: space-between;
        width: 100%;
    }

    .home-diversi__launch {
        width: min(245px, 78%);
    }

    .home-diversi__chair {
        width: 132px;
        height: 132px;
        transform: translateX(23px);
    }

    .home-diversi__chair-symbol {
        font-size: 4.75rem;
    }

    .home-diversi__thruster {
        left: -27px;
        width: 33px;
        height: 23px;
    }

    .home-diversi__thruster::after {
        right: -9px;
        width: 12px;
        height: 33px;
    }

    .home-diversi__thruster-flame {
        width: 56px;
        height: 22px;
    }

    .home-diversi__thruster-flame::after {
        width: 31px;
        height: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-diversi__launch,
    .home-diversi__launch::before,
    .home-diversi__thruster-flame {
        animation: none;
    }
}

/* Correzione definitiva: propulsore fissato al badge blu della carrozzina. */
.home-diversi__launch,
.home-diversi__visual,
.home-diversi__chair {
    overflow: visible !important;
}

.home-diversi__chair {
    --da-chair-badge-size: 106px;
    isolation: isolate;
}

.home-diversi__chair-symbol {
    position: relative;
    z-index: 12;
    display: grid;
    place-items: center;
    width: var(--da-chair-badge-size);
    height: var(--da-chair-badge-size);
    border: 2px solid rgba(255, 255, 255, .24);
    border-radius: 25px;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(255,255,255,.28), transparent 26%),
        linear-gradient(145deg, #20a9f4 0%, #0674de 48%, #0752b8 100%);
    box-shadow:
        0 15px 30px rgba(1, 48, 117, .36),
        inset 0 0 18px rgba(255, 255, 255, .14);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 5px 12px rgba(0, 44, 111, .38);
    transform: none;
}

/* Nasconde definitivamente gli elementi delle versioni precedenti. */
.home-diversi__thruster,
.home-diversi__thruster-flame {
    display: none !important;
}

.home-diversi__chair-propulsor {
    position: absolute;
    z-index: 11;
    top: 57%;
    left: calc((100% - var(--da-chair-badge-size)) / 2 + 3px);
    display: block;
    width: 36px;
    height: 34px;
    border: 2px solid rgba(241, 247, 253, .92);
    border-right: 0;
    border-radius: 13px 3px 3px 13px;
    background: linear-gradient(180deg, #f5f8fb 0%, #aebdcb 43%, #53687e 100%);
    box-shadow:
        0 7px 16px rgba(5, 10, 27, .42),
        inset 0 3px 5px rgba(255, 255, 255, .62);
    pointer-events: none;
    transform: translate(-100%, -50%);
}

/* Collare che entra nel riquadro blu e rende evidente il collegamento. */
.home-diversi__chair-propulsor::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 50%;
    right: -10px;
    width: 13px;
    height: 36px;
    border: 3px solid rgba(230, 240, 249, .96);
    border-left: 0;
    border-radius: 0 10px 10px 0;
    background: linear-gradient(180deg, #9db0c3, #425971);
    transform: translateY(-50%);
}

.home-diversi__chair-fire {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 100%;
    display: block;
    width: 68px;
    height: 24px;
    border-radius: 90% 14% 14% 90%;
    background: linear-gradient(90deg,
        rgba(243, 111, 86, 0) 0%,
        #f36f56 18%,
        #ff953e 42%,
        #ffd15e 69%,
        #fff8da 100%);
    filter: drop-shadow(0 0 12px rgba(255, 161, 52, .92));
    transform: translateY(-50%) scaleX(.78);
    transform-origin: right center;
    animation: home-da-chair-fire .58s ease-in-out infinite;
}

.home-diversi__chair-fire::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    width: 38px;
    height: 10px;
    border-radius: 999px 0 0 999px;
    background: rgba(255, 255, 255, .9);
    filter: blur(.4px);
    transform: translateY(-50%);
}

@keyframes home-da-chair-fire {
    0%, 100% {
        opacity: .72;
        transform: translateY(-50%) scaleX(.72) scaleY(.9);
    }
    50% {
        opacity: 1;
        transform: translateY(-50%) scaleX(1.08) scaleY(1.05);
    }
}

@media (max-width: 767px) {
    .home-diversi__chair {
        --da-chair-badge-size: 88px;
    }

    .home-diversi__chair-symbol {
        border-radius: 21px;
        font-size: 4rem;
    }

    .home-diversi__chair-propulsor {
        width: 31px;
        height: 29px;
    }

    .home-diversi__chair-propulsor::after {
        right: -8px;
        width: 11px;
        height: 31px;
    }

    .home-diversi__chair-fire {
        width: 54px;
        height: 20px;
    }

    .home-diversi__chair-fire::after {
        width: 29px;
        height: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-diversi__chair-fire {
        animation: none;
        opacity: .9;
        transform: translateY(-50%) scaleX(.9);
    }
}


/* Pagina Diversi. Abili.: hero sempre scura e componente identico alla home. */
.page-diversi-abili .da-hero {
    background-color: #07182f !important;
    background-image:
        radial-gradient(circle at calc(80% + var(--da-px)) calc(24% + var(--da-py)), rgba(109,61,160,.55), transparent 28%),
        radial-gradient(circle at 8% 88%, rgba(243,111,86,.2), transparent 30%),
        linear-gradient(125deg, #07182f 0%, #102f5e 48%, #3c245f 100%) !important;
}

.page-diversi-abili .da-hero,
.page-diversi-abili .da-hero h1,
.page-diversi-abili .da-hero__lead,
.page-diversi-abili .da-hero__principles {
    color: #fff;
}

.da-constellation__core--chair {
    width: 320px;
    min-height: 320px;
    padding: 0;
    overflow: visible;
}

.da-constellation__core--chair .home-diversi__launch {
    width: min(285px, 88%);
}

.da-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 640px) {
    .da-constellation__core--chair {
        width: 236px;
        min-height: 236px;
    }

    .da-constellation__core--chair .home-diversi__launch {
        width: min(245px, 92%);
    }
}

/* Diversi. Abili. - racconto dedicato a Legacy */
.page-diversi-abili .da-hero {
    background-color: #07182f !important;
    background-image:
        radial-gradient(circle at calc(80% + var(--da-px)) calc(24% + var(--da-py)), rgba(109, 61, 160, .58), transparent 28%),
        radial-gradient(circle at 8% 88%, rgba(243, 111, 86, .22), transparent 30%),
        linear-gradient(125deg, #07182f 0%, #102f5e 48%, #3c245f 100%) !important;
}

.da-constellation__node.is-active {
    color: #fff;
    border-color: var(--da-gold);
    background: rgba(61, 36, 95, .94);
    box-shadow: 0 0 0 7px rgba(242, 199, 92, .08), 0 16px 38px rgba(0, 0, 0, .28);
    transform: scale(1.07);
}

.home-diversi__launch-label {
    min-width: 222px;
    text-align: center;
    transition: opacity .18s ease, transform .24s ease, box-shadow .24s ease;
}

.da-constellation__core.is-changing .home-diversi__launch-label {
    opacity: .2;
    transform: translateX(-50%) translateY(4px) scale(.96);
}

.da-wordstream div {
    display: flex;
    align-items: center;
    gap: clamp(2.3rem, 6vw, 6.5rem);
}

.da-wordstream span {
    position: relative;
}

.da-wordstream span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + clamp(1.1rem, 3vw, 3.2rem));
    width: clamp(1.2rem, 3.5vw, 4rem);
    height: 1px;
    background: rgba(242, 199, 92, .5);
}

.da-masterpiece {
    position: relative;
    overflow: clip;
    background: #fff;
}

.da-opening {
    position: relative;
    padding: clamp(5.5rem, 11vw, 11rem) 0;
    background:
        radial-gradient(circle at 92% 8%, rgba(47, 111, 197, .09), transparent 25%),
        linear-gradient(180deg, #fff 0%, #f7faff 100%);
}

.da-opening::before {
    content: attr(data-da-watermark);
    position: absolute;
    right: -1.5vw;
    top: 5%;
    color: rgba(7, 24, 47, .026);
    font-size: clamp(7rem, 18vw, 20rem);
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.08em;
    pointer-events: none;
}

.da-opening__frame {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
    gap: clamp(2.5rem, 7vw, 8rem);
    align-items: end;
    max-width: 1440px;
    margin: 0 auto;
}

.da-opening__intro {
    grid-column: 1;
}

.da-opening__intro h2 {
    max-width: 1180px;
    margin: 0;
    color: var(--da-ink);
    font-size: clamp(3.2rem, 6.6vw, 8.5rem);
    line-height: .91;
    letter-spacing: -.075em;
}

.da-opening__body {
    grid-column: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.4rem, 3vw, 3rem);
    max-width: 1040px;
    padding-top: clamp(1.8rem, 4vw, 3.5rem);
    border-top: 1px solid rgba(16, 35, 62, .14);
}

.da-opening__body p {
    margin: 0;
    color: var(--da-muted);
    font-size: clamp(1.02rem, 1.5vw, 1.22rem);
    line-height: 1.82;
}

.da-opening__declaration {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: grid;
    align-self: stretch;
    align-content: center;
    gap: .7rem;
    padding: clamp(1.6rem, 3vw, 2.6rem);
    border-left: 1px solid rgba(18, 63, 120, .16);
}

.da-opening__declaration span {
    display: block;
    color: rgba(16, 35, 62, .22);
    font-size: clamp(2rem, 4.2vw, 5rem);
    font-weight: 950;
    line-height: .96;
    letter-spacing: -.055em;
    transform: translateX(22px);
    transition: color .65s ease, transform .65s cubic-bezier(.2, .75, .2, 1);
}

.da-opening__frame.is-visible .da-opening__declaration span {
    color: var(--da-blue);
    transform: translateX(0);
}

.da-opening__frame.is-visible .da-opening__declaration span:nth-child(2) {
    transition-delay: .14s;
}

.da-opening__frame.is-visible .da-opening__declaration span:nth-child(3) {
    color: var(--da-violet);
    transition-delay: .28s;
}

.da-legacy {
    --da-legacy-shift: 0px;
    position: relative;
    overflow: hidden;
    min-height: min(900px, 92vh);
    padding: clamp(6rem, 12vw, 12rem) 0;
    color: #fff;
    background:
        radial-gradient(circle at 84% 30%, rgba(109, 61, 160, .5), transparent 30%),
        radial-gradient(circle at 8% 88%, rgba(47, 111, 197, .3), transparent 30%),
        linear-gradient(128deg, #061426 0%, #0b2a50 48%, #28163d 100%);
}

.da-legacy::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .45;
    background-image:
        linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(90deg, #000 0%, transparent 88%);
}

.da-legacy__lines {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.da-legacy__lines span {
    position: absolute;
    left: -10%;
    width: 120%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(242, 199, 92, .48), transparent);
    transform: rotate(-7deg) scaleX(.7);
    animation: da-legacy-line 8s ease-in-out infinite;
}

.da-legacy__lines span:nth-child(1) { top: 24%; }
.da-legacy__lines span:nth-child(2) { top: 43%; animation-delay: -2s; }
.da-legacy__lines span:nth-child(3) { top: 62%; animation-delay: -4s; }
.da-legacy__lines span:nth-child(4) { top: 81%; animation-delay: -6s; }

.da-legacy__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
    gap: clamp(3rem, 8vw, 9rem);
    align-items: center;
    min-height: 610px;
}

.da-legacy__name {
    position: absolute;
    left: -2vw;
    top: 50%;
    z-index: -1;
    color: rgba(255, 255, 255, .045);
    font-size: clamp(9rem, 25vw, 31rem);
    font-weight: 950;
    line-height: .72;
    letter-spacing: -.11em;
    white-space: nowrap;
    transform: translate3d(var(--da-legacy-shift), -50%, 0);
    will-change: transform;
}

.da-legacy__copy {
    max-width: 900px;
}

.da-legacy__copy h2 {
    margin: 0 0 1.8rem;
    color: #fff;
    font-size: clamp(3.2rem, 6vw, 7rem);
    line-height: .92;
    letter-spacing: -.065em;
}

.da-legacy__copy p:not(.da-kicker) {
    max-width: 840px;
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: clamp(1.05rem, 1.55vw, 1.28rem);
    line-height: 1.8;
}

.da-legacy__copy p + p {
    margin-top: 1.15rem;
}

.da-legacy__promise {
    display: grid;
    gap: .85rem;
}

.da-legacy__promise span {
    position: relative;
    overflow: hidden;
    padding: 1.35rem 1.4rem 1.45rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 20px;
    background: rgba(255, 255, 255, .07);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .14);
    backdrop-filter: blur(14px);
    transition: transform .3s ease, background .3s ease, border-color .3s ease;
}

.da-legacy__promise span::before {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, var(--da-gold), var(--da-coral));
    transform: scaleX(.18);
    transform-origin: left center;
    transition: transform .45s ease;
}

.da-legacy__promise span:hover {
    border-color: rgba(242, 199, 92, .4);
    background: rgba(255, 255, 255, .1);
    transform: translateX(-8px);
}

.da-legacy__promise span:hover::before {
    transform: scaleX(1);
}

.da-legacy__promise small,
.da-legacy__promise strong {
    display: block;
}

.da-legacy__promise small {
    margin-bottom: .25rem;
    color: var(--da-gold);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.da-legacy__promise strong {
    color: #fff;
    font-size: clamp(1.15rem, 2vw, 1.65rem);
    line-height: 1.25;
}

.da-masterpiece .da-capabilities {
    position: relative;
    padding: clamp(6rem, 11vw, 11rem) 0;
    background:
        radial-gradient(circle at 90% 5%, rgba(109, 61, 160, .09), transparent 24%),
        linear-gradient(180deg, #edf4fb 0%, #f9fbfe 100%);
}

.da-masterpiece .da-section-head {
    max-width: 1240px;
    margin-bottom: clamp(3.5rem, 7vw, 6rem);
}

.da-masterpiece .da-section-head h2 {
    max-width: 1120px;
    font-size: clamp(3rem, 6vw, 7.2rem);
    line-height: .92;
}

.da-masterpiece .da-section-head > p:last-child {
    max-width: 820px;
    font-size: clamp(1.02rem, 1.4vw, 1.18rem);
}

.da-masterpiece .da-capability-nav {
    top: 96px;
    padding: 1rem;
    border-color: rgba(255, 255, 255, .12);
    color: #fff;
    background: rgba(7, 24, 47, .94);
    box-shadow: 0 24px 55px rgba(7, 24, 47, .18);
}

.da-masterpiece .da-capability-nav > p {
    color: rgba(255, 255, 255, .56);
}

.da-masterpiece .da-capability-nav a {
    color: rgba(255, 255, 255, .68);
}

.da-masterpiece .da-capability-nav a:hover,
.da-masterpiece .da-capability-nav a:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.da-masterpiece .da-capability-nav a.is-active {
    background: linear-gradient(135deg, #1967b9, #663795);
}

.da-masterpiece .da-capability-nav__progress {
    background: rgba(255, 255, 255, .12);
}

.da-masterpiece .da-capability-nav__progress span {
    background: linear-gradient(90deg, var(--da-gold), var(--da-coral));
}

.da-masterpiece .da-capability-list {
    gap: 1.5rem;
}

.da-masterpiece .da-capability {
    --da-card-accent: #2f6fc5;
    grid-template-columns: 100px minmax(0, 1fr);
    min-height: 330px;
    padding: clamp(1.7rem, 4vw, 3.5rem);
    border-radius: 34px;
    background:
        linear-gradient(110deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .96) 68%, rgba(237, 244, 251, .92) 100%);
    box-shadow: 0 26px 65px rgba(8, 27, 53, .09);
}

.da-masterpiece .da-capability--vision { --da-card-accent: #147aa0; }
.da-masterpiece .da-capability--deaf { --da-card-accent: #6d3da0; }
.da-masterpiece .da-capability--motor { --da-card-accent: #315a91; }
.da-masterpiece .da-capability--intellectual { --da-card-accent: #b2614f; }

.da-masterpiece .da-capability::before {
    width: 8px;
    background: var(--da-card-accent);
}

.da-masterpiece .da-capability__number {
    align-self: center;
    color: var(--da-card-accent);
    font-size: clamp(3.6rem, 6vw, 6.5rem);
    line-height: 1;
    letter-spacing: -.08em;
    opacity: .2;
}

.da-masterpiece .da-capability__copy {
    max-width: 940px;
}

.da-masterpiece .da-capability__label {
    color: var(--da-card-accent);
}

.da-masterpiece .da-capability h3 {
    margin-bottom: 1rem;
    font-size: clamp(2.5rem, 4.7vw, 5.6rem);
    line-height: .95;
}

.da-masterpiece .da-capability__copy > p {
    max-width: 850px;
    margin: 0;
    color: var(--da-muted);
    font-size: clamp(1rem, 1.3vw, 1.14rem);
    line-height: 1.78;
}

.da-capability__outcome {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 1rem;
    align-items: baseline;
    max-width: 820px;
    margin-top: 1.6rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(16, 35, 62, .12);
}

.da-capability__outcome small {
    color: var(--da-card-accent);
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.da-capability__outcome strong {
    color: var(--da-ink);
    font-size: clamp(1.12rem, 1.8vw, 1.45rem);
    line-height: 1.35;
}

.da-masterpiece .da-capability__signal {
    right: 2rem;
    bottom: 1.5rem;
    width: 180px;
    opacity: .09;
}

.da-recognition {
    position: relative;
    overflow: hidden;
    padding: clamp(6rem, 11vw, 11rem) 0;
    color: #fff;
    background:
        radial-gradient(circle at 92% 12%, rgba(109, 61, 160, .42), transparent 27%),
        linear-gradient(135deg, #07182f 0%, #102f5e 58%, #28163d 100%);
}

.da-recognition::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .25;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
    background-size: 11vw 100%;
}

.da-recognition__head {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: clamp(2rem, 6vw, 7rem);
    align-items: end;
    margin-bottom: clamp(3.5rem, 7vw, 6rem);
}

.da-recognition__head .da-kicker {
    grid-column: 1 / -1;
    margin-bottom: -1rem;
}

.da-recognition__head h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(3.2rem, 6.8vw, 8rem);
    line-height: .9;
    letter-spacing: -.07em;
}

.da-recognition__head > p:last-child {
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: clamp(1.02rem, 1.45vw, 1.2rem);
    line-height: 1.75;
}

.da-recognition__rail {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    padding-bottom: 2.5rem;
}

.da-recognition__rail article {
    min-height: 280px;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 26px;
    background: rgba(255, 255, 255, .065);
    backdrop-filter: blur(14px);
    transition: transform .32s ease, background .32s ease, border-color .32s ease;
}

.da-recognition__rail article:hover {
    border-color: rgba(242, 199, 92, .4);
    background: rgba(255, 255, 255, .1);
    transform: translateY(-10px);
}

.da-recognition__rail small {
    display: block;
    margin-bottom: clamp(3rem, 8vw, 7rem);
    color: var(--da-gold);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.da-recognition__rail h3 {
    margin: 0 0 .8rem;
    color: #fff;
    font-size: clamp(2rem, 3.4vw, 4rem);
    line-height: .96;
    letter-spacing: -.05em;
}

.da-recognition__rail p {
    margin: 0;
    color: rgba(255, 255, 255, .7);
    line-height: 1.7;
}

.da-recognition__progress {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .11);
}

.da-recognition__progress i {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, var(--da-gold), var(--da-coral));
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 1.4s cubic-bezier(.2, .75, .2, 1);
}

.da-recognition.is-visible .da-recognition__progress i {
    transform: scaleX(1);
}

.da-finale {
    position: relative;
    overflow: hidden;
    padding: clamp(6rem, 12vw, 12rem) 0;
    background: #fff;
}

.da-finale__light {
    position: absolute;
    top: -15%;
    right: -10%;
    width: 55vw;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242, 199, 92, .22), rgba(109, 61, 160, .08) 42%, transparent 70%);
    filter: blur(20px);
    animation: da-finale-light 7s ease-in-out infinite alternate;
}

.da-finale__card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: end;
    min-height: 620px;
    padding: clamp(2.2rem, 6vw, 6.5rem);
    border-radius: clamp(28px, 5vw, 58px);
    color: #fff;
    background:
        radial-gradient(circle at 86% 14%, rgba(109, 61, 160, .52), transparent 30%),
        linear-gradient(132deg, #07182f 0%, #113b70 58%, #2a163f 100%);
    box-shadow: 0 40px 100px rgba(7, 24, 47, .25);
}

.da-finale__card::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .28;
    background-image:
        linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(90deg, #000, transparent 88%);
}

.da-finale__copy,
.da-finale__actions {
    position: relative;
    z-index: 2;
}

.da-finale__copy h2 {
    max-width: 1050px;
    margin: 0 0 1.5rem;
    color: #fff;
    font-size: clamp(3rem, 6vw, 7.2rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.da-finale__copy > p:last-child {
    max-width: 800px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(1.02rem, 1.45vw, 1.2rem);
    line-height: 1.78;
}

.da-finale__actions {
    display: grid;
    gap: .75rem;
    align-content: end;
}

.da-finale__actions .da-btn {
    width: 100%;
}

.da-finale__signature {
    position: absolute;
    right: -2%;
    bottom: -9%;
    z-index: 1;
    color: rgba(255, 255, 255, .038);
    font-size: clamp(7rem, 18vw, 22rem);
    font-weight: 950;
    line-height: .8;
    letter-spacing: -.09em;
    pointer-events: none;
}

@keyframes da-legacy-line {
    0%, 100% { opacity: .25; transform: rotate(-7deg) scaleX(.65); }
    50% { opacity: .8; transform: rotate(-7deg) scaleX(1); }
}

@keyframes da-finale-light {
    from { opacity: .65; transform: translate3d(0, 0, 0) scale(.94); }
    to { opacity: 1; transform: translate3d(-4%, 5%, 0) scale(1.08); }
}

@media (max-width: 1180px) {
    .da-opening__frame {
        grid-template-columns: minmax(0, 1.3fr) minmax(250px, .7fr);
    }

    .da-legacy__inner {
        grid-template-columns: 1fr;
        align-content: center;
    }

    .da-legacy__promise {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .da-masterpiece .da-capability {
        grid-template-columns: 82px minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .da-opening__frame,
    .da-recognition__head,
    .da-finale__card {
        grid-template-columns: 1fr;
    }

    .da-opening__intro,
    .da-opening__body,
    .da-opening__declaration {
        grid-column: 1;
    }

    .da-opening__declaration {
        grid-row: auto;
        border-top: 1px solid rgba(18, 63, 120, .16);
        border-left: 0;
    }

    .da-legacy__promise,
    .da-recognition__rail {
        grid-template-columns: 1fr;
    }

    .da-legacy__promise span:hover {
        transform: translateY(-5px);
    }

    .da-masterpiece .da-capability-nav {
        background: rgba(7, 24, 47, .96);
    }

    .da-masterpiece .da-capability {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .da-recognition__rail small {
        margin-bottom: 2rem;
    }

    .da-finale__card {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    .home-diversi__launch-label {
        min-width: 188px;
        max-width: 210px;
        padding: .5rem .65rem;
        white-space: normal;
        line-height: 1.25;
    }

    .da-opening,
    .da-legacy,
    .da-masterpiece .da-capabilities,
    .da-recognition,
    .da-finale {
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }

    .da-opening__intro h2,
    .da-legacy__copy h2,
    .da-masterpiece .da-section-head h2,
    .da-recognition__head h2,
    .da-finale__copy h2 {
        font-size: clamp(2.55rem, 12vw, 4.4rem);
    }

    .da-opening__body {
        grid-template-columns: 1fr;
    }

    .da-opening__declaration {
        padding: 1.4rem 0 0;
    }

    .da-opening__declaration span {
        font-size: clamp(2rem, 11vw, 3.4rem);
    }

    .da-legacy {
        min-height: 0;
    }

    .da-legacy__inner {
        min-height: 0;
    }

    .da-legacy__name {
        left: -5%;
        font-size: 38vw;
    }

    .da-legacy__promise {
        grid-template-columns: 1fr;
    }

    .da-masterpiece .da-capability {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 1.4rem;
        border-radius: 24px;
    }

    .da-masterpiece .da-capability__number {
        font-size: 3.7rem;
    }

    .da-masterpiece .da-capability h3 {
        font-size: 2.65rem;
    }

    .da-capability__outcome {
        grid-template-columns: 1fr;
        gap: .4rem;
    }

    .da-masterpiece .da-capability__signal {
        width: 110px;
        opacity: .055;
    }

    .da-recognition__rail article {
        min-height: 230px;
    }

    .da-finale__card {
        padding: 1.55rem;
        border-radius: 28px;
    }

    .da-finale__signature {
        bottom: -2%;
        font-size: 26vw;
    }
}

@media (prefers-reduced-motion: reduce) {
    .da-legacy__lines span,
    .da-finale__light {
        animation: none !important;
    }

    .da-legacy__name {
        transform: translate3d(0, -50%, 0) !important;
    }

    .da-opening__declaration span,
    .da-recognition__progress i {
        transition: none !important;
    }
}

.da-constellation__links path {
    transition: stroke .25s ease, stroke-width .25s ease, filter .25s ease, opacity .25s ease;
}

.da-constellation__links path.is-active {
    stroke: #f2c75c;
    stroke-width: 3;
    opacity: 1;
    filter: drop-shadow(0 0 8px rgba(242, 199, 92, .9));
}

/* Diversi. Abili. — racconto vivo, senza riferimenti espliciti */
.page-diversi-abili {
    --da-glow-x: 50%;
    --da-glow-y: 50%;
    background: #f4f8fd;
}

.da-hero__breath {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.da-hero__breath span {
    position: absolute;
    border-radius: 50%;
    opacity: .34;
    filter: blur(18px);
    mix-blend-mode: screen;
    animation: da-breath-orb 9s ease-in-out infinite;
}

.da-hero__breath span:nth-child(1) {
    top: 12%;
    left: 8%;
    width: clamp(140px, 19vw, 320px);
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(47, 111, 197, .58), transparent 67%);
}

.da-hero__breath span:nth-child(2) {
    right: 8%;
    bottom: 8%;
    width: clamp(180px, 25vw, 430px);
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(109, 61, 160, .58), transparent 68%);
    animation-delay: -3s;
}

.da-hero__breath span:nth-child(3) {
    top: 43%;
    left: 48%;
    width: clamp(100px, 13vw, 220px);
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(242, 199, 92, .32), transparent 65%);
    animation-delay: -6s;
}

.da-hero__principles {
    gap: .65rem;
}

.da-hero__principles span {
    min-height: 34px;
    padding: .45rem .75rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .055);
    backdrop-filter: blur(10px);
}

.da-hero__principles span::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--da-gold);
    box-shadow: 0 0 12px rgba(242, 199, 92, .78);
}

.da-constellation__node.is-active {
    color: #07182f;
    border-color: var(--da-gold);
    background: var(--da-gold);
    box-shadow: 0 0 0 7px rgba(242, 199, 92, .08), 0 18px 42px rgba(0, 0, 0, .3), 0 0 28px rgba(242, 199, 92, .42);
}

.da-constellation__node.is-active::before {
    background: #fff;
    box-shadow: 0 0 15px rgba(255, 255, 255, .95);
}

.da-opening,
.da-masterpiece .da-capabilities,
.da-recognition,
.da-finale {
    --da-local-glow-x: var(--da-glow-x, 50%);
    --da-local-glow-y: var(--da-glow-y, 50%);
}

.da-opening {
    overflow: hidden;
    background:
        radial-gradient(circle at var(--da-local-glow-x) var(--da-local-glow-y), rgba(242, 199, 92, .13), transparent 18%),
        radial-gradient(circle at 92% 8%, rgba(47, 111, 197, .11), transparent 25%),
        linear-gradient(180deg, #fff 0%, #f5f9ff 100%);
}

.da-opening::after {
    content: "";
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: -18%;
    width: 22%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .78), transparent);
    filter: blur(18px);
    transform: rotate(17deg);
    animation: da-section-sweep 10s ease-in-out infinite;
}

.da-section-light {
    position: absolute;
    z-index: 0;
    width: clamp(220px, 34vw, 580px);
    aspect-ratio: 1;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(8px);
    animation: da-section-orbit 12s ease-in-out infinite;
}

.da-section-light--one {
    top: -22%;
    left: -10%;
    background: radial-gradient(circle, rgba(47, 111, 197, .14), transparent 68%);
}

.da-section-light--two {
    right: -12%;
    bottom: -32%;
    background: radial-gradient(circle, rgba(109, 61, 160, .12), transparent 68%);
    animation-delay: -6s;
}

.da-opening .app-shell,
.da-masterpiece .da-capabilities .app-shell,
.da-recognition .app-shell,
.da-finale .app-shell {
    position: relative;
    z-index: 2;
}

.da-opening__declaration {
    position: relative;
}

.da-opening__declaration::before {
    content: "";
    position: absolute;
    top: 10%;
    bottom: 10%;
    left: -1px;
    width: 2px;
    background: linear-gradient(transparent, var(--da-gold), var(--da-coral), transparent);
    transform: scaleY(.2);
    transform-origin: center;
    animation: da-line-breathe 3.8s ease-in-out infinite;
}

.da-legacy {
    --da-legacy-shift: 0px;
    --da-local-glow-x: var(--da-glow-x, 50%);
    --da-local-glow-y: var(--da-glow-y, 50%);
    position: relative;
    overflow: hidden;
    min-height: min(930px, 94vh);
    padding: clamp(6rem, 12vw, 12rem) 0;
    color: #fff;
    background:
        radial-gradient(circle at var(--da-local-glow-x) var(--da-local-glow-y), rgba(242, 199, 92, .16), transparent 18%),
        radial-gradient(circle at 84% 30%, rgba(109, 61, 160, .54), transparent 31%),
        radial-gradient(circle at 8% 88%, rgba(47, 111, 197, .34), transparent 31%),
        linear-gradient(128deg, #061426 0%, #0b2a50 48%, #28163d 100%);
}

.da-legacy::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .34;
    background-image:
        linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(90deg, #000 0%, transparent 88%);
}

.da-legacy__pulse {
    position: absolute;
    top: 50%;
    left: 62%;
    width: clamp(260px, 42vw, 720px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242, 199, 92, .17), rgba(109, 61, 160, .09) 38%, transparent 68%);
    transform: translate(-50%, -50%);
    animation: da-heart-pulse 4.6s ease-in-out infinite;
}

.da-legacy__eyes {
    position: absolute;
    top: 18%;
    right: 7%;
    display: flex;
    gap: clamp(1.2rem, 3vw, 3rem);
    opacity: .72;
    pointer-events: none;
    transform: rotate(-7deg);
}

.da-legacy__eyes span {
    position: relative;
    display: block;
    width: clamp(72px, 9vw, 145px);
    height: clamp(28px, 3.5vw, 56px);
    overflow: hidden;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, .94) 0 5%, rgba(242, 199, 92, .56) 6% 17%, rgba(47, 111, 197, .24) 18% 42%, transparent 66%);
    filter: drop-shadow(0 0 20px rgba(242, 199, 92, .34));
    animation: da-eye-glint 6.4s ease-in-out infinite;
}

.da-legacy__eyes span:nth-child(2) {
    animation-delay: -.16s;
}

.da-legacy__eyes span::after {
    content: "";
    position: absolute;
    top: 10%;
    left: 24%;
    width: 18%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 0 14px rgba(255, 255, 255, .9);
}

.da-legacy__lines {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.da-legacy__lines span {
    position: absolute;
    left: -10%;
    width: 120%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(242, 199, 92, .52), rgba(47, 111, 197, .34), transparent);
    transform: rotate(-7deg) scaleX(.7);
    animation: da-legacy-line 8s ease-in-out infinite;
}

.da-legacy__lines span:nth-child(1) { top: 24%; }
.da-legacy__lines span:nth-child(2) { top: 43%; animation-delay: -2s; }
.da-legacy__lines span:nth-child(3) { top: 62%; animation-delay: -4s; }
.da-legacy__lines span:nth-child(4) { top: 81%; animation-delay: -6s; }

.da-legacy__veil {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.da-legacy__veil span {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 16px rgba(255, 255, 255, .9), 0 0 34px rgba(242, 199, 92, .5);
    opacity: .2;
    animation: da-veil-light 7s ease-in-out infinite;
}

.da-legacy__veil span:nth-child(1) { top: 16%; left: 15%; }
.da-legacy__veil span:nth-child(2) { top: 28%; left: 74%; animation-delay: -1.1s; }
.da-legacy__veil span:nth-child(3) { top: 72%; left: 82%; animation-delay: -2.2s; }
.da-legacy__veil span:nth-child(4) { top: 84%; left: 24%; animation-delay: -3.3s; }
.da-legacy__veil span:nth-child(5) { top: 48%; left: 52%; animation-delay: -4.4s; }
.da-legacy__veil span:nth-child(6) { top: 63%; left: 8%; animation-delay: -5.5s; }

.da-legacy__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
    gap: clamp(3rem, 8vw, 9rem);
    align-items: center;
    min-height: 630px;
}

.da-legacy__copy {
    max-width: 940px;
}

.da-legacy__copy h2 {
    margin: 0 0 1.8rem;
    color: #fff;
    font-size: clamp(3.2rem, 6vw, 7rem);
    line-height: .92;
    letter-spacing: -.065em;
    text-shadow: 0 18px 60px rgba(0, 0, 0, .24);
}

.da-legacy__copy p:not(.da-kicker) {
    max-width: 850px;
    margin: 0;
    color: rgba(255, 255, 255, .77);
    font-size: clamp(1.05rem, 1.55vw, 1.28rem);
    line-height: 1.82;
}

.da-legacy__copy p + p {
    margin-top: 1.15rem;
}

.da-legacy__copy blockquote {
    position: relative;
    max-width: 830px;
    margin: 2rem 0 0;
    padding: 1.4rem 1.5rem 1.45rem;
    border: 1px solid rgba(242, 199, 92, .23);
    border-radius: 20px;
    color: #fff;
    background: rgba(255, 255, 255, .065);
    box-shadow: 0 20px 48px rgba(0, 0, 0, .16), inset 0 0 30px rgba(242, 199, 92, .025);
    backdrop-filter: blur(14px);
    font-size: clamp(1.15rem, 2vw, 1.65rem);
    font-weight: 800;
    line-height: 1.45;
}

.da-legacy__copy blockquote::before {
    content: "";
    position: absolute;
    top: 18%;
    bottom: 18%;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(var(--da-gold), var(--da-coral));
    box-shadow: 0 0 18px rgba(242, 199, 92, .58);
    animation: da-line-breathe 3.8s ease-in-out infinite;
}

.da-legacy__promise {
    display: grid;
    gap: .85rem;
}

.da-legacy__promise span {
    position: relative;
    overflow: hidden;
    padding: 1.35rem 1.4rem 1.45rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 20px;
    background: rgba(255, 255, 255, .07);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .14), inset 0 0 28px rgba(255, 255, 255, .018);
    backdrop-filter: blur(14px);
    transition: transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease;
    animation: da-card-breathe 5.8s ease-in-out infinite;
}

.da-legacy__promise span:nth-child(2) { animation-delay: -1.9s; }
.da-legacy__promise span:nth-child(3) { animation-delay: -3.8s; }

.da-legacy__promise span::before {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, var(--da-gold), var(--da-coral));
    transform: scaleX(.18);
    transform-origin: left center;
    transition: transform .45s ease;
}

.da-legacy__promise span::after {
    content: "";
    position: absolute;
    top: -70%;
    left: -35%;
    width: 30%;
    height: 240%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .2), transparent);
    transform: rotate(17deg);
    animation: da-card-shine 8s ease-in-out infinite;
}

.da-legacy__promise span:hover {
    border-color: rgba(242, 199, 92, .42);
    background: rgba(255, 255, 255, .105);
    box-shadow: 0 24px 58px rgba(0, 0, 0, .2), 0 0 34px rgba(242, 199, 92, .08);
    transform: translateX(-8px);
}

.da-legacy__promise span:hover::before { transform: scaleX(1); }
.da-legacy__promise small,
.da-legacy__promise strong { display: block; }
.da-legacy__promise small {
    margin-bottom: .25rem;
    color: var(--da-gold);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.da-legacy__promise strong {
    color: #fff;
    font-size: clamp(1.15rem, 2vw, 1.65rem);
    line-height: 1.25;
}

.da-masterpiece .da-capabilities {
    overflow: hidden;
    background:
        radial-gradient(circle at var(--da-local-glow-x) var(--da-local-glow-y), rgba(47, 111, 197, .12), transparent 17%),
        radial-gradient(circle at 90% 5%, rgba(109, 61, 160, .11), transparent 24%),
        linear-gradient(180deg, #edf4fb 0%, #f9fbfe 100%);
}

.da-capabilities__aurora {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.da-capabilities__aurora span {
    position: absolute;
    border-radius: 50%;
    filter: blur(18px);
    opacity: .44;
    animation: da-capability-orb 12s ease-in-out infinite;
}

.da-capabilities__aurora span:nth-child(1) {
    top: 8%; left: -8%; width: 34vw; aspect-ratio: 1;
    background: radial-gradient(circle, rgba(47, 111, 197, .22), transparent 68%);
}
.da-capabilities__aurora span:nth-child(2) {
    top: 42%; right: -12%; width: 38vw; aspect-ratio: 1;
    background: radial-gradient(circle, rgba(109, 61, 160, .18), transparent 68%);
    animation-delay: -4s;
}
.da-capabilities__aurora span:nth-child(3) {
    bottom: -12%; left: 34%; width: 28vw; aspect-ratio: 1;
    background: radial-gradient(circle, rgba(242, 199, 92, .15), transparent 68%);
    animation-delay: -8s;
}

.da-masterpiece .da-capability-nav a {
    grid-template-columns: 1fr;
}

.da-masterpiece .da-capability {
    grid-template-columns: minmax(0, 1fr);
    isolation: isolate;
    animation: da-capability-breathe 7s ease-in-out infinite;
}

.da-masterpiece .da-capability:nth-child(2) { animation-delay: -1.4s; }
.da-masterpiece .da-capability:nth-child(3) { animation-delay: -2.8s; }
.da-masterpiece .da-capability:nth-child(4) { animation-delay: -4.2s; }
.da-masterpiece .da-capability:nth-child(5) { animation-delay: -5.6s; }

.da-masterpiece .da-capability::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -90%;
    left: -28%;
    width: 18%;
    height: 280%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent);
    filter: blur(7px);
    transform: rotate(16deg);
    animation: da-card-shine 9s ease-in-out infinite;
}

.da-masterpiece .da-capability__copy {
    z-index: 2;
}

.da-masterpiece .da-capability__label {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .38rem .62rem;
    border: 1px solid color-mix(in srgb, var(--da-card-accent) 24%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--da-card-accent) 7%, #fff);
    letter-spacing: .08em;
}

@supports not (background: color-mix(in srgb, #fff 50%, #000)) {
    .da-masterpiece .da-capability__label {
        border-color: rgba(47, 111, 197, .18);
        background: rgba(47, 111, 197, .06);
    }
}

.da-recognition {
    background:
        radial-gradient(circle at var(--da-local-glow-x) var(--da-local-glow-y), rgba(242, 199, 92, .14), transparent 18%),
        radial-gradient(circle at 92% 12%, rgba(109, 61, 160, .46), transparent 27%),
        linear-gradient(135deg, #07182f 0%, #102f5e 58%, #28163d 100%);
}

.da-recognition__beam {
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -18%;
    width: 18%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(242, 199, 92, .22), rgba(255, 255, 255, .13), transparent);
    filter: blur(18px);
    transform: rotate(16deg);
    animation: da-recognition-beam 10s ease-in-out infinite;
}

.da-recognition__sparks {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.da-recognition__sparks span {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--da-gold);
    box-shadow: 0 0 16px rgba(242, 199, 92, .9);
    animation: da-spark-rise 7s ease-in-out infinite;
}
.da-recognition__sparks span:nth-child(1) { left: 10%; bottom: 12%; }
.da-recognition__sparks span:nth-child(2) { left: 32%; bottom: 8%; animation-delay: -1.4s; }
.da-recognition__sparks span:nth-child(3) { left: 54%; bottom: 14%; animation-delay: -2.8s; }
.da-recognition__sparks span:nth-child(4) { left: 76%; bottom: 9%; animation-delay: -4.2s; }
.da-recognition__sparks span:nth-child(5) { left: 91%; bottom: 16%; animation-delay: -5.6s; }

.da-recognition__rail article {
    position: relative;
    overflow: hidden;
    animation: da-card-breathe 6.6s ease-in-out infinite;
}
.da-recognition__rail article:nth-child(2) { animation-delay: -2.2s; }
.da-recognition__rail article:nth-child(3) { animation-delay: -4.4s; }
.da-recognition__rail article::after {
    content: "";
    position: absolute;
    top: -70%;
    left: -40%;
    width: 30%;
    height: 240%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .16), transparent);
    transform: rotate(16deg);
    animation: da-card-shine 8.5s ease-in-out infinite;
}
.da-recognition__rail article small:empty { display: none; }

.da-finale {
    background:
        radial-gradient(circle at var(--da-local-glow-x) var(--da-local-glow-y), rgba(242, 199, 92, .14), transparent 18%),
        #fff;
}

.da-finale__rings {
    position: absolute;
    top: 50%;
    right: 7%;
    width: clamp(250px, 38vw, 660px);
    aspect-ratio: 1;
    transform: translateY(-50%);
    pointer-events: none;
}

.da-finale__rings span {
    position: absolute;
    inset: 35%;
    border: 1px solid rgba(242, 199, 92, .22);
    border-radius: 50%;
    animation: da-ring-pulse 6s ease-out infinite;
}
.da-finale__rings span:nth-child(2) { animation-delay: -2s; }
.da-finale__rings span:nth-child(3) { animation-delay: -4s; }

.da-finale__card {
    isolation: isolate;
    background:
        radial-gradient(circle at var(--da-local-glow-x) var(--da-local-glow-y), rgba(242, 199, 92, .16), transparent 22%),
        radial-gradient(circle at 86% 14%, rgba(109, 61, 160, .56), transparent 30%),
        linear-gradient(132deg, #07182f 0%, #113b70 58%, #2a163f 100%);
    animation: da-finale-breathe 7s ease-in-out infinite;
}

.da-finale__afterglow {
    position: absolute;
    z-index: 1;
    right: 3%;
    bottom: 4%;
    width: clamp(160px, 24vw, 380px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .13), rgba(242, 199, 92, .1) 24%, rgba(109, 61, 160, .06) 48%, transparent 70%);
    filter: blur(5px);
    animation: da-heart-pulse 4.8s ease-in-out infinite;
}

.da-reveal-ready [data-da-reveal] {
    transition-duration: .92s;
}

@keyframes da-breath-orb {
    0%, 100% { opacity: .22; transform: translate3d(0, 0, 0) scale(.88); }
    50% { opacity: .52; transform: translate3d(2.5%, -3%, 0) scale(1.12); }
}

@keyframes da-section-sweep {
    0%, 18% { transform: translateX(-40vw) rotate(17deg); opacity: 0; }
    35% { opacity: .8; }
    58%, 100% { transform: translateX(145vw) rotate(17deg); opacity: 0; }
}

@keyframes da-section-orbit {
    0%, 100% { opacity: .55; transform: translate3d(0, 0, 0) scale(.9); }
    50% { opacity: 1; transform: translate3d(8%, -5%, 0) scale(1.12); }
}

@keyframes da-line-breathe {
    0%, 100% { opacity: .42; transform: scaleY(.34); }
    50% { opacity: 1; transform: scaleY(1); }
}

@keyframes da-heart-pulse {
    0%, 100% { opacity: .48; transform: translate(-50%, -50%) scale(.88); }
    14% { opacity: .9; transform: translate(-50%, -50%) scale(1.04); }
    28% { opacity: .6; transform: translate(-50%, -50%) scale(.96); }
    42% { opacity: .92; transform: translate(-50%, -50%) scale(1.08); }
    68% { opacity: .54; transform: translate(-50%, -50%) scale(.92); }
}

@keyframes da-eye-glint {
    0%, 42%, 100% { opacity: .54; transform: scaleY(1); }
    46% { opacity: .24; transform: scaleY(.18); }
    50% { opacity: .86; transform: scaleY(1); }
    72% { filter: drop-shadow(0 0 26px rgba(242, 199, 92, .58)); }
}

@keyframes da-veil-light {
    0%, 100% { opacity: .12; transform: translate3d(0, 0, 0) scale(.62); }
    50% { opacity: .82; transform: translate3d(0, -18px, 0) scale(1.28); }
}

@keyframes da-card-breathe {
    0%, 100% { box-shadow: 0 18px 44px rgba(0, 0, 0, .14), inset 0 0 28px rgba(255, 255, 255, .018); }
    50% { box-shadow: 0 24px 58px rgba(0, 0, 0, .2), 0 0 30px rgba(242, 199, 92, .06), inset 0 0 34px rgba(255, 255, 255, .035); }
}

@keyframes da-card-shine {
    0%, 22% { transform: translateX(-120%) rotate(17deg); opacity: 0; }
    36% { opacity: .65; }
    52%, 100% { transform: translateX(520%) rotate(17deg); opacity: 0; }
}

@keyframes da-capability-orb {
    0%, 100% { opacity: .28; transform: translate3d(0, 0, 0) scale(.9); }
    50% { opacity: .62; transform: translate3d(8%, -5%, 0) scale(1.14); }
}

@keyframes da-capability-breathe {
    0%, 100% { box-shadow: 0 26px 65px rgba(8, 27, 53, .09); }
    50% { box-shadow: 0 34px 84px rgba(8, 27, 53, .14), 0 0 38px rgba(47, 111, 197, .05); }
}

@keyframes da-recognition-beam {
    0%, 16% { transform: translateX(-40vw) rotate(16deg); opacity: 0; }
    34% { opacity: .85; }
    58%, 100% { transform: translateX(150vw) rotate(16deg); opacity: 0; }
}

@keyframes da-spark-rise {
    0%, 100% { opacity: 0; transform: translate3d(0, 18px, 0) scale(.5); }
    30% { opacity: .9; }
    72% { opacity: .22; transform: translate3d(12px, -130px, 0) scale(1.2); }
}

@keyframes da-ring-pulse {
    0% { opacity: .58; transform: scale(.15); }
    72%, 100% { opacity: 0; transform: scale(3.2); }
}

@keyframes da-finale-breathe {
    0%, 100% { box-shadow: 0 40px 100px rgba(7, 24, 47, .25); }
    50% { box-shadow: 0 48px 120px rgba(7, 24, 47, .31), 0 0 48px rgba(242, 199, 92, .08); }
}

@media (max-width: 1180px) {
    .da-legacy__inner { grid-template-columns: 1fr; align-content: center; }
    .da-legacy__promise { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .da-legacy__eyes { top: 10%; opacity: .46; }
}

@media (max-width: 900px) {
    .da-legacy__promise { grid-template-columns: 1fr; }
    .da-legacy__promise span:hover { transform: translateY(-5px); }
    .da-legacy__eyes { right: -4%; }
    .da-recognition__rail article { min-height: 240px; }
}

@media (max-width: 640px) {
    .da-hero__breath span:nth-child(3) { display: none; }
    .da-hero__principles { display: flex; }
    .da-hero__principles span { width: auto; font-size: .78rem; }
    .da-legacy { min-height: 0; }
    .da-legacy__inner { min-height: 0; }
    .da-legacy__eyes { top: 6%; right: -10%; opacity: .34; }
    .da-legacy__copy h2 { font-size: clamp(2.55rem, 12vw, 4.4rem); }
    .da-legacy__copy blockquote { padding: 1.15rem 1.15rem 1.2rem; font-size: 1.08rem; }
    .da-masterpiece .da-capability { grid-template-columns: 1fr; }
    .da-masterpiece .da-capability__label { line-height: 1.35; }
    .da-finale__rings { right: -28%; width: 86vw; }
}

@media (prefers-reduced-motion: reduce) {
    .da-hero__breath span,
    .da-opening::after,
    .da-section-light,
    .da-opening__declaration::before,
    .da-legacy__pulse,
    .da-legacy__eyes span,
    .da-legacy__lines span,
    .da-legacy__veil span,
    .da-legacy__copy blockquote::before,
    .da-legacy__promise span,
    .da-legacy__promise span::after,
    .da-capabilities__aurora span,
    .da-masterpiece .da-capability,
    .da-masterpiece .da-capability::after,
    .da-recognition__beam,
    .da-recognition__sparks span,
    .da-recognition__rail article,
    .da-recognition__rail article::after,
    .da-finale__rings span,
    .da-finale__card,
    .da-finale__afterglow {
        animation: none !important;
    }
}

.da-finale__afterglow {
    animation-name: da-afterglow-pulse;
}

@keyframes da-afterglow-pulse {
    0%, 100% { opacity: .48; transform: scale(.88); }
    18% { opacity: .88; transform: scale(1.04); }
    36% { opacity: .58; transform: scale(.96); }
    54% { opacity: .94; transform: scale(1.1); }
    78% { opacity: .54; transform: scale(.92); }
}

/* I due bagliori restano astratti: richiamano uno sguardo senza disegnarlo. */
.da-legacy__eyes {
    gap: clamp(1.8rem, 5vw, 5.5rem);
    opacity: .7;
}

.da-legacy__eyes span {
    width: clamp(22px, 2.6vw, 42px);
    height: clamp(22px, 2.6vw, 42px);
    overflow: visible;
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0 7%, #fff4c9 8% 18%, rgba(242, 199, 92, .5) 19% 35%, rgba(47, 111, 197, .12) 44%, transparent 70%);
    box-shadow: 0 0 18px rgba(255, 255, 255, .8), 0 0 48px rgba(242, 199, 92, .38);
    animation: da-glint-pulse 4.8s ease-in-out infinite;
}

.da-legacy__eyes span::before,
.da-legacy__eyes span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .82), transparent);
    transform: translate(-50%, -50%);
}

.da-legacy__eyes span::before {
    width: clamp(70px, 9vw, 140px);
    height: 1px;
}

.da-legacy__eyes span::after {
    width: 1px;
    height: clamp(54px, 7vw, 105px);
}

@keyframes da-glint-pulse {
    0%, 100% { opacity: .42; transform: scale(.78) rotate(-7deg); filter: blur(.2px); }
    22% { opacity: 1; transform: scale(1.18) rotate(-7deg); filter: blur(0); }
    38% { opacity: .58; transform: scale(.92) rotate(-7deg); }
    58% { opacity: .96; transform: scale(1.1) rotate(-7deg); }
    82% { opacity: .46; transform: scale(.84) rotate(-7deg); }
}

/* Capacita attiva: resta visibile per tutta la sequenza delle capacita. */
.page-diversi-abili {
    overflow-x: clip;
}

.page-diversi-abili .site-main,
.page-diversi-abili .da-main {
    overflow: visible;
}

.page-diversi-abili .da-capabilities,
.page-diversi-abili .da-capabilities__layout {
    overflow: visible;
}

.page-diversi-abili .da-capability-nav {
    position: sticky;
    top: 96px;
    z-index: 35;
    align-self: start;
    max-height: calc(100vh - 116px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

@media (max-width: 900px) {
    .page-diversi-abili .da-capability-nav {
        top: 70px;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .page-diversi-abili .da-capability-nav::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width: 640px) {
    .page-diversi-abili .da-capability-nav {
        top: 62px;
    }
}

/* Raffinamento tipografico del manifesto Diversi. Abili. */
.da-opening__statement {
    grid-column: 1;
    max-width: 1180px;
    margin: clamp(1.8rem, 3.5vw, 3rem) 0 0;
    padding: clamp(1.25rem, 2.4vw, 2rem) 0 clamp(1.25rem, 2.4vw, 2rem) clamp(1.2rem, 2.4vw, 2rem);
    border-left: 4px solid var(--da-gold);
    color: var(--da-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.2rem, 1.8vw, 1.72rem);
    font-style: italic;
    font-weight: 600;
    line-height: 1.58;
    letter-spacing: -.018em;
    text-wrap: balance;
}

.da-opening__body {
    padding-top: clamp(1.5rem, 3vw, 2.7rem);
}

.da-opening__declaration span:nth-child(1) {
    color: rgba(18, 63, 120, .24);
}

.da-opening__declaration span:nth-child(2) {
    color: rgba(109, 61, 160, .24);
}

.da-opening__declaration span:nth-child(3) {
    color: rgba(216, 139, 46, .26);
}

.da-opening__frame.is-visible .da-opening__declaration span:nth-child(1) {
    color: #123f78;
}

.da-opening__frame.is-visible .da-opening__declaration span:nth-child(2) {
    color: #6d3da0;
}

.da-opening__frame.is-visible .da-opening__declaration span:nth-child(3) {
    color: #d88b2e;
}

.da-section-head__pride {
    max-width: 980px !important;
    margin-top: 1.25rem !important;
    padding: 1rem 1.15rem;
    border-left: 3px solid var(--da-gold);
    border-radius: 0 14px 14px 0;
    color: var(--da-blue) !important;
    background: rgba(242, 199, 92, .12);
    font-size: clamp(1.05rem, 1.45vw, 1.24rem) !important;
    font-weight: 850;
    line-height: 1.62 !important;
}

@media (max-width: 900px) {
    .da-opening__statement {
        grid-column: 1 / -1;
        margin-top: 1.4rem;
    }
}

@media (max-width: 640px) {
    .da-opening__statement {
        padding: 1rem 0 1rem 1rem;
        border-left-width: 3px;
        font-size: 1.12rem;
        line-height: 1.58;
    }

    .da-section-head__pride {
        padding: .9rem 1rem;
        font-size: 1rem !important;
    }
}

/* ABCDEFGHIJKLMNOPQRSTUVWXYZ: trama tipografica animata nelle sezioni interne */
.da-alphabet {
    --da-alphabet-opacity: .02;
    --da-alphabet-opacity-low: .012;
    --da-alphabet-opacity-high: .028;
    --da-alphabet-gap: clamp(4rem, 9vw, 12rem);
    position: absolute;
    z-index: 0;
    display: flex;
    gap: var(--da-alphabet-gap);
    width: max-content;
    max-width: none;
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
    font-family: inherit;
    font-size: clamp(4.6rem, 8.5vw, 10.5rem);
    font-weight: 950;
    line-height: .8;
    letter-spacing: .018em;
    text-transform: uppercase;
    opacity: var(--da-alphabet-opacity);
    filter: blur(.08px);
    will-change: transform, opacity, filter;
    transform-origin: center;
}

.da-alphabet::after {
    content: "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    flex: 0 0 auto;
}

.da-opening > .da-alphabet,
.da-legacy > .da-alphabet,
.da-capabilities > .da-alphabet,
.da-recognition > .da-alphabet,
.da-finale > .da-alphabet {
    isolation: isolate;
}

.da-opening .app-shell,
.da-legacy__inner,
.da-capabilities .app-shell,
.da-recognition .app-shell,
.da-finale .app-shell {
    position: relative;
    z-index: 2;
}

/* Apertura: entra da sinistra e scorre verso destra. */
.da-alphabet--opening {
    left: 0;
    top: 1.25rem;
    color: var(--da-blue);
    --da-alphabet-opacity: .017;
    --da-alphabet-opacity-low: .011;
    --da-alphabet-opacity-high: .023;
    animation: da-alphabet-opening 22s linear infinite;
}

/* Racconto: scorre verso sinistra con una lieve inclinazione e un respiro. */
.da-alphabet--legacy {
    left: 0;
    top: 8%;
    color: #fff;
    --da-alphabet-opacity: .03;
    --da-alphabet-opacity-low: .022;
    --da-alphabet-opacity-high: .038;
    animation: da-alphabet-legacy 28s linear infinite;
}

/* Capacità: attraversa la sezione in diagonale con un movimento sospeso. */
.da-alphabet--capabilities {
    left: 50%;
    top: 50%;
    color: var(--da-blue);
    --da-alphabet-opacity: .016;
    --da-alphabet-opacity-low: .010;
    --da-alphabet-opacity-high: .022;
    animation: da-alphabet-capabilities 15s cubic-bezier(.45, 0, .55, 1) infinite alternate;
}

/* Riconoscimento: sale dal basso come una scia luminosa. */
.da-alphabet--recognition {
    left: 50%;
    bottom: -8%;
    color: #fff;
    --da-alphabet-opacity: .024;
    --da-alphabet-opacity-low: .014;
    --da-alphabet-opacity-high: .03;
    animation: da-alphabet-recognition 18s cubic-bezier(.42, 0, .28, 1) infinite;
}

/* Finale: compie un lento movimento orbitale, diverso da tutti gli altri. */
.da-alphabet--finale {
    left: 50%;
    top: 1rem;
    color: var(--da-blue);
    --da-alphabet-opacity: .016;
    --da-alphabet-opacity-low: .009;
    --da-alphabet-opacity-high: .019;
    animation: da-alphabet-finale 32s linear infinite;
}

@keyframes da-alphabet-opening {
    0% {
        transform: translate3d(calc(-50% - var(--da-alphabet-gap) / 2), 0, 0) rotate(-1.5deg);
        opacity: var(--da-alphabet-opacity-low);
    }
    45% { opacity: var(--da-alphabet-opacity-high); }
    100% {
        transform: translate3d(0, 0, 0) rotate(-1.5deg);
        opacity: var(--da-alphabet-opacity);
    }
}

@keyframes da-alphabet-legacy {
    0% {
        transform: translate3d(0, 0, 0) rotate(1.6deg) scale(1);
        opacity: var(--da-alphabet-opacity);
        filter: blur(.16px);
    }
    48% {
        opacity: var(--da-alphabet-opacity-high);
        filter: blur(0);
    }
    100% {
        transform: translate3d(calc(-50% - var(--da-alphabet-gap) / 2), -1.2rem, 0) rotate(1.6deg) scale(1.035);
        opacity: var(--da-alphabet-opacity-low);
        filter: blur(.25px);
    }
}

@keyframes da-alphabet-capabilities {
    0% {
        transform: translate3d(-62%, -58%, 0) rotate(-3deg) scale(.96);
        opacity: var(--da-alphabet-opacity-low);
        filter: blur(.38px);
    }
    35% {
        transform: translate3d(-54%, -49%, 0) rotate(-1deg) scale(1.01);
        opacity: var(--da-alphabet-opacity-high);
        filter: blur(0);
    }
    70% {
        transform: translate3d(-44%, -43%, 0) rotate(1.2deg) scale(1.035);
        opacity: var(--da-alphabet-opacity);
        filter: blur(.08px);
    }
    100% {
        transform: translate3d(-35%, -36%, 0) rotate(2.5deg) scale(.985);
        opacity: var(--da-alphabet-opacity-low);
        filter: blur(.28px);
    }
}

@keyframes da-alphabet-recognition {
    0% {
        transform: translate3d(-58%, 45%, 0) rotate(3deg) scale(.9);
        opacity: 0;
        filter: blur(1.2px);
    }
    18% {
        opacity: var(--da-alphabet-opacity);
        filter: blur(.18px);
    }
    55% {
        transform: translate3d(-48%, -28%, 0) rotate(-1deg) scale(1.02);
        opacity: var(--da-alphabet-opacity-high);
        filter: blur(0);
    }
    100% {
        transform: translate3d(-38%, -145%, 0) rotate(-4deg) scale(1.08);
        opacity: 0;
        filter: blur(1.1px);
    }
}

@keyframes da-alphabet-finale {
    0%, 100% {
        transform: translate3d(-54%, -.4rem, 0) rotate(-2deg) scale(.97);
        opacity: var(--da-alphabet-opacity-low);
        letter-spacing: .018em;
        filter: blur(.22px);
    }
    25% {
        transform: translate3d(-47%, .55rem, 0) rotate(-.4deg) scale(1.015);
        opacity: var(--da-alphabet-opacity);
        letter-spacing: .025em;
        filter: blur(.06px);
    }
    50% {
        transform: translate3d(-50%, 1.35rem, 0) rotate(1.8deg) scale(1.04);
        opacity: var(--da-alphabet-opacity-high);
        letter-spacing: .032em;
        filter: blur(0);
    }
    75% {
        transform: translate3d(-58%, .55rem, 0) rotate(.2deg) scale(1.005);
        opacity: var(--da-alphabet-opacity);
        letter-spacing: .024em;
        filter: blur(.08px);
    }
}

@media (max-width: 900px) {
    .da-alphabet {
        --da-alphabet-gap: clamp(2.5rem, 8vw, 5rem);
        font-size: clamp(3.5rem, 10.5vw, 6.5rem);
        letter-spacing: .01em;
    }

    .da-alphabet--opening { top: .9rem; }
    .da-alphabet--legacy { top: 12%; }
    .da-alphabet--capabilities { top: 52%; }
    .da-alphabet--recognition { bottom: -4%; }
    .da-alphabet--finale { top: .8rem; }
}

@media (max-width: 640px) {
    .da-alphabet {
        font-size: clamp(2.8rem, 12vw, 4.8rem);
        --da-alphabet-opacity: .014;
    }

    .da-alphabet--opening,
    .da-alphabet--finale { top: .5rem; }

    .da-alphabet--recognition { bottom: -1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .da-alphabet {
        animation: none !important;
        transform: translateX(-12%) !important;
        opacity: .012 !important;
        filter: none !important;
    }
}
