/* ==========================================================================
   HIRA — BASE STYLES (CLEAN)
   ========================================================================== */
html {
    font-synthesis-weight: none; /* Evita grassetto finto */
    font-synthesis-style: none;
}



.vh-100 {
    height: 90vh !important;
}

/* Mobile */
@media (max-width: 767.98px) {
    .vh-100 {
        height: 80vh !important;
    }

}

:root {
    --main-color: #000;
    /*--accent-color: #ff6600;*/
    --accent-color: #EF6622;
    --text-color: #F6F2EE;
    --secondary-text-color: #888;
    --bg-color: #010F13;

    --bg-cursor-dark: #010F1350;
    /*--bg-cursor-white: #ff660050;*/
    --bg-cursor-white: #EF662250;
    --cursor-dark: #010F13;
    --cursor-white: #EF6622;

    --font-regular: 'Figtree', sans-serif;
    --font-bold: 'Figtree', sans-serif;
    --font-title: 'Figtree', sans-serif;
    --font-button: 'Figtree', monospace;

    --font-weight-regular: 400;
    --font-weight-bold: 600;
    --font-weight-title: 500;

    --spessore-text: 2px;
    --tile-shadow: 0px 0px 14px 2px rgba(0, 0, 0, .18), 0 2px 8px rgba(0, 0, 0, .10);
    --tile-shadow-hover: 0px 0px 14px 2px rgba(0, 0, 0, .18), 0 2px 8px rgba(0, 0, 0, .20)

}

.cursor-dot {
    background: var(--cursor-white);
}

.cursor-dot-outline {
    background: var(--bg-cursor-white);
}




/* ——— Base */
html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    user-select: none;
    background: var(--bg-color);
    color: var(--text-color);
    font: 15px/1.45 var(--font-regular);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
* { cursor: none; }
/* custom cursor globale */

/* ——— Cursor custom */
.cursor-dot,
.cursor-dot-outline {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none; border-radius: 50%;
    opacity: 0; transition: opacity .3s, transform .3s, background-color 1s;
    z-index: 9999;
    background: var(--bg-cursor-white);
}
.cursor-dot { width: 8px; height: 8px; }
.cursor-dot-outline { width: 40px; height: 40px; }
.cursor-dot.dark { background: var(--cursor-dark); }
.cursor-dot.white { background: var(--cursor-white); }
.cursor-dot-outline.dark { background: var(--bg-cursor-dark); }
.cursor-dot-outline.white { background: var(--bg-cursor-white); }

a { color: var(--secondary-taext-color); text-decoration: none; }

/* ——— Header */
#header { padding: 35px 10px; }
#header a { color: var(--text-color); }
#hamburger {
    width: 44px; height: 44px; display: grid; place-items: center;
    background: transparent; color: var(--secondary-text-color); transition: .4s;
}

/* ——— Tipografia */
h1 { font-size: clamp(3rem, 4vw, 5rem); }
.giant-title { font-size: clamp(4rem, 13vw, 15.625rem); }
.footer-title { font-size: clamp(3rem, 4vw, 5rem); }

.text-left { text-align: left; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }


.accent-text { color: var(--accent-color); -webkit-text-stroke: var(--spessore-text) var(--accent-color); }

/* ——— HERO */
#hero > div{
    position: relative;
}

#hero .title { font-weight: var(--font-weight-bold); text-transform: uppercase; }
#hero-container { position: absolute; bottom: 4vh; display: flex; flex-direction: column; }
.hero-title {
    display: flex; justify-content: space-between;
    font-weight: 900; text-transform: uppercase; line-height: 1;

}
#hero-title {
    align-self: flex-end;
    font-size: clamp(1.938rem, 4.167vw, 5rem);
    -webkit-text-stroke: var(--spessore-text) var(--text-color);
    /* intro per-lettera + B/N in scroll */
    --hero-wght: 800;
    font-variation-settings: "wght" var(--hero-wght, 800);
    will-change: filter, opacity, transform, font-variation-settings;
    filter: grayscale(0);
}
#hero-title .word { display: inline-block; overflow: hidden; }
#hero-title .char { display: inline-block; will-change: transform, opacity, filter; }
#scroll { position: absolute; bottom: .5em; text-transform: uppercase }

/* ——— Footer */
#footer-section {
    background: var(--bg-color);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

#footer-section .title {
    font-size: clamp(2.313rem, 4.167vw, 5rem);
    -webkit-text-stroke: var(--spessore-text) var(--main-color);
    font-weight: 900; text-transform: uppercase;
    line-height: clamp(2.188rem, 3.646vw, 4.375rem);

}
#footer-section .detail { color: var(--accent-color);
    /*-webkit-text-stroke: var(--spessore-text) var(--text-color); */
}
#footer-section .contact-details {
    display: flex; flex-direction: column; gap: 2rem;
    color: var(--secondary-text-color);
    font-size: clamp(.75rem, .781vw, .938rem); line-height: 15px; font-weight: 700;
    margin-top: clamp(2.188rem, 3.646vw, 4.375rem);
}
#footer-section .footer-bottom {
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
    text-transform: uppercase; font-size: clamp(.75rem, .781vw, .938rem); font-weight: 600;
}
#footer-section a {
    color: var(--text-color);
}

#footer-section .aurora {
    position: absolute;
    left: -20vw; right: -20vw; top: -10vh; height: 60vh;
    background: conic-gradient(from 210deg,
    rgba(255, 255, 255, .18), rgba(0, 0, 0, .10),
    rgba(255, 255, 255, .14), rgba(0, 0, 0, .10));
    filter: blur(36px); opacity: .55; pointer-events: none;
}

/* ——— Overlay menu */
#panel-menu {
    position: fixed; inset: 0;
    display: flex; align-items: center; justify-content: center; flex-direction: column;
    background: var(--accent-color); color: var(--text-color);
    font-size: 65px; line-height: 70px; font-weight: 800;
    z-index: 10; overflow: hidden; opacity: 0; visibility: hidden; transition: none;
    will-change: opacity, clip-path;
}
#header-menu { position: fixed; padding-top: 15px; line-height: 0; font-weight: 900; }
#panel-menu a {
    color: var(--text-color) !important; font-size: 65px; line-height: 70px;
    -webkit-text-stroke: 4px var(--text-color); position: relative; transition: color .25s;
}
#panel-menu a::after {
    content: ""; position: absolute; left: 0; bottom: -6px; width: 100%; height: 2px;
    background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s;
}
#panel-menu a:hover::after { transform: scaleX(1); }
#panel-menu a .magnet-label { display: inline-block; will-change: transform; transition: transform .2s; padding-top: .5em; }
#panel-menu .menu-aurora {
    position: absolute; width: 70vmax; height: 70vmax; left: 50%; top: 50%;
    transform: translate(-50%, -50%); pointer-events: none; z-index: 0;
    filter: blur(46px); opacity: .55;
    background: conic-gradient(from 200deg,
    rgba(255, 255, 255, .18), rgba(0, 0, 0, .10),
    rgba(255, 255, 255, .14), rgba(0, 0, 0, .10), rgba(255, 255, 255, .18));
    mix-blend-mode: soft-light;
}
#panel-menu a { position: relative; z-index: 1; }
body.menu-open { overflow: hidden; }
@media (max-width: 576px) {
    #panel-menu { font-size: 42px; line-height: 48px; }
    #panel-menu a { -webkit-text-stroke: 2px var(--text-color); }
}

/* ——— Helpers tema */
.accent-bg { background: var(--accent-color); color: var(--text-color); }
.light-section { background: #F6F2EE; color: var(--main-color); }

/* ==========================================================================
   TILES (preview & work)
   ========================================================================== */

.preview-tile, .work-tile {
    position: relative; overflow: hidden; border-radius: 0px;
    /*border: 1px solid rgba(0, 0, 0, .08);*/
    /*background: #d9d9d9;*/
    /*
    box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 1px 0 rgba(0, 0, 0, .08);
    */
    transition: transform .35s, box-shadow .35s, outline-color .35s;
    /*
    outline: 2px solid transparent;
    */
}
.preview-tile img, .work-tile img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .5s ease, filter .5s ease; will-change: transform;
}
.preview-tile:hover, .work-tile:hover {
    outline-color: var(--accent-color);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .35), 0 4px 14px rgba(0, 0, 0, .25);
}
.preview-tile:hover img, .work-tile:hover img { transform: scale(1.06); filter: saturate(1.03) contrast(1.02); }
.object-fit-cover { object-fit: cover; }

/* underline caption (Selected Works) */
#selected-works p, #selected-works p small { position: relative; display: inline-block; }
#selected-works p::after {
    content: ""; position: absolute; left: 0; bottom: 1px; width: 100%; height: 2px;
    background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .45s;
}
#selected-works .work-tile:hover + p::after { transform: scaleX(1); }

#selected-works .work-tile {
    border: 0;
    box-shadow: var(--tile-shadow);
    background: #fff; /* per staccare dal fondo */
}
#selected-works .work-tile:hover {
    box-shadow: var(--tile-shadow-hover);
    outline-color: var(--accent-color);
}

/* ==========================================================================
   GUTTER GLOBALI
   ========================================================================== */
#works-preview .row, #selected-works .row {
    --bs-gutter-x: clamp(1.25rem, 3vw, 3.5rem);
    --bs-gutter-y: clamp(1.25rem, 3.2vw, 3.5rem);
}

/* ==========================================================================
   WORKS PREVIEW — GRID DISLOCATA (sempre) 24/12/8 colonne
   ========================================================================== */

/* Desktop ≥1200: 24 colonne */
@media (min-width: 1200px) {
    #works-preview .row.g-3, #works-preview .row.g-4 {
        display: grid !important;
        grid-template-columns: repeat(24, minmax(0, 1fr));
        column-gap: clamp(1.5rem, 3vw, 4rem);
        row-gap: clamp(1.5rem, 3vw, 4rem);
        padding-inline: clamp(1rem, 3vw, 3rem);
    }
    #works-preview .row.g-3 > [class*="col-"],
    #works-preview .row.g-4 > [class*="col-"] { width: auto; padding: 0; }

    /* posizioni 1→7 */
    #works-preview .row > div:nth-child(1) { grid-column: 1 / span 6; align-self: start; }
    #works-preview .row > div:nth-child(2) { grid-column: 10 / span 5; align-self: start; margin-top: 2rem; }
    #works-preview .row > div:nth-child(3) { grid-column: 18 / span 5; align-self: start; }
    #works-preview .row > div:nth-child(4) { grid-column: 6 / span 5; align-self: center; margin-top: 4rem; }
    #works-preview .row > div:nth-child(5) { grid-column: 13 / span 8; align-self: center; }
    #works-preview .row > div:nth-child(6) { grid-column: 9 / span 6; align-self: end; }
    #works-preview .row > div:nth-child(7) { grid-column: 20 / span 4; align-self: end; }

    #works-preview .row > div:nth-child(n+8) { display: none; }
}

/* Tablet 768–1199: 12 colonne */
@media (min-width: 768px) and (max-width: 1199.98px) {
    #works-preview .container-fluid > .row {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: clamp(1.2rem, 2.6vw, 2.5rem);
        row-gap: clamp(1.2rem, 2.6vw, 2.5rem);
        padding-inline: clamp(.5rem, 2vw, 2rem);
    }
    #works-preview .container-fluid > .row > [class*="col-"] { width: auto; padding: 0; }

    #works-preview .row > div:nth-child(1) { grid-column: 1 / span 5; align-self: start; }
    #works-preview .row > div:nth-child(2) { grid-column: 7 / span 5; align-self: start; margin-top: 1.2rem; }
    #works-preview .row > div:nth-child(3) { grid-column: 3 / span 6; align-self: start; }
    #works-preview .row > div:nth-child(4) { grid-column: 9 / span 4; align-self: center; margin-top: 2.2rem; }
    #works-preview .row > div:nth-child(5) { grid-column: 2 / span 3; align-self: center; }
    #works-preview .row > div:nth-child(6) { grid-column: 6 / span 5; align-self: end; }
    #works-preview .row > div:nth-child(7) { grid-column: 10 / span 3; align-self: end; }
}

/* Mobile ≤767: 8 colonne */
@media (max-width: 767.98px) {
    #works-preview .container-fluid > .row {
        display: grid !important;
        grid-template-columns: repeat(8, minmax(0, 1fr));
        column-gap: clamp(.8rem, 3.5vw, 1.2rem);
        row-gap: clamp(1rem, 4vw, 1.4rem);
        padding-inline: clamp(.5rem, 4vw, 1rem);
    }
    #works-preview .container-fluid > .row > [class*="col-"] { width: auto; padding: 0; }

    #works-preview .row > div:nth-child(1) { grid-column: 1 / span 4; align-self: start; }
    #works-preview .row > div:nth-child(2) { grid-column: 5 / span 4; align-self: start; margin-top: .6rem; }
    #works-preview .row > div:nth-child(3) { grid-column: 3 / span 5; align-self: start; }
    #works-preview .row > div:nth-child(4) { grid-column: 1 / span 3; align-self: center; margin-top: 1.2rem; }
    #works-preview .row > div:nth-child(5) { grid-column: 4 / span 5; align-self: center; }
    #works-preview .row > div:nth-child(6) { grid-column: 2 / span 4; align-self: end; }
    #works-preview .row > div:nth-child(7) { grid-column: 6 / span 3; align-self: end; }

    /* azzera eventuali helper legacy */
    #works-preview .row > [class*="col-"] { margin-top: 0 !important; }
}

/* ==========================================================================
   SELECTED WORKS — sezione chiara + layering sicuro
   ========================================================================== */
#selected-works {
    margin-top: 0 !important; padding-top: clamp(3rem, 6vw, 8rem) !important;
    /*  background: #fff; */
    position: relative; z-index: 1;
    scroll-margin-top: clamp(16px, 12vh, 140px);
}
#selected-works .row { isolation: isolate; }
/* evita “sorpassi” tra colonne */
#selected-works .row > [class*="col-"] { position: relative; z-index: 0; contain: paint; }
#selected-works .work-tile { position: relative; overflow: hidden; z-index: 1; }
#selected-works .work-tile img {
    position: relative; z-index: 1; display: block; width: 100%; height: 100%;
    object-fit: cover; backface-visibility: hidden; transform: translateZ(.001px);
}
#selected-works .work-tile .cover { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
#selected-works .work-tile + p { position: relative; z-index: 10; padding: 2px 0; margin-top: .65rem !important; }
@media (max-width: 767.98px) {
    #selected-works .work-tile + p { margin-top: .7rem !important; }
}

/* Parallax layer del banner disattivato (niente “banda nera”) */
#selected-works-banner { position: relative; overflow: hidden; height: 100vh; }
#selected-works-banner .parallax-layer { display: none !important; }
/* Banner Selected (Works) — centratura robusta */
#selected-works-banner {
    display: grid;
    place-items: center;
    min-height: 100vh; /* come prima, ma invariabile */
}
#selected-works-banner .row {
    width: 100%;
    justify-content: center !important; /* bootstrap row */
}
#selected-works-banner .row > [class^="col-"] {
    display: flex;
    justify-content: center;
}
#selected-works-banner .giant-title {
    text-align: center;
    line-height: .9;
}

/* ==========================================================================
   LIGHTBOX
   ========================================================================== */
#lightbox {
    position: fixed; inset: 0; display: none; place-items: center;
    background: rgba(0, 0, 0, .85); z-index: 9998;
    backdrop-filter: blur(20px);
}
#lightbox.active { display: grid; }
#lightbox img { max-width: 92vw; max-height: 90vh; object-fit: contain; border-radius: 8px; }
#lightbox .lb-close {
    position: absolute; top: 18px; right: 22px; font-weight: 700; color: #fff;
    font-size: 14px; letter-spacing: .08em; text-transform: uppercase; opacity: .85;
}

/* ==========================================================================
   MISC
   ========================================================================== */
#selected-works, #footer-section { scroll-margin-top: clamp(16px, 12vh, 140px); }
#works-preview, #selected-works { padding-bottom: 4rem; }
/* sicurezza con stagger */

#footer-section .footer-bottom {
    gap: 1rem;
    align-items: center;
}
#footer-section .contact-details {
    align-self: flex-start;
}

/* Footer: rendi la row principale una colonna flessibile
   e neutralizza i margini negativi delle row annidate */
#footer-section .row.vh-100 {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* titolo in alto, bottom in basso */
}

/* Qualsiasi .row annidata nel footer diventa full-width centrata,
   senza i margini negativi classici della .row Bootstrap */
#footer-section .row.vh-100 > .row,
#footer-section .row.vh-100 > .col-12 > .row {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: var(--bs-gutter-x, .75rem);
    padding-right: var(--bs-gutter-x, .75rem);
}

/* Blocchi centrati */
#footer-section .contact-details {
    margin-left: auto;
    margin-right: auto;
    max-width: 720px; /* puoi salire a 960/1140 se vuoi più largo */
}
#footer-section .footer-bottom {
    width: 100%;
    max-width: 1200px; /* contenitore centrale per la riga finale */
    margin-inline: auto;
    gap: 1rem;
    align-items: center;
}

/* Banner “Selected (Works)” centrato (ribadisco per sicurezza) */
#selected-works-banner {
    display: grid; place-items: center; min-height: 100vh;
}
#selected-works-banner .row { width: 100%; justify-content: center !important; }
#selected-works-banner .row > [class^="col-"] {
    display: flex; justify-content: center;
}
#selected-works-banner .giant-title { text-align: center; line-height: .9; }

/* Overlay menu — centratura a prova di bomba */
#panel-menu {
    display: grid !important;
    place-items: center !important;
    text-align: center;
    padding: clamp(24px, 4vw, 48px);
}
#panel-menu a {
    display: inline-block;
    text-align: center;
    margin: 0;
}

.contact-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}

.fw-bold {
    font-weight: 900 !important;
}

.marquee {
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
}

.marquee__inner {
    display: flex; /* per mettere i due span in fila */
    width: 200%; /* doppio contenuto = scorrimento continuo */
    /* animation: marquee 10s linear infinite; */

}

.marquee__inner span {
    flex: 0 0 50%; /* ogni span prende metà (100% + 100% = 200%) */
    font-size: 287.8px; /* puoi ridurre se troppo grande */
    font-weight: 900;
    color: #081215;
    letter-spacing: 10px;
}

@keyframes marquee {
    from {
        transform: translateX(0); /* inizio: parte da destra */
    }
    to {
        transform: translateX(-100%); /* fine: scorre fino a sinistra */
    }
}

/* LOADER */
#loader {
    position: fixed;
    width: 100%;
    height: 100%;
    background: var(--accent-color);
    z-index: 900;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loader-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    animation: spin 3s linear infinite;

}
.loader-inner svg {
    width: 100%;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }

}

#profile #container-profile {
    gap: clamp(2em, 5em, 10em);
}
#profile #photo-description {
    font-weight: var(--font-weight-regular);
    color: var(--secondary-text-color);
    font-size: clamp(0.9rem, 1rem, 1.1rem);
}
#profile .vision {
    max-width: 50%;
    align-self: flex-end;
    text-align: right;
}
#profile .h2 {
    /* font-size: clamp(1.938rem, 2rem, 3rem); */
    font-size: clamp(2.250rem, 2.083vw, 2.500rem);
    font-weight: var(--font-weight-bold);
    text-align: justify;
    
    line-height: 0.9em;
}

#profile .description {
    text-align: left;
    width: 80%;
    font-size: clamp(1rem, 1.15rem, 1.20rem);

    font-weight: var(--font-weight-bold);
    
}

#profile .accent-text {
    /*
    font-weight: var(--font-weight-regular);
    */
    -webkit-text-stroke: unset;

}

#profile .button {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;

}

#testo-manifesto .accent-text {
    -webkit-text-stroke: unset;

}

.mt-n4 {

    margin-top: -3.5rem !important;
    /* @media (min-width: 576px) {
         margin-top: 0rem !important;
     }*/
}

@media (max-width: 768px) {
    .mt-n4 {
        margin-top: var(--bs-gutter-y) !important;
    }
}

#cursor-selected-works {
    position: fixed;
    inset: 0 auto auto 0;
    pointer-events: none;
    transform: translate(-50%, -50%);
    opacity: 0;
    z-index: 10000;
    will-change: transform, opacity;
}

/* stato attivo */
body.cursor-selected-works-active #cursor-selected-works {
    opacity: 1;
}

/* spegni il cursor system esistente */
body.cursor-selected-works-active .cursor-dot,
body.cursor-selected-works-active .cursor-dot-outline {
    opacity: 0 !important;
}

body.cursor-selected-works-active #selected-works .work-tile:hover,
body.cursor-selected-works-active #selected-works .work-tile:hover img {
    transform: none !important;
    filter: none !important;
    box-shadow: var(--tile-shadow) !important;
}

/* Disabilita definitivamente hover preview Selected Works */
body.no-selected-preview #selected-works .work-tile:hover,
body.no-selected-preview #selected-works .work-tile:hover img {
    transform: none !important;
    filter: none !important;
    box-shadow: var(--tile-shadow) !important;
}

/* Works preview — video embed */
#works-preview .work-tile.is-playing {
    /* aspect-ratio: 16 / 9; */
    /* background: #000; */
}

/* Works preview — video inline senza shift */
#works-preview .work-tile {
    position: relative;
}

#works-preview .work-tile iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

#lightbox .lb-media {
    width: min(92vw, 1200px);
    aspect-ratio: 16 / 9;
    max-height: 90vh;
}

#lightbox .lb-media iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

#header .magnet {
    transition: all 0.6s ease;
}
#header .magnet:hover {
    color: var(--accent-color);
    font-weight: 600;
}
#profile .underline {
    width: fit-content;
}

#profile .button:hover {
    /* color: var(--accent-color); */
    font-weight: 700;
    transition: all 0.6s ease;
}

#profile .underline:after {
    background-color: #050200;
    content: "";
    display: block;
    height: 2px;
    transition: width .4s;
    margin: 5px 0;
    width: 0;
}

#profile .underline:hover:after {
    width: 100%;
}

.footer-marquee {
    overflow: hidden;
    width: 100%;
    position: relative;
    margin-bottom: -6em;
}

.marquee-track {
    display: flex;
    width: max-content;
    will-change: transform;
}

.marquee-track span {
    white-space: nowrap;
    padding-right: 4rem;
}

#testo-manifesto i {
    font-style: normal;
}
#testo-manifesto .break {
    display: block;
}

@media (max-width: 768px) {
    #testo-manifesto .break {
        display: inline;
    }
}

/*#detail-header{
    position: relative;
    z-index: 1;
    ::after
}*/

/*#header,
#hero {
    position: relative;
    z-index: 2;
}*/

html,
body {
    position: relative;
    overflow-x: hidden;
}
#bg-detail{
    position: absolute;
    top: 0;
    right: 0;

    width: 100vw;
    height: 100vh;
    /*
    transform: translate(35%, -35%);
    */


    background: url("https://hirastudio.it/082025/images/detail-home.png") no-repeat;
    background-size: contain;
    background-position: top right;

    pointer-events: none;
    z-index: 0;


}

/* Tablet e medium devices */
@media (max-width: 991.98px) {
    #bg-detail {
        width: 100vw;
        height: 100vh;

        /* scende un po’, copre più viewport */
        transform: translate(30%, -20%);
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    #bg-detail {
        width: 100vw;
        height: 100vh;
        transform: translate(25%, 0%);
    }
}


#hero, #header {
    position: relative;
    overflow: hidden;
}
#works-preview {
    position: relative;
    z-index: 3;
    background: var(--bg-color);
}


.details {
    margin-bottom: 4vh; width: 60px;
    letter-spacing: 2px; color: var(--text-color);
    display: inline-block;
    font-size: 11px; font-weight: 400;
    -webkit-text-stroke: 0;
}
