/* =========================================
   HERO SECTION
========================================= */
.hero-section {
    position: relative;
    height: 100vh;
    width: 100%;
    background-color: var(--bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; 
}

.hero-text-wrapper {
    position: absolute;
    top: 15vh;
    text-align: center;
    z-index: 10;
    padding: 0 5%;
    will-change: transform, opacity;
}

.hero-text-wrapper h1 {
    font-size: clamp(3rem, 8vw, 7rem); 
    line-height: 0.9;
    letter-spacing: -2px;
    margin-bottom: 1rem;
	text-transform: none;
}
.hero-text-wrapper p {
    font-size: clamp(16px, 1.5vw, 22px);
    font-weight: 500;
}

.hero-anim-image {
    position: absolute;
    bottom: 5vh;
    width: 60vw;
    height: 45vh;
    border-radius: 40px;
    background-color: var(--main-color); /* Fallback */
    background-position: center;
    background-size: cover;
    will-change: width, height, border-radius, bottom, transform;
    transform-origin: center center;
}

/* SPAZIO DI DECOMPRESSIONE */
.spacer-section {
    height: 25vh;
    width: 100%;
    background-color: var(--bg-color);
}

/* =========================================
   IL PROGETTO (Typographic Reveal)
========================================= */
.progetto-section {
    padding: 15rem 10%; 
    background-color: var(--bg-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
}

.progetto-section h2 {
    color: var(--main-color);
    font-size: clamp(1rem, 1.5vw, 1.5rem);
    margin-bottom: 2rem;
    text-align: left;
    opacity: 0.8; 
    letter-spacing: 2px;
}

.progetto-content {
    max-width: 1400px;
    font-size: clamp(2rem, 5vw, 5.5rem);
    font-weight: 700;
    line-height: 1.1;
    color: var(--text-color);
    text-align: left;
    letter-spacing: -1px;
}

.progetto-content p { 
    margin-bottom: 2.5rem; 
    opacity: 0.15;
}

.highlight {
    color: var(--main-color);
}

/* =========================================
   LE STRUTTURE
========================================= */
.strutture-section { padding: 10rem 5%; background-color: var(--bg-color); }
.section-title-large {
    font-size: clamp(3rem, 7vw, 6rem);
    text-align: center;
    margin-bottom: 6rem;
    line-height: 1;
}

.grid-strutture {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 4rem 2rem;
    max-width: 1400px;
    margin: 0 auto;
}

.card-struttura {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    cursor: pointer;
	text-decoration: none;
	color: inherit;
}

.card-media {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: 20px;
    overflow: hidden;
    background-color: var(--main-color);
}
.card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.card-struttura:hover .card-media img { transform: scale(1.08); }

.card-info h3 { font-size: max(16px, 1.5rem); margin-bottom: 0.5rem; }
.card-info p { font-size: max(16px, 1.1rem); margin-bottom: 1.5rem; }

.btn-text {
    font-weight: 700;
    color: var(--main-color);
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: color 0.3s;
}
.card-struttura:hover .btn-text { color: var(--accent-color); }

/* =========================================
   ESPERIENZE (Pinned, SVG, 3D Layout)
========================================= */
.esperienze-section { 
    padding: 0; 
    color: var(--text-color); 
    background-color: var(--bg-color);
    height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.title-behind {
    position: absolute;
    top: 15%;
    left: 2%;
    font-size: clamp(2rem, 9vw, 12rem);
    line-height: 1;
    color: var(--main-color);
    z-index: 1;
    white-space: nowrap;
    letter-spacing: -2px;
}

.mountain-container {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}

.mountain-container svg {
    width: 100%;
    height: 100%;
    display: block;
}

.esperienze-list {
    position: absolute;
    top: 35%;
    right: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 3;
    gap: 2rem;
    padding-right: 5%;
}

.esperienza-block {
    border-top: 2px solid var(--accent-color);
    padding-top: 1rem;
    width: max(300px, 25vw);
    text-align: right;
}

.block-1 { margin-right: 25vw; }
.block-2 { margin-right: 40vw; }
.block-3 { margin-right: 55vw; }

.esperienza-block h3 { color: var(--main-color); font-size: max(16px, 1.4rem); margin-bottom: 0.5rem; text-transform: uppercase;}
.esperienza-block p { font-size: max(16px, 1.1rem); line-height: 1.4; }

@media (max-width: 1024px) {
    .hero-text-wrapper h1 { font-size: clamp(2.5rem, 10vw, 5rem); }
    .hero-anim-image { width: 90vw; }
    .spacer-section { height: 10vh; }
    
    .progetto-section { padding: 6rem 5%; min-height: auto; }
    .progetto-content { font-size: clamp(1.8rem, 6vw, 3rem); }
    .progetto-content p { opacity: 1 !important; }
    
    .section-title-large { font-size: clamp(2.5rem, 8vw, 4rem); margin-bottom: 3rem; }
    .strutture-section { padding: 5rem 5%; }
    .grid-strutture { grid-template-columns: 1fr; }
    
    .title-behind {
        top: 10%;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
    }
    .esperienze-list { top: 20%; align-items: center; padding-right: 0; gap: 1.5rem; }
    .esperienza-block { width: 100%; margin-right: 0 !important; text-align: center; }
    
    .mountain-container { display: none !important; }
    .gsap-reveal { opacity: 1 !important; visibility: visible !important; }
}
@media (max-width: 900px) {
    .esperienze-list { top: 25%; align-items: center; padding-right: 0; }
    .esperienza-block { width: 90%; margin-right: 0 !important; text-align: center; }
    .mountain-container { opacity: 0.3; }
}
