/* Anteprima futura homepage — esperienza pubblica ad alto impatto. */
.arx-home-wow-preview .arx-header,
.arx-home-wow-preview .arx-comuni-nav,
.arx-home-wow-preview .arx-search-overlay {
    display: none !important;
}

.arx-home-wow-preview .arx-site-wrap {
    min-height: 0;
}

.arx-wow {
    --wow-ink: #fff;
    --wow-wine: #fff;
    --wow-gold: #f1dcc0;
    position: relative;
    isolation: isolate;
    min-height: 100svh;
    overflow: hidden;
    display: grid;
    place-items: center;
    padding: clamp(52px, 7vw, 96px) 24px;
    background:
        linear-gradient(90deg, rgba(9,9,9,.5) 0%, rgba(9,9,9,.22) 44%, rgba(9,9,9,.04) 72%),
        url("../img/homepage-background-concept-v1.png") center center / cover no-repeat,
        #111;
    color: var(--wow-ink);
}

.arx-promo-trigger {
    position: absolute;
    z-index: 20;
    top: clamp(20px, 3vw, 38px);
    left: clamp(20px, 3.5vw, 56px);
    display: inline-flex;
    align-items: center;
    gap: 11px;
    padding: 7px 16px 7px 7px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 999px;
    background: rgba(10,10,10,.32);
    box-shadow: 0 8px 28px rgba(0,0,0,.18);
    backdrop-filter: blur(10px);
    color: #fff;
    font: 700 clamp(.65rem, .72vw, .76rem) var(--arx-font-sans);
    letter-spacing: .13em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .2s, background .2s, transform .2s;
}
.arx-promo-trigger__icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 50%;
    transition: background .2s, color .2s, transform .2s;
}
.arx-promo-trigger__icon::before {
    content: "";
    width: 0;
    height: 0;
    margin-left: 3px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid currentColor;
}
.arx-promo-trigger:hover .arx-promo-trigger__icon,
.arx-promo-trigger:focus-visible .arx-promo-trigger__icon {
    background: #fff;
    color: #111;
    transform: scale(1.06);
}
.arx-promo-trigger:hover,
.arx-promo-trigger:focus-visible {
    border-color: rgba(255,255,255,.8);
    background: rgba(10,10,10,.52);
    transform: translateY(-1px);
}
.arx-promo-trigger:focus-visible,
.arx-promo-modal__close:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 5px;
}

.arx-promo-modal {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: clamp(18px, 4vw, 56px);
    background: rgba(8,8,8,.92);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s, visibility .25s;
}
.arx-promo-modal.is-open { opacity: 1; visibility: visible; }
.arx-promo-modal__panel {
    width: min(1120px, 100%);
    transform: translateY(16px) scale(.985);
    transition: transform .3s cubic-bezier(.2,.75,.2,1);
}
.arx-promo-modal.is-open .arx-promo-modal__panel { transform: none; }
.arx-promo-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}
.arx-promo-modal__logo { width: min(190px, 42vw); height: auto; }
.arx-promo-modal__close {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 0 9px 14px;
    border: 0;
    background: transparent;
    color: #fff;
    font: 700 .7rem var(--arx-font-sans);
    letter-spacing: .13em;
    text-transform: uppercase;
    cursor: pointer;
}
.arx-promo-modal__close span:last-child { font-size: 1.8rem; font-weight: 300; line-height: .7; }
.arx-promo-modal__video {
    display: block;
    width: 100%;
    max-height: calc(100svh - 150px);
    border: 1px solid rgba(255,255,255,.2);
    background: #000;
    box-shadow: 0 24px 80px rgba(0,0,0,.55);
}
body.arx-promo-open { overflow: hidden; }

/* Mantiene il respiro del nuovo hero contro il reset full-width storico. */
body.arx-home-wow-preview .arx-site-wrap > main.arx-wow {
    padding: clamp(52px, 7vw, 96px) clamp(28px, 4vw, 64px) !important;
}

.arx-wow::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .16;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E");
    mix-blend-mode: screen;
    pointer-events: none;
}

.arx-wow__atmosphere,
.arx-wow__orb,
.arx-wow__line {
    position: absolute;
    pointer-events: none;
}

.arx-wow__atmosphere { inset: 0; z-index: -1; overflow: hidden; }
.arx-wow__orb { border-radius: 50%; filter: blur(2px); opacity: .5; }
.arx-wow__orb--one {
    width: min(42vw, 620px);
    aspect-ratio: 1;
    left: -17vw;
    top: -15vw;
    background: radial-gradient(circle at 60% 60%, rgba(255,255,255,.12), rgba(255,255,255,0) 68%);
    animation: arx-wow-drift 15s ease-in-out infinite alternate;
}
.arx-wow__orb--two {
    width: min(38vw, 560px);
    aspect-ratio: 1;
    right: -13vw;
    bottom: -18vw;
    background: radial-gradient(circle at 35% 35%, rgba(241,220,192,.14), rgba(241,220,192,0) 68%);
    animation: arx-wow-drift 18s ease-in-out -5s infinite alternate-reverse;
}
.arx-wow__line {
    width: 55vw;
    height: 1px;
    opacity: .25;
    background: linear-gradient(90deg, transparent, var(--wow-gold), transparent);
}
.arx-wow__line--one { left: -12vw; top: 23%; transform: rotate(-23deg); }
.arx-wow__line--two { right: -10vw; bottom: 19%; transform: rotate(-23deg); }

.arx-wow__hero {
    width: min(1120px, 100%);
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    animation: arx-wow-enter .9s cubic-bezier(.2,.75,.2,1) both;
}

.arx-wow__eyebrow {
    margin: 0 0 clamp(20px, 3vh, 34px);
    color: #fff;
    font-size: clamp(.68rem, .8vw, .82rem);
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.arx-wow__title {
    width: 100%;
    margin: 0;
    line-height: 0;
}

.arx-wow__logo {
    display: block;
    width: min(45vw, 650px);
    max-width: 100%;
    height: auto;
    margin: 0;
    filter: brightness(0) invert(1) drop-shadow(0 12px 28px rgba(0,0,0,.28));
}

.arx-wow__intro {
    max-width: 680px;
    margin: clamp(18px, 3vh, 34px) 0 clamp(24px, 4vh, 42px);
    color: rgba(255,255,255,.86);
    font-family: var(--arx-font-serif);
    font-size: clamp(1rem, 1.55vw, 1.32rem);
    line-height: 1.55;
}

.arx-wow-search {
    width: min(720px, 100%);
}

.arx-wow-search__label {
    display: block;
    margin: 0 0 10px 24px;
    color: rgba(255,255,255,.72);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-align: left;
    text-transform: uppercase;
}

.arx-wow-search__field {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    min-height: 66px;
    padding: 7px 8px 7px 23px;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 999px;
    background: rgba(13,13,13,.64);
    box-shadow: 0 18px 48px rgba(0,0,0,.25);
    backdrop-filter: blur(18px);
    transition: border-color .25s, box-shadow .25s, transform .25s;
}

.arx-wow-search__field:focus-within {
    border-color: rgba(255,255,255,.75);
    box-shadow: 0 20px 60px rgba(0,0,0,.32), 0 0 0 4px rgba(255,255,255,.08);
    transform: translateY(-2px);
}

.arx-wow-search__icon { color: #fff; }
.arx-wow-search__field input {
    min-width: 0;
    padding: 0 16px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    font: 400 clamp(1rem, 1.4vw, 1.18rem) var(--arx-font-sans);
}
.arx-wow-search__field input::placeholder { color: rgba(255,255,255,.55); }
.arx-wow-search__field button {
    min-height: 50px;
    padding: 0 27px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #111;
    font: 700 .86rem var(--arx-font-sans);
    letter-spacing: .03em;
    cursor: pointer;
    transition: background .2s, transform .2s, box-shadow .2s;
}
.arx-wow-search__field button:hover {
    background: #f1dcc0;
    box-shadow: 0 9px 20px rgba(0,0,0,.28);
    transform: translateY(-1px);
}

.arx-wow__guided {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    margin-top: 22px;
}
.arx-wow__guided > span {
    color: rgba(255,255,255,.58);
    font-family: var(--arx-font-serif);
    font-size: .82rem;
    font-style: italic;
}
.arx-wow__guided-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 19px;
    border: 1px solid rgba(255,255,255,.48);
    border-radius: 999px;
    color: #fff;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
    transition: color .2s, background .2s, border-color .2s, transform .2s;
}
.arx-wow__guided-link:hover {
    border-color: #fff;
    background: #fff;
    color: #111;
    transform: translateY(-2px);
}
.arx-wow__guided-link .arx-icon:last-child { transition: transform .2s; }
.arx-wow__guided-link:hover .arx-icon:last-child { transform: translateX(3px); }

.arx-wow__future-note {
    max-width: 620px;
    margin: clamp(28px, 5vh, 52px) 0 0;
    color: rgba(255,255,255,.62);
    font-size: .72rem;
    letter-spacing: .04em;
}

.arx-wow__scroll-cue {
    position: absolute;
    left: 50%;
    bottom: 18px;
    width: 18px;
    height: 29px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 20px;
    transform: translateX(-50%);
}
.arx-wow__scroll-cue span {
    display: block;
    width: 3px;
    height: 5px;
    margin: 6px auto;
    border-radius: 4px;
    background: #fff;
    animation: arx-wow-scroll 1.8s ease-in-out infinite;
}

@keyframes arx-wow-enter {
    from { opacity: 0; transform: translateY(18px) scale(.99); }
    to { opacity: 1; transform: none; }
}
@keyframes arx-wow-drift {
    to { transform: translate3d(4vw, 3vw, 0) scale(1.08); }
}
@keyframes arx-wow-scroll {
    0%,100% { opacity: .3; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(9px); }
}

@media (max-width: 680px) {
    body.arx-home-wow-preview .arx-site-wrap > main.arx-wow { padding: 42px 20px 58px !important; }
    .arx-wow__logo { width: min(88vw, 560px); }
    .arx-wow-search__field { min-height: 58px; padding-left: 18px; }
    .arx-wow-search__field button { min-height: 44px; padding: 0 18px; }
    .arx-wow__future-note { line-height: 1.5; }
    .arx-promo-trigger { top: 14px; left: 18px; }
    .arx-promo-trigger__icon { width: 30px; height: 30px; }
    .arx-promo-modal { padding: 18px; }
    .arx-promo-modal__head { margin-bottom: 12px; }
    .arx-promo-modal__video { max-height: calc(100svh - 110px); }
}

@media (min-width: 681px) and (max-width: 1024px) {
    body.arx-home-wow-preview .arx-site-wrap > main.arx-wow { padding: 56px 32px 68px !important; }
}

@media (max-width: 420px) {
    body.arx-home-wow-preview .arx-site-wrap > main.arx-wow { padding-right: 18px !important; padding-left: 18px !important; }
}

.arx-home-wow-preview .arx-wow svg {
    color: #fff;
    stroke: #fff;
}

@media (prefers-reduced-motion: reduce) {
    .arx-wow__hero,
    .arx-wow__orb,
    .arx-wow__scroll-cue span {
        animation: none;
    }
}


/* Homepage approvata: apertura originale e selezione editoriale sottostante. */
body.arx-home-wow-preview .arx-site-wrap > main.arx-home-page {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 !important;
}
.arx-home-page > .arx-wow {
    width: 100%;
    margin: 0;
    min-height: 100svh;
    padding: clamp(52px, 7vw, 96px) clamp(28px, 4vw, 64px);
}
.arx-home-page .arx-wow__eyebrow {
    display: block;
    color: #fff;
    font-size: clamp(.8rem, .95vw, 1rem);
    line-height: 1.5;
    opacity: 1;
}
.arx-home-page .arx-wow__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}
.arx-home-page .arx-wow__guided-link { min-height: 44px; }
.arx-home-page .arx-wow__share-link {
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    border-color: #fff;
    background: #fff;
    color: #151515;
    font-weight: 400;
    line-height: 1.25;
    text-align: center;
}
.arx-home-page .arx-wow__share-label { font-weight: 600; }
.arx-home-page .arx-wow__share-hint { font-size: .75rem; font-weight: 400; }
.arx-home-page .arx-wow__share-link:hover { background: #f6f3ee; color: #151515; }
.arx-home-page .arx-wow__member-link {
    color: #fff;
    padding: 8px 0;
    text-decoration: underline;
    text-underline-offset: 4px;
    font-size: .9rem;
}
.arx-home-page .arx-wow__discover {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    margin-top: clamp(20px, 3vh, 36px);
    color: #e1d1bd;
    font-size: .8rem;
    line-height: 1.5;
    text-decoration: none;
}
.arx-home-page .arx-wow__discover-arrow { transform: rotate(90deg); }
.arx-home-page .arx-promo-trigger {
    min-height: 44px;
    border-color: #fff;
    background: #fff;
    color: #151515;
    font: 400 .875rem var(--arx-font-sans);
    letter-spacing: normal;
    text-transform: none;
}
.arx-home-page .arx-promo-trigger__icon { border-color: #5f5a53; color: #151515; }
.arx-home-page .arx-promo-trigger:hover,
.arx-home-page .arx-promo-trigger:focus-visible { background: #f6f3ee; color: #151515; border-color: #fff; }
.arx-home-stories, .arx-home-participate {
    box-sizing: border-box;
    color: #262421;
    font-family: var(--arx-font-sans);
}
.arx-home-stories { padding: 52px 32px 48px; background: #f6f3ee; scroll-margin-top: 20px; }
.arx-home-stories__inner, .arx-home-participate__inner { width: min(1120px, 100%); margin-inline: auto; }
.arx-home-stories__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.arx-home-stories .arx-home-stories__kicker,
.arx-home-participate .arx-home-stories__kicker {
    margin: 0 0 7px;
    color: #8c4b6c;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.arx-home-stories h2, .arx-home-participate h2 {
    margin: 0;
    color: #262421;
    font-family: var(--arx-font-serif);
    font-size: clamp(1.8rem, 2.8vw, 2.3rem);
    font-weight: 400;
    line-height: 1.2;
}
.arx-home-stories .arx-home-stories__intro { max-width: 650px; margin: 12px 0 0; color: #686158; font-size: 1rem; line-height: 1.55; }
.arx-home-stories__all { display: inline-flex; align-items: center; gap: 9px; flex-shrink: 0; min-height: 44px; color: #262421; font-size: .9rem; text-underline-offset: 5px; }
.arx-home-stories__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.arx-home-story { display: flex; flex-direction: column; min-width: 0; }
.arx-home-story__image-link { display: flex; align-items: center; justify-content: center; width: 100%; height: 260px; padding: 12px; background: #e8e2d9; box-sizing: border-box; }
.arx-home-story .arx-home-story__image { display: block; width: 100%; height: 100%; max-height: 100%; object-fit: contain; border-radius: 0; }
.arx-home-story .arx-home-story__meta { margin: 18px 0 8px; color: #8c4b6c; font-size: .75rem; font-weight: 600; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.arx-home-story h3 { margin: 0; color: #262421; font-family: var(--arx-font-serif); font-size: 1.5rem; font-weight: 500; line-height: 1.25; }
.arx-home-story .arx-home-story__description { margin: 12px 0 16px; color: #686158; font-size: 1rem; line-height: 1.55; }
.arx-home-story__link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-top: auto; padding: 10px 0; border-bottom: 1px solid #d9d2c8; color: #262421; font-size: .9rem; font-weight: 600; text-decoration: none; }
.arx-home-story__link:hover, .arx-home-stories__all:hover { color: #8c4b6c; }
.arx-home-participate { padding: 38px 32px; border-top: 1px solid #d9d2c8; background: #eee7de; }
.arx-home-participate__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.arx-home-participate h2 { font-size: clamp(1.65rem, 2.5vw, 2rem); }
.arx-home-participate p:not(.arx-home-stories__kicker) { max-width: 680px; margin: 12px 0 0; color: #686158; font-size: 1rem; line-height: 1.55; }
.arx-home-participate__link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; flex-shrink: 0; min-height: 46px; padding: 10px 20px; border-radius: 3px; background: #8c4b6c; color: #fff; font-size: .95rem; font-weight: 600; text-decoration: none; }
.arx-home-participate__link:hover { background: #713855; color: #fff; }
@media (min-width: 681px) and (max-width: 1024px) {
    .arx-home-page > .arx-wow { padding: 72px 32px 68px; }
    .arx-home-stories__grid { gap: 20px; }
    .arx-home-story__image-link { height: 220px; }
}
@media (max-width: 680px) {
    .arx-home-page > .arx-wow { padding: 96px 20px 62px; }
    .arx-home-page .arx-wow__eyebrow { max-width: 100%; font-size: .8rem; letter-spacing: .16em; }
    .arx-home-page .arx-wow__actions { gap: 10px; }
    .arx-home-page .arx-wow__guided-link { padding: 10px 14px; }
    .arx-home-stories { padding: 34px 20px 36px; }
    .arx-home-stories__head { align-items: flex-start; flex-direction: column; gap: 8px; }
    .arx-home-stories__grid { grid-template-columns: 1fr; gap: 30px; }
    .arx-home-story__image-link { height: 280px; }
    .arx-home-participate { padding: 32px 20px; }
    .arx-home-participate__inner { align-items: flex-start; flex-direction: column; gap: 22px; }
}

/* Mantiene leggibili le nuove sezioni con le preferenze di accessibilità. */
body.arx-dark-bg .arx-home-stories,
body.arx-dark-bg .arx-home-participate { background: #101010; color: #f3f1ed; border-color: #4d4944; }
body.arx-dark-bg .arx-home-story__image-link { background: #24211f; }
body.arx-dark-bg .arx-home-story__link { border-color: #4d4944; }
body.arx-dark-bg .arx-home-page .arx-wow__share-link { color: #151515 !important; }
body.arx-dark-bg .arx-home-participate__link { color: #fff !important; }
body.arx-high-contrast .arx-home-page .arx-wow__guided-link,
body.arx-high-contrast .arx-home-participate__link { background: #fff; color: #000 !important; border: 2px solid #000; }
body.arx-high-contrast .arx-home-page .arx-wow__guided-link .arx-icon { color: #000; stroke: #000; }
body.arx-high-contrast .arx-home-page .arx-wow__discover,
body.arx-high-contrast .arx-home-page .arx-wow__member-link { color: #fff !important; }

