﻿:root {
            --bg-main: #f3f1ec;        
            --bg-white: #d9d9d6;       


            --accent-orange: #ff5a1f;  
            --accent-yellow: #ffd100; 


            --text-dark: #000000;      
            --text-gray: #d9d9d6;      
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        html {
            width: 100%;
            max-width: 100%;
            overflow-x: hidden;
        }

        body { 
            background: var(--bg-main);
            color: var(--text-dark); 
            font-family: 'Inter', sans-serif;
            width: 100%;
            max-width: 100%;
            overflow-x: hidden;
        }

        nav {    
            position: fixed;
            top: 0 !important; left: 0; width: 100%;
            padding: 0.7rem 4%; 
            display: flex;
            justify-content: space-between;
            align-items: center;
            z-index: 10001;
            backdrop-filter: blur(5px);
            background: rgba(255,255,255,0.9);
            border-bottom: 1px solid rgba(0,0,0,0.08);
        }

        .nav-logo { font-weight: 900; font-size: 1.6rem; letter-spacing: 2px; cursor: pointer; color: var(--text-dark); text-decoration: none;}
        .nav-links { 
            display: flex; 
            gap: 2.5rem; 
        }
        .nav-links a {
            text-decoration: none;
            color: var(--text-gray);
            font-size: 0.75rem;
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: 2px;
            transition: color 0.3s ease;
            position: relative;
        }
        .nav-links a:hover { color: var(--text-dark); }
        .nav-links a::after {
            content: '';
            position: absolute;
            bottom: -6px;
            left: 0;
            width: 0;
            height: 6px;
            background: #E30613;
            transition: width 0.3s ease;
        }
        .nav-links a:hover::after {
            width: 100%;
        }

        .premium-finish-item {
            margin-top: -0.35rem;
        }


.menu-toggle {
    display: none;
}


@media (max-width: 1024px) {
    nav {
        padding: 0.6rem 3% !important;
    }
    
    .nav-logo {
        font-size: 1.4rem !important;
        letter-spacing: 1.5px !important;
    }
    
    .nav-links {
        gap: 1.8rem !important;
    }
    
    .nav-links a {
        font-size: 0.65rem !important;
        letter-spacing: 1.5px !important;
    }
}

@media (max-width: 768px) {
    body.menu-open {
        overflow: hidden !important;
    }

    .nav-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.18);
        backdrop-filter: blur(6px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.24s ease, visibility 0s linear 0.24s;
        z-index: 10000;
    }

    body.menu-open .nav-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity 0.24s ease;
    }

    nav {
        padding: 0.5rem 2.5% !important;
        flex-wrap: nowrap !important;
        min-height: 3.5rem !important;
        isolation: isolate;
    }
    
    .nav-logo {
        font-size: 1.2rem !important;
        letter-spacing: 1px !important;
        order: 1 !important;
        flex: 1 !important;
    }
    
    .menu-toggle {
        display: block !important;
        order: 2 !important;
        width: 30px;
        height: 24px;
        position: relative;
        cursor: pointer;
        z-index: 10002;
        background: none;
        border: none;
        padding: 0;
        flex: 0 0 30px !important;
    }
    
    .menu-toggle span {
        display: block;
        width: 100%;
        height: 3px;
        background: var(--text-dark);
        margin: 0;
        position: absolute;
        left: 0;
        transition: all 0.3s ease;
        border-radius: 2px;
    }

    .menu-toggle span:nth-child(1) {
        top: 0 !important;
    }

    .menu-toggle span:nth-child(2) {
        top: 10px;
    }

    .menu-toggle span:nth-child(3) {
        top: 20px;
    }
    
    .menu-toggle.active span:nth-child(1) {
        top: 10px;
        transform: rotate(45deg);
    }
    
    .menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }
    
    .menu-toggle.active span:nth-child(3) {
        top: 10px;
        transform: rotate(-45deg);
    }
    
    .nav-links {
        display: flex !important;
        position: fixed;
        top: 0 !important;
        right: 0;
        left: auto;
        width: min(82vw, 22rem);
        max-width: 100%;
        height: 100dvh;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 244, 244, 0.96));
        backdrop-filter: blur(14px);
        flex-direction: column !important;
        justify-content: center !important;
        align-items: stretch !important;
        gap: 0.55rem !important;
        z-index: 10001;
        order: 3 !important;
        margin-top: 0 !important;
        padding: 5rem 1.15rem 1.35rem !important;
        border-left: 1px solid rgba(0,0,0,0.08);
        box-shadow: -20px 0 50px rgba(0,0,0,0.35);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(100%);
        transition: transform 0.28s ease, opacity 0.2s ease, visibility 0s linear 0.28s;
    }
    
    .nav-links.active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
        transition: transform 0.28s ease, opacity 0.2s ease;
    }
    
    .nav-links a {
        width: 100% !important;
        font-size: 1rem !important;
        letter-spacing: 1.4px !important;
        padding: 0.95rem 1rem !important;
        color: var(--text-dark) !important;
        border: 1px solid rgba(0,0,0,0.08) !important;
        border-radius: 14px !important;
        background: rgba(0,0,0,0.02) !important;
        transition: all 0.3s ease !important;
    }
    
    .nav-links a:hover {
        color: var(--text-dark) !important;
        border-color: rgba(255, 94, 0, 0.45) !important;
        background: rgba(249, 212, 35, 0.2) !important;
        transform: translateX(-2px) !important;
    }
}

@media (max-width: 480px) {
    nav {
        padding: 0.4rem 2% !important;
    }
    
    .nav-logo {
        font-size: 1rem !important;
        letter-spacing: 0.8px !important;
    }
    
    .nav-links a {
        font-size: 0.95rem !important;
        letter-spacing: 1.2px !important;
        padding: 0.85rem 0.9rem !important;
    }
}

@media (max-width: 320px) {
    nav {
        padding: 0.3rem 1.5% !important;
    }
    
    .nav-logo {
        font-size: 0.9rem !important;
        letter-spacing: 0.6px !important;
    }
    
    .nav-links a {
        font-size: 0.85rem !important;
        letter-spacing: 1px !important;
        padding: 0.8rem 0.85rem !important;
    }
}
        .curtain {
            background: transparent !important;
        }

        .main-container {
            position: relative;
            height: 600vh;
            background-color: #f3f1ec;
            background-image: radial-gradient(circle, rgba(17, 24, 39, 0.14) 1.6px, transparent 1.6px);
            background-size: 32px 32px;
        }

        section {
            position: sticky !important;
            top: 0 !important;
            height: 100vh;
            width: 100vw;
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: hidden !important;
            will-change: transform, opacity;
        }

        #section1 { z-index: 1; }
        #section2 { z-index: 5; opacity: 0; }
        #cursos-serigrafia {
            position: sticky !important;
            top: 0 !important;
            z-index: 3;
            opacity: 0;
            min-height: 100vh;
            height: 100vh;
            max-height: 100vh;
            overflow: hidden !important;
            background-color: #f3f1ec;
            box-shadow: 0 -20px 52px rgba(0, 0, 0, 0.2);
        }

        #cursos-serigrafia > .z-10 {
            width: 100%;
            max-width: min(96vw, 88rem);
            height: 100%;
            max-height: 100vh;
            padding: 4.5rem clamp(1rem, 3vw, 2rem) 2rem;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            justify-content: center;
            overflow: hidden !important;
            transform-origin: center top;
            will-change: transform, opacity;
        }

        #cursos-serigrafia > .z-10 > h2,
        #cursos-serigrafia > .z-10 > p:first-of-type {
            flex-shrink: 0;
        }

        #cursos-serigrafia .cursos-grid {
            flex: 1 1 auto;
            min-height: 0;
            max-height: calc(100vh - 11rem);
            align-items: stretch;
        }

        #cursos-serigrafia .cursos-grid {
            width: 100%;
            max-width: none;
        }

        #cursos-serigrafia .curso-flip-card {
            position: relative;
            width: 100%;
            height: 100%;
            min-height: 0;
            max-height: 100%;
            perspective: 1400px;
            cursor: pointer;
            outline: none;
        }

        #cursos-serigrafia .curso-flip-card:focus-visible .curso-flip-inner {
            box-shadow: 0 0 0 3px #ff5a1f, 0 12px 40px rgba(0, 0, 0, 0.12);
        }

        #cursos-serigrafia .curso-flip-inner {
            position: relative;
            width: 100%;
            height: 100%;
            min-height: 0;
            max-height: 100%;
            transform-style: preserve-3d;
            transition: transform 0.75s cubic-bezier(0.4, 0.2, 0.2, 1);
            border-radius: 2.5rem;
        }

        #cursos-serigrafia .curso-flip-card.is-flipped .curso-flip-inner {
            transform: rotateY(180deg);
        }

        #cursos-serigrafia .curso-flip-card:not(.is-flipped):hover .curso-flip-inner {
            transform: translateY(-6px) scale(1.01);
        }

        #cursos-serigrafia .curso-flip-card.is-flipped:hover .curso-flip-inner {
            transform: rotateY(180deg) translateY(-4px);
        }

        #cursos-serigrafia .curso-flip-face {
            position: absolute;
            inset: 0;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            border-radius: 2.5rem;
            overflow: hidden !important;
        }

        #cursos-serigrafia .curso-flip-front {
            display: flex;
            flex-direction: column;
            background: #fff;
            border: 2px solid rgba(0, 0, 0, 0.12);
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
            transform: rotateY(0deg);
        }

        #cursos-serigrafia .curso-flip-front-media {
            position: relative;
            flex: 0 0 auto;
            width: 100%;
            aspect-ratio: 3/4;
            min-height: 22rem;
            max-height: 28rem;
            overflow: hidden !important;
            border-bottom: 2px solid rgba(0, 0, 0, 0.08);
        }

        #cursos-serigrafia .curso-flip-front-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s ease;
        }

        #cursos-serigrafia .curso-flip-card:not(.is-flipped):hover .curso-flip-front-media img {
            transform: scale(1.04);
        }

        #cursos-serigrafia .curso-flip-front-media::after {
            display: none;
        }

        #cursos-serigrafia .curso-flip-front-body {
            position: relative;
            z-index: 2;
            flex: 1 1 auto;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 1.15rem 1.5rem 1.35rem;
            margin-top: 0 !important;
            background: #fff;
        }

        #cursos-serigrafia .curso-flip-front-body h3 {
            font-size: clamp(1.2rem, 2.5vw, 1.65rem);
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: -0.02em;
            color: #000;
            line-height: 1.05;
            text-shadow: none;
        }

        #cursos-serigrafia .curso-flip-hint {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            margin-top: 0.55rem;
            font-size: 1.1rem;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(0, 0, 0, 0.5);
        }

        #cursos-serigrafia .curso-flip-back-samples {
            position: relative;
            width: 100%;
            height: 207px;
            margin-top: 0.75rem;
            overflow: hidden !important;
            border-radius: 1rem;
            background: #f3f1ec;
        }

        #cursos-serigrafia .sample-image {
            position: relative;
            width: 100%;
            height: 100%;
            border-radius: 0.75rem;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
            overflow: hidden !important;
            border: 2px solid #fff;
            background: #e5e5e5;
        }

        #cursos-serigrafia .sample-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        #cursos-serigrafia .curso-flip-back {
            transform: rotateY(180deg);
            background: #fff;
            border: 2px solid rgba(0, 0, 0, 0.12);
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
            overflow: hidden !important;
        }

        #cursos-serigrafia .curso-flip-back-inner {
            min-height: 100%;
            height: 100%;
            padding: 1.1rem 1.35rem 1.15rem;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            gap: 0.45rem;
            box-sizing: border-box;
        }

        #cursos-serigrafia .curso-flip-back-close {
            align-self: flex-end;
            font-size: 0.58rem;
            font-weight: 800;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(0, 0, 0, 0.45);
            margin-bottom: 0;
            flex-shrink: 0;
        }

        #cursos-serigrafia .curso-flip-back-inner > div:first-of-type {
            flex: 1 1 auto;
            min-height: 0;
        }

        #cursos-serigrafia .curso-flip-back-inner .curso-back-badge {
            margin-bottom: 0.45rem !important;
            padding: 0.4rem 0.9rem !important;
            font-size: 0.9rem !important;
        }

        #cursos-serigrafia .curso-flip-back-inner h3 {
            font-size: 1.7rem !important;
            line-height: 1.1 !important;
            margin-bottom: 0.5rem !important;
        }

        #cursos-serigrafia .curso-flip-back-inner h4 {
            font-size: 1rem !important;
            margin-bottom: 0.5rem !important;
        }

        #cursos-serigrafia .curso-flip-back-inner ul {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.2rem 0.65rem;
            font-size: 0.9rem !important;
            line-height: 1.3 !important;
        }

        #cursos-serigrafia .curso-flip-back-inner ul li {
            gap: 0.35rem !important;
        }

        #cursos-serigrafia .curso-flip-back-inner ul li span:last-child {
            font-size: 0.9rem !important;
            font-weight: 600 !important;
        }

        #cursos-serigrafia .curso-flip-back-pricing {
            border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
            padding-top: 0.55rem !important;
            margin-top: 0.45rem !important;
            flex-shrink: 0;
        }

        #cursos-serigrafia .curso-flip-back-pricing > p:first-child {
            font-size: 0.75rem !important;
            margin-bottom: 0.45rem !important;
        }

        #cursos-serigrafia .curso-flip-back-pricing .grid {
            gap: 0.45rem !important;
        }

        #cursos-serigrafia .curso-flip-back-pricing .bg-\[\#f3f1ec\] {
            padding: 0.85rem 0.9rem !important;
            border-radius: 0.85rem !important;
        }

        #cursos-serigrafia .curso-flip-back-pricing h5 {
            font-size: 0.85rem !important;
        }

        #cursos-serigrafia .curso-flip-back-pricing .text-xl {
            font-size: 1.3rem !important;
            margin-top: 0.25rem !important;
        }

        #cursos-serigrafia .curso-flip-back-pricing .text-\[11px\] {
            font-size: 0.75rem !important;
            line-height: 1.3 !important;
            margin-top: 0.25rem !important;
        }

        #cursos-serigrafia .curso-flip-back-pricing > p:last-child {
            font-size: 0.7rem !important;
            margin-top: 0.45rem !important;
        }
        #section5 { z-index: 4; opacity: 1; flex-direction: row; align-items: center; }
        #section6 { z-index: 5; opacity: 1; display: flex; flex-direction: column; justify-content: space-between; }
        #contacto {
  	z-index: 6;
    	opacity: 1;
   	display: flex;
    	flex-direction: column;
    	justify-content: space-between;
    	align-items: center;
	transform: translateY(50px);     
    	min-height: calc(100vh + 8px);
	}
        @media (max-width: 768px) {
            #contacto {
                display: none !important;
                min-height: 0 !important;
                height: 0 !important;
                transform: none !important;
                margin: 0 !important;
                padding: 0 !important;
            }
        }


        .grid-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    
    background-image:
        linear-gradient(to right, rgba(0, 0, 0, 0.12) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(0, 0, 0, 0.12) 1px, transparent 1px);
    background-size: 54px 54px;
    background-repeat: repeat;

    mask-image: linear-gradient(to bottom, transparent, black 8%, black 92%, transparent);
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 8%, black 92%, transparent);

    clip-path: inset(0 0 0 0);
    
    pointer-events: none;
    z-index: -1; 
}


        .static-dots-container {
            --static-dot-cols: 30;
            --static-dot-rows: 40;
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: -1;
            display: grid;
            grid-template-columns: repeat(var(--static-dot-cols), minmax(0, 1fr));
            grid-template-rows: repeat(var(--static-dot-rows), minmax(0, 1fr));
            gap: 35px;
            padding: 0.5%;
        }

        .static-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgba(0, 0, 0, 0.15);
            justify-self: center;
            align-self: center;
        }

        #section5 .static-dot {
            background: rgba(0, 0, 0, 0.15);
        }

        #section6 .static-dot {
            background: rgba(0, 0, 0, 0.15);
        }

        #section7 .static-dot {
            background: rgba(0, 0, 0, 0.15);
        }

        /* Bouncy Animation Styles - Grid formation behind logo */
        .bouncy-container {
            --bouncy-cols: 30;
            --bouncy-rows: 45;
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: -1;
            display: grid;
            grid-template-columns: repeat(var(--bouncy-cols), 1fr);
            grid-template-rows: repeat(var(--bouncy-rows), 1fr);
            gap: 35px;
            padding: 0.5%;
        }

        .bouncy-item {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgba(183, 191, 217, 0.6);
            animation: bounce 2s ease-in-out infinite;
            justify-self: center;
            align-self: center;
        }

        @media screen and (max-width: 768px) {
            .bouncy-container {
                --bouncy-cols: 22;
                --bouncy-rows: 46;
                gap: 18px;
                padding: 0;
            }
        }


        

        @keyframes bounce {
            0%, 100% {
                transform: translateY(0) scale(1);
                opacity: 0.3;
            }
            50% {
                transform: translateY(-8px) scale(1.8);
                opacity: 1;
            }
        }


        @keyframes shake-soft {
            0% { transform: translate(0, 0) rotate(0deg); }
            20% { transform: translate(-3px, 1px) rotate(-1deg); }
            40% { transform: translate(2px, -2px) rotate(1deg); }
            60% { transform: translate(-2px, 2px) rotate(0deg); }
            80% { transform: translate(1px, -1px) rotate(-1deg); }
            100% { transform: translate(0, 0) rotate(0deg); }
        }


        .premium-underline {
            position: relative;
            display: inline-block;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .premium-underline::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 100%;
            height: 8px;
            background: linear-gradient(90deg, var(--accent-orange), var(--accent-yellow), var(--accent-orange));
            border-radius: 4px;
            animation: shimmer-orange 2s ease-in-out infinite;
            box-shadow: 0 0 20px rgba(255, 94, 0, 0.35);
        }

        .premium-underline:hover {
            transform: translateY(-2px);
            text-shadow: 0 0 25px rgba(255, 94, 0, 0.35);
        }

        @keyframes shimmer-orange {
            0%, 100% { 
                background: linear-gradient(90deg, var(--accent-orange), var(--accent-yellow), var(--accent-orange));
                box-shadow: 0 0 15px rgba(255, 94, 0, 0.3);
                transform: scaleX(1);
            }
            50% { 
                background: linear-gradient(90deg, var(--accent-yellow), var(--accent-orange), var(--accent-yellow));
                box-shadow: 0 0 25px rgba(249, 212, 35, 0.35);
                transform: scaleX(1.05);
            }
        }

        .img-full {
            position: absolute;
            z-index: 60;
            opacity: 0.4;
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            pointer-events: auto;
            cursor: pointer;
            animation: shake-soft 3.5s ease-in-out infinite;
        }

        .img-full:hover {
            opacity: 1; 
            filter: invert(0) drop-shadow(0 10px 15px rgba(0,0,0,0.2)) !important;
            transform: scale(1.1);
            animation: vibration-active 0.2s linear infinite; 
        }

        @keyframes vibration-active {
            0% { transform: translate(0, 0) rotate(0deg) scale(1.1); }
            25% { transform: translate(4px, 3px) rotate(2deg) scale(1.1); }
            50% { transform: translate(-3px, -4px) rotate(-2deg) scale(1.1); }
            75% { transform: translate(3px, -2px) rotate(1deg) scale(1.1); }
            100% { transform: translate(0, 0) rotate(0deg) scale(1.1); }
        }

        .bg-light-grid .grid-bg { 
            background-image: linear-gradient(to right, rgba(0,0,0,0.16) 1px, transparent 1px), 
                              linear-gradient(to bottom, rgba(0,0,0,0.16) 1px, transparent 1px); 
        }

        .continuous-gallery {
            width: 100%;
            height: 200px;
            overflow: hidden !important;
            position: relative;
            z-index: 10;
        }

        .gallery-track {
            display: flex;
            width: max-content;
            animation: continuousScroll 20s linear infinite;
        }

        .gallery-track .tile {
            width: 35vw;
            height: 200px;
            flex-shrink: 0;
            overflow: hidden !important;
            background: #111;
        }
	


        .gallery-track .tile img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        @media (min-width: 769px) {
            .main-container {
                height: 600vh !important;
            }

            #section7 {
                height: 100vh !important;
                min-height: 100vh !important;
                position: sticky !important;
                overflow: hidden !important;
                width: 100% !important;
                margin-left: 0 !important;
                top: 0 !important;
                z-index: 6 !important;
            }

            footer.bg-black {
                display: none !important;
            }

            #section7 .absolute.bottom-10 {
                bottom: 10rem !important;
            }

            #section7 > ul {
                height: 54vh !important;
                min-height: 500px !important;
                align-items: stretch !important;
                margin-top: 0 !important;
                transform: translateY(-1.8rem) !important;
            }

            #section7 .img-full {
                animation: shake-soft 3.5s ease-in-out infinite !important;
            }

            #section7 .img-full:first-of-type {
                width: 190px !important;
                top: 8% !important;
            }

            #section7 .img-full:nth-of-type(2) {
                width: 88px !important;
                top: 74% !important;
            }
        }

        @keyframes continuousScroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }
        .slideshow {
            width: 100%; height: 220px;
            background: rgba(0,0,0,0.1);
            overflow: hidden !important; position: relative; z-index: 10;
        }
        .slideshow .grid {
            display: flex; gap: 15px; width: max-content;
            animation: scrollFooter 25s linear infinite;
        }
        .tile { width: 180px; height: 180px; flex-shrink: 0; border-radius: 8px; overflow: hidden !important; background: var(--bg-white); }
        .tile img { width: 100%; height: 100%; object-fit: cover; }
        @keyframes scrollFooter { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

        .scene { position: relative; perspective: 1500px; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; transform-style: preserve-3d; }
        .section1-copy {
            position: absolute;
            left: 50%;
            bottom: clamp(1rem, 4vh, 2.5rem);
            z-index: 12;
            max-width: min(32rem, 42vw);
            padding: 1rem 1.25rem;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 1.2rem;
            background: rgba(45, 45, 45, 0.3);
            backdrop-filter: blur(2px);
            -webkit-backdrop-filter: blur(2px);
            box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
            transform: translateX(-50%);
            text-align: center;
        }
        .section1-copy p {
            margin: 0;
            color: #ffffff;
            font-family: 'Montserrat', 'Inter', sans-serif;
            font-size: clamp(0.95rem, 1.4vw, 1.3rem);
            font-weight: 700;
            letter-spacing: 0.08em;
            line-height: 1.35;
            text-transform: uppercase;
        }
        .brand {
            font-size: 16rem;
            font-weight: 900;
            letter-spacing: -5px;
            color: var(--text-dark);
            display: flex;
            align-items: center;
            gap: 0.025em;
            white-space: nowrap;
            z-index: 6;
            pointer-events: none;
            text-shadow: 0 20px 50px rgba(255,255,255,0.45);
            transform: translateY(-4.5rem) scale(0.3);
        }
        .brand > div {
            display: flex;
            align-items: center;
            gap: 0.015em;
        }
        .brand span {
            position: relative;
            display: inline-flex;
            place-items: center;
            align-items: center;
            justify-content: center;
            min-width: 0.82em;
            height: 0.98em;
            padding: 0 0.03em;
            transform-origin: center center;
            transition: color 0.28s linear, font-weight 0.14s linear, transform 0.28s ease-out;
            overflow: hidden !important;
            color: #000000;
            text-shadow: none;
        }
        .brand span::before {
            display: none;
        }
        
        #textFD {
            color: #000000;
        }
        
        #textIMP {
            color: #ff0000;
        }
        .brand-ribbon {
            position: absolute;
            top: calc(50% + 9.5rem);
            left: 0;
            width: 100%;
            overflow: hidden !important;
            padding: 0.8rem 0;
            background: rgba(255,255,255,0.78);
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
            border-top: 1px solid rgba(0,0,0,0.12);
            z-index: 8;
        }
        .brand-ribbon-track {
            display: inline-flex;
            flex-wrap: nowrap;
            width: max-content;
            animation: brandRibbonScroll 47s linear infinite;
            will-change: transform;
        }
        .brand-ribbon-group {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 3.2rem;
            padding-right: 3.2rem;
        }
        .brand-ribbon-item {
            color: var(--text-dark);
            font-family: 'Montserrat', 'Inter', sans-serif;
            font-size: 0.88rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.28rem;
            white-space: nowrap;
        }
        .brand-ribbon-group .brand-ribbon-item:nth-child(even) {
            color: var(--accent-orange);
        }
        .brand-ribbon-item strong {
            color: inherit;
            font-weight: 800;
        }
        footer .brand-ribbon {
            position: relative;
            top: auto;
            left: auto;
            margin: 0;
            width: 100%;
            max-width: 100%;
            z-index: 2;
        }
        .footer-ribbon {
            position: relative;
            top: auto;
            left: auto;
            display: none;
            width: 100%;
            max-width: 20rem;
            margin: 0.9rem 0 0;
            z-index: 2;
        }
        .contact-ribbon {
            display: none;
        }
        #section7 .contact-ribbon {
            position: relative;
            top: auto;
            left: auto;
            display: block;
            width: 100%;
            max-width: min(52rem, 100%);
            margin: 1.5rem auto 0;
            z-index: 2;
        }
        @keyframes brandRibbonScroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

@media (max-width: 1024px) {
    .brand {
        font-size: 10rem !important;
        letter-spacing: 1px !important;
        text-shadow: 0 18px 45px rgba(0,0,0,0.9) !important;
        transform: translateY(-3.5rem) scale(0.3) !important;
    }
}

@media (max-width: 768px) {
    .section1-copy {
        left: 50% !important;
        right: auto !important;
        bottom: 2rem !important;
        width: min(88vw, 28rem) !important;
        max-width: none !important;
        padding: 0.9rem 1rem !important;
        transform: translateX(-50%) !important;
        text-align: center !important;
    }

    .section1-copy p {
        font-size: clamp(0.9rem, 3vw, 1.1rem) !important;
        letter-spacing: 0.06em !important;
    }

    .brand {
        font-size: 5rem !important;
        letter-spacing: 0.2px !important;
        text-shadow: 0 12px 35px rgba(0,0,0,0.9) !important;
        line-height: 0.85 !important;
        position: absolute !important;
        top: 10% !important;
        left: 50% !important;
        transform: translateX(-50%) translateY(-50%) scale(0.75) !important;
        z-index: 10 !important;
    }
    
    .brand span {
        transition: transform 0.25s ease-out !important;
    }

    .brand-ribbon {
        top: calc(15% + 5.5rem) !important;
        padding: 0.7rem 0 !important;
        z-index: 11 !important;
    }

    .brand-ribbon-item {
        font-size: 0.7rem !important;
        letter-spacing: 0.2rem !important;
    }

}

@media (max-width: 480px) {
    .brand {
        font-size: 3.5rem !important;
        letter-spacing: -0.5px !important;
        text-shadow: 0 10px 30px rgba(0,0,0,0.95) !important;
        line-height: 0.8 !important;
        position: absolute !important;
        top: 8% !important;
        left: 50% !important;
        transform: translateX(-50%) translateY(-50%) scale(0.7) !important;
        z-index: 10 !important;
    }
    
    .brand span {
        transition: transform 0.20s ease-out !important;
    }
    
    .scene {
        justify-content: center !important;
        align-items: center !important;
    }
    
    .brand {
        transform: translateX(-50%) translateY(-50%) scale(0.8) !important;
    }

    .brand-ribbon {
        top: calc(12% + 4.25rem) !important;
        padding: 0.62rem 0 !important;
        z-index: 11 !important;
    }

    .brand-ribbon-track {
        animation-duration: 39s !important;
    }

    .brand-ribbon-item {
        font-size: 0.62rem !important;
        letter-spacing: 0.14rem !important;
    }

}

@media (max-width: 320px) {
    .section1-copy {
        bottom: 1.2rem !important;
        padding: 0.75rem 0.85rem !important;
        border-radius: 1rem !important;
    }

    .section1-copy p {
        font-size: 0.78rem !important;
    }

    .brand {
        font-size: 2.5rem !important;
        letter-spacing: -0.8px !important;
        text-shadow: 0 8px 25px rgba(0,0,0,1) !important;
        line-height: 0.75 !important;
        position: absolute !important;
        top: 6% !important;
        left: 50% !important;
        transform: translateX(-50%) translateY(-50%) scale(0.65) !important;
        z-index: 10 !important;
    }
    
    .brand span {
        transition: transform 0.15s ease-out !important;
    }
    
    .brand {
        transform: translateX(-50%) translateY(-50%) scale(0.7) !important;
    }

    .brand-ribbon {
        top: calc(10% + 3.1rem) !important;
        padding: 0.55rem 0 !important;
        z-index: 11 !important;
    }

    .brand-ribbon-item {
        font-size: 0.54rem !important;
        letter-spacing: 0.11rem !important;
    }

}

        .type-char {
            opacity: 0;
            transition: opacity 0.18s ease-in;
            letter-spacing: -8px;
            margin-right: -8px;
        }
        .type-char.visible {
            opacity: 1;
        }
        .typing-caret {
            display: inline-block;
            width: 0;
            height: 1em;
            vertical-align: bottom;
            border-right: 0.12em solid currentColor;
            margin-right: -0.12em;
            animation: blink-caret 0.75s step-end infinite;
        }
        @keyframes blink-caret {
            from, to { opacity: 1; }
            50% { opacity: 0; }
        }

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

        .carousel { 
            position: absolute; 
            width: 195px; 
            height: 207px; 
            left: 65%; 
            top: 46%; 
            transform-style: preserve-3d; 
            transform: translate(-50%, -50%) rotateX(-3deg) rotateZ(-35deg);
            z-index: 6;
            pointer-events: none;
        }
        .card { position: absolute; width: 150px; height: 170px; transform-style: preserve-3d; }
        .card img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }

@media (max-width: 1024px) {
    .carousel {
        width: 320px !important;
        height: 380px !important;
        left: 60% !important;
        top: 44% !important;
    }
    
    .card {
        width: 260px !important;
        height: 300px !important;
    }
}

@media (max-width: 768px) {
    .carousel {
        width: 260px !important;
        height: 310px !important;
        left: 55% !important;
        top: 72% !important;
    }
    
    .card {
        width: 200px !important;
        height: 240px !important;
    }
}

@media (max-width: 480px) {
    .carousel {
        width: 200px !important;
        height: 240px !important;
        left: 50% !important;
        top: 70% !important;
    }
    
    .card {
        width: 160px !important;
        height: 190px !important;
    }
}

@media (max-width: 320px) {
    .carousel {
        width: 160px !important;
        height: 190px !important;
        left: 45% !important;
        top: 68% !important;
    }
    
    .card {
        width: 120px !important;
        height: 150px !important;
    }
}

        .gallery-wrapper {
            position: absolute;
            right: -24%;
            top: 0 !important;
            height: 120vh;
            width: 60vw;
            overflow: hidden !important;
            perspective: clamp(400px, 100vw, 1000px);
            z-index: 0;
            pointer-events: none;
        }
        
        #section2 .gallery-wrapper::before,
        #section2 .gallery-wrapper::after {
            display: none;
        }
        
        #section2 .gallery-wrapper {
            overflow: visible !important;
            right: -31% !important;
        }
        
        #section2 .gallery_line {
            animation: slideVertical 26s linear infinite;
        }
        
        #section2 .gallery_line:nth-child(2) {
            animation-direction: reverse;
            animation-duration: 30s;
        }
        
        #section2 .gallery_line:nth-child(3) {
            animation-duration: 34s;
        }
        
        #section2 .gallery_line:nth-child(4) {
            animation-direction: reverse;
            animation-duration: 32s;
        }

        #section2 .gallery_line img {
            width: 100%;
            aspect-ratio: 4 / 5;
            height: auto;
            object-fit: cover;
            flex: 0 0 auto;
        }
        
        .gallery-wrapper::before,
        .gallery-wrapper::after {
            content: "";
            position: absolute;
            z-index: 10;
            left: 0;
            right: 0;
            height: 20vh;
            pointer-events: none;
        }
        .gallery-wrapper::before {
    top: 0 !important;
    background: linear-gradient(
        to bottom,
        #eae2b7 0%,
        rgba(234,226,183,0.8) 20%,
        rgba(234,226,183,0) 50%
    );
        }

#section5 .left-shift {
    position: relative;
}

#section5 .left-shift .grid {
    transform: none;
}

@media (max-width: 900px) {
    #section5 .left-shift .grid { transform: none; }
}

        .v-gallery {
            display: flex;
            gap: 1.5vw;
            min-width: 500px;
            height: 120vh;
            transform: translate(5%, -15%) rotate(6deg) rotateX(10deg) rotateY(25deg);
            transform-style: preserve-3d;
        }

        .gallery_line {
            display: flex;
            flex-direction: column;
            gap: 1.5vw;
            height: fit-content;
            animation: slideVertical 40s linear infinite;
        }

        .gallery_line:nth-child(2) {
            animation-direction: reverse;
            margin-top: -100px;
        }
        
        .gallery_line:nth-child(3) {
            animation-duration: 45s;
        }

        .gallery_line:nth-child(4) {
            animation-duration: 42s;
            animation-direction: reverse;
            margin-top: -150px;
        }

        .gallery_line img {
            flex: 1 1 auto;
            width: 100%;
            height: auto;
            object-fit: cover;
            border-radius: 8px;
            box-shadow: -10px 10px 20px rgba(0,0,0,0.15);
            transition: transform 0.3s ease;
        }

        .svg-float-hover {
            opacity: 0.25;
            transition: 
                opacity 0.35s ease,
                transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275),
                filter 0.35s ease;
            cursor: pointer;
        }

        .svg-float-hover:hover {
            opacity: 1;
            transform: scale(1.12) rotate(4deg);
            filter: drop-shadow(0 15px 30px rgba(255,255,255,0.25));
        }


        .btn-contacto-fijo {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 9999;
            background: var(--accent-orange);
            color: var(--bg-white);
            padding: 15px 25px;
            border-radius: 60px;
            font-weight: 1500;
            text-transform: uppercase;
            text-decoration: none;
            letter-spacing: 1px;
            box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 15px;
        }

        @keyframes slideVertical {
            0% { transform: translateY(0); }
            100% { transform: translateY(calc(-50% - 0.75vw)); }
        }


        @keyframes pulse-organic {
            0%, 100% { transform: scale(1) rotate(0deg); }
            50% { transform: scale(1.08) rotate(3deg); }
        }
        .brush-shape {
            animation: pulse-organic 4s ease-in-out infinite;
            transform-origin: center;
        }

        .vibrate-icon {
            animation: vibrate 2s ease-in-out infinite;
        }

        .vibrate-cross-tl {
            animation: vibrate-cross-tl 1.5s ease-in-out infinite;
        }

        .vibrate-cross-tr {
            animation: vibrate-cross-tr 1.5s ease-in-out infinite;
        }

        .vibrate-cross-bl {
            animation: vibrate-cross-bl 1.5s ease-in-out infinite;
        }

        .vibrate-cross-br {
            animation: vibrate-cross-br 1.5s ease-in-out infinite;
        }

        @keyframes vibrate {
            0%, 100% {
                transform: translate(0, 0) rotate(0deg);
            }
            10% {
                transform: translate(-2px, -2px) rotate(-1deg);
            }
            20% {
                transform: translate(2px, -2px) rotate(1deg);
            }
            30% {
                transform: translate(-2px, 2px) rotate(0deg);
            }
            40% {
                transform: translate(2px, 2px) rotate(1deg);
            }
            50% {
                transform: translate(-2px, -2px) rotate(-1deg);
            }
            60% {
                transform: translate(2px, -2px) rotate(0deg);
            }
            70% {
                transform: translate(-2px, 2px) rotate(-1deg);
            }
            80% {
                transform: translate(2px, 2px) rotate(1deg);
            }
            90% {
                transform: translate(-2px, -2px) rotate(0deg);
            }
        }

        @keyframes vibrate-cross-tl {
            0%, 100% {
                transform: translate(0, 0);
            }
            25% {
                transform: translate(5px, 5px);
            }
            50% {
                transform: translate(0, 0);
            }
            75% {
                transform: translate(-3px, -3px);
            }
        }

        @keyframes vibrate-cross-tr {
            0%, 100% {
                transform: translate(0, 0);
            }
            25% {
                transform: translate(-5px, 5px);
            }
            50% {
                transform: translate(0, 0);
            }
            75% {
                transform: translate(3px, -3px);
            }
        }

        @keyframes vibrate-cross-bl {
            0%, 100% {
                transform: translate(0, 0);
            }
            25% {
                transform: translate(5px, -5px);
            }
            50% {
                transform: translate(0, 0);
            }
            75% {
                transform: translate(-3px, 3px);
            }
        }

        @keyframes vibrate-cross-br {
            0%, 100% {
                transform: translate(0, 0);
            }
            25% {
                transform: translate(-5px, -5px);
            }
            50% {
                transform: translate(0, 0);
            }
            75% {
                transform: translate(3px, 3px);
            }
        }
    
        h1, h2 {
            font-family: 'Space Grotesk', sans-serif;
            letter-spacing: -0.04em;
        }

        h3, h4 {
            font-family: 'Space Grotesk', sans-serif;
            letter-spacing: -0.02em;
        }

        .brand,
        .nav-logo {
            font-family: 'Montserrat', sans-serif;
        }


        p, span, li, a {
            font-family: 'Inter', sans-serif;
        }

        #section6 .grid-bg { opacity: 0.1; }
        #section6 button.bg-black {
            background: #888 !important;
        }
        #section6 button.bg-black/20 {
            background: rgba(136, 136, 136, 0.2) !important;
        }
        #section6 span.bg-black {
            background: #888 !important;
        }
        #section6 a.bg-black {
            background: #888 !important;
        }
        #section6 .border-black {
            border-color: #888 !important;
        }
        #section6 button:hover.bg-black/10 {
            background: rgba(136, 136, 136, 0.1) !important;
        }
        #section6 .split-info-box span.bg-black {
            background: #888 !important;
        }
        #section6 .split-info-box a.bg-black {
            background: #888 !important;
        }
        #section6 .split-info-box .border-black {
            border-color: #888 !important;
        }

        @media (max-width: 768px) {
            #section6 svg,
            #section6 .img-full {
                display: none !important;
            }


            #section6 .z-20 h2 {
                font-size: clamp(1.35rem, 6vw, 2.25rem) !important;
                line-height: 1.05 !important;
                max-width: 100% !important;
                word-break: break-word !important;
            }

            #section6 .continuous-gallery {
                height: 168px !important;
                margin-top: -5.4rem !important;
            }

            #section6 .gallery-track {
                gap: 0.45rem !important;
                padding: 0 0.45rem !important;
            }

            #section6 .gallery-track .tile {
                width: calc((100vw - 2.4rem) / 3) !important;
                min-width: calc((100vw - 2.4rem) / 3) !important;
                height: 168px !important;
                border-radius: 12px !important;
            }
        }

        @media (max-width: 900px) {
        }
@media (max-width: 768px) {

    html {
        scroll-behavior: smooth;
    }

    body {
        -webkit-font-smoothing: antialiased;
    }
}



@media (max-width: 768px) {

    #section7 .img-full {
        display: none !important;
    }


    #section7 .absolute.bottom-10 {
        top: 2.7rem !important;
        bottom: auto !important;
    }

    #section7 .absolute.bottom-10 h1 {
        font-size: clamp(1.25rem, 5.5vw, 1.85rem) !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
        max-width: 100% !important;
    }


    #section7 {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        min-height: auto !important;
        padding: 1.2rem 5% 0 !important;
        align-items: stretch !important;
        overflow: visible !important;
    }


    #section7 > ul {
        width: 100% !important;
        height: auto !important;
        flex-direction: column !important;
        gap: 1rem !important;
        align-items: stretch !important;
        transform: none !important;
        /* Desplazar el acordeon hacia abajo para dejar espacio al titulo */
        margin-top: 3rem !important; /* override de mt-12 */
        /* Evita que el acordeon crezca y se encima de otras secciones:
           el contenido se lee con scroll interno. */
        max-height: calc(100vh - 4.6rem) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

}


@media (max-width: 768px) {

    #section5 {
        height: auto !important;
        min-height: auto !important;
        padding: 2.4rem 1rem 0 !important;
        margin-bottom: -3rem !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    #section5 > .max-w-7xl {
        padding-top: 0 !important;
        margin-top: -4.9rem !important;
        margin-bottom: -2.6rem !important;
        transform: none !important;
    }

    #section5 > .max-w-7xl > .grid {
        margin-top: -1.45rem !important;
        transform: none !important;
    }

    #section5 h2 br {
        display: none !important;
    }

    #section5 h2 span {
        display: inline !important;
    }

    #section5 h2 {
        white-space: nowrap !important;
        font-size: clamp(1.15rem, 4.8vw, 1.6rem) !important;
        line-height: 1 !important;
    }

    #section5 .space-y-6.relative.z-10 > p.text-gray-600,
    #section5 .mt-4.border-l-4 p.text-sm {
        font-size: 0.8rem !important;
        line-height: 1.45 !important;
    }

    #section5 .mt-4.border-l-4 p.text-\[11px\] {
        font-size: 0.5rem !important;
        line-height: 1.1 !important;
    }

    #section5 .space-y-3.-mt-3 > ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.45rem 0.8rem !important;
    }

    #section5 .space-y-3.-mt-3 > ul li {
        gap: 0.35rem !important;
        font-size: 0.68rem !important;
        line-height: 1.18 !important;
        align-items: flex-start !important;
        display: block !important;
        text-align: left !important;
        position: relative !important;
        padding-left: 0.55rem !important;
    }

    #section5 .space-y-3.-mt-3 > ul li span.w-1\\.5.h-1\\.5 {
        width: 0.24rem !important;
        height: 0.24rem !important;
        margin-top: 0 !important;
        flex: 0 0 auto !important;
        display: inline-block !important;
        background: #111827 !important;
        border-radius: 9999px !important;
        opacity: 1 !important;
        position: absolute !important;
        left: 0 !important;
        top: 0.35rem !important;
    }

    #section5 .space-y-3.-mt-3 > ul li strong {
        font-size: inherit !important;
        line-height: inherit !important;
        font-weight: inherit !important;
    }

    #section5 .aspect-video {
        aspect-ratio: 16 / 7.8 !important;
        max-height: 10.1rem !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 {
        align-items: stretch !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.42rem !important;
        padding: 0.42rem !important;
        max-width: 19.2rem !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0.42rem 0.38rem !important;
        min-height: 4.25rem !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div p:first-child {
        margin-top: 0 !important;
        font-size: 0.52rem !important;
        line-height: 1.1 !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div p.text-2xl {
        font-size: 0.94rem !important;
        line-height: 1 !important;
        margin-top: 0.14rem !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div p.text-2xl span {
        font-size: 0.5rem !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div:last-child p.text-sm {
        font-size: 0.62rem !important;
        line-height: 1.18 !important;
        margin-top: 0.16rem !important;
    }

    #section5 .space-y-6.relative.z-10 {
        margin-top: 0 !important;
    }

    #section5 .inline-block.mt-8 {
        margin-top: 0 !important;
    }

    #section5 .space-y-6.relative.z-10 > .absolute.inset-0 {
        top: -22px !important;
    }

    #section5 > .z-20 {
        padding-top: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 0 !important;
        transform: translateY(-4rem) !important;
    }

    #section5 > .z-20 > .w-full.z-20.text-left {
        margin-left: 0 !important;
        padding-top: 0 !important;
        margin-top: -0.9rem !important;
        order: 1 !important;
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
    }

    #section5 > .z-20 > .w-full.z-20.text-left h1 {
        font-size: clamp(1.8rem, 8.8vw, 2.9rem) !important;
        line-height: 0.95 !important;
        margin-bottom: 0 !important;
    }

    #section5 .mobile-solution-title .title-line {
        display: block !important;
        white-space: nowrap !important;
    }

    #section5 > .z-20 > .w-full.z-20.text-left .grid {
        margin-top: auto !important;
        padding-top: 0 !important;
        order: 2 !important;
        display: grid !important;
        gap: 0.55rem !important;
        transform: translateY(-3.8rem) !important;
    }

    #section5 > .z-20 > .w-full.z-20.text-left .grid > div {
        font-size: 0.85rem !important;
        line-height: 1.35 !important;
    }

    #section5 > .z-20 > .w-full.z-20.text-left .grid > div:last-child {
        padding-left: 0.8rem !important;
    }

    #section5 .gallery-wrapper {
        width: calc(100% + 24%) !important;
        margin-top: -2.75rem !important;
        margin-left: -16% !important;
        overflow: hidden !important;
        order: 2 !important;
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    #section5 .v-gallery {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.75rem !important;
        transform: none !important;
        perspective: none !important;
        justify-content: center !important;
        align-items: flex-start !important;
        margin-left: 0 !important;
    }

    #section5 .gallery_line {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        gap: 0.75rem !important;
        width: max-content !important;
        height: auto !important;
        animation: slideHorizontalMobile 26s linear infinite !important;
        margin-top: 0 !important;
    }

    #section5 .gallery_line:nth-child(even) {
        animation-direction: reverse !important;
    }

    #section5 .gallery_line:nth-child(4) {
        display: none !important;
    }

    #section5 .gallery_line img {
        width: 10.5rem !important;
        min-width: 10.5rem !important;
        height: 7.25rem !important;
        object-fit: cover !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16) !important;
    }

    #section5 .spinner,
    #section5 .spinner-container {
        transform: none !important;
        animation: none !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
        width: 100% !important;
    }


    #section5 .spinner-item,
    #section5 .card,
    #section5 .panel {
        transform: none !important;
        position: relative !important;

        width: 100% !important;
        height: auto !important;

        padding: 1rem !important;
        border-radius: 12px !important;

        background: linear-gradient(
            to right,
            rgba(255,255,255,0.05),
            rgba(255,255,255,0.02)
        ) !important;

        border: 1px solid rgba(255,255,255,0.08) !important;
    }


    #section5 .top-text,
    #section5 .text-top,
    #section5 .label-top {
        position: relative !important;
        top: auto !important;
        left: auto !important;

        display: block !important;
        font-size: 0.7rem !important;
        opacity: 0.7 !important;
        margin-bottom: 0.3rem !important;
    }

    #section5 .bottom-text,
    #section5 .text-bottom,
    #section5 .label-bottom {
        position: relative !important;
        bottom: auto !important;
        left: auto !important;

        display: block !important;
        font-size: 0.85rem !important;
        font-weight: 600 !important;
    }

    #section5 .main-text,
    #section5 h3,
    #section5 strong {
        font-size: 1rem !important;
        margin: 0.2rem 0 !important;
    }

    #section5 * {
        transform-style: flat !important;
        perspective: none !important;
    }

}

@keyframes slideHorizontalMobile {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50% - 0.375rem));
    }
}


@media (max-width: 768px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        scroll-behavior: smooth;
        scroll-padding-top: 4.25rem;
    }

    .main-container {
        width: 100%;
       min-height: 600svh !important;
        height: auto !important;
    }

    section,
    .main-container > section {
        will-change: transform, opacity;
    }

    .main-container > section {
        position: sticky !important;
        top: 0 !important;
        left: 0 !important;
        overflow: hidden !important;
        transform-origin: center top !important;
        box-shadow: 0 -24px 56px rgba(0, 0, 0, 0.24) !important;
    }

    body.mobile-scrolltrigger .main-container {
        height: auto !important;
    }

    body.mobile-scrolltrigger .main-container > section {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        box-shadow: none !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 120dvh !important;
        min-height: 120dvh !important;
        max-height: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.mobile-scrolltrigger #section5 {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
    }

    section,
    .main-container > section {
        width: 100% !important;
        min-width: 100% !important;
        min-height: 100svh !important;
        scroll-margin-top: 0.2rem !important;
        scroll-snap-align: none;
        scroll-snap-stop: normal;
    }

    .main-container > section {
        height: 100svh !important;
    }

    .main-container > section#cursos-serigrafia {
        height: auto !important;
        min-height: 100svh !important;
        max-height: none !important;
        overflow: visible !important;
        box-shadow: 0 -24px 56px rgba(0, 0, 0, 0.24) !important;
    }

    #section2,
    #cursos-serigrafia,
    #section5,
    #section6,
    #section7 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        align-items: stretch !important;
    }

    #section2 > :not(.grid-bg):not(.img-full):not(.static-dots-container),
    #cursos-serigrafia > :not(.static-dots-container),
    #section5 > :not(.grid-bg):not(.img-full):not(.illustrator-mobile-svg),
    #section6 > :not(.grid-bg):not(.img-full),
    #section7 > :not(.grid-bg):not(.img-full) {
        width: 100% !important;
        max-width: 100% !important;
    }

    #section2 {
        padding: 1.15rem 0 0.2rem !important;
        margin-bottom: -1.1rem !important;
    }

    #section2 > .z-10 {
        min-height: auto !important;
        height: auto !important;
        padding-left: 4% !important;
        padding-right: 4% !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        transform: translateY(-0.65rem) !important;
        padding-bottom: 0 !important;
    }

    #cursos-serigrafia {
        padding: 0 !important;
        justify-content: flex-start !important;
        overflow: visible !important;
    }

    #cursos-serigrafia > .z-10 {
        max-width: 100% !important;
        padding: 4.5rem 4% 1.75rem !important;
        max-height: none !important;
    }

    #cursos-serigrafia h2 {
        font-size: clamp(1.75rem, 7vw, 2.5rem) !important;
        margin-bottom: 1rem !important;
    }

    #cursos-serigrafia .cursos-grid {
        gap: 1.5rem !important;
        max-height: none !important;
    }

    #cursos-serigrafia .curso-flip-front-media {
        aspect-ratio: 3/4 !important;
        min-height: 16rem !important;
        max-height: 19rem !important;
    }

    #cursos-serigrafia .curso-flip-back-samples {
        height: 160px !important;
        margin-top: 0.65rem !important;
    }

    #cursos-serigrafia .sample-image {
        width: 100% !important;
        height: 100% !important;
    }

    #cursos-serigrafia .curso-flip-back-inner ul {
        grid-template-columns: 1fr !important;
    }

    #section5 {
        min-height: auto !important;
        height: auto !important;
        padding: 1rem 0 0.45rem !important;
        margin-bottom: -2.6rem !important;
        justify-content: flex-start !important;
    }

    #section5 > .max-w-7xl {
        padding-top: 0 !important;
        margin-top: -4.9rem !important;
        margin-bottom: -2.2rem !important;
        transform: none !important;
    }

    #section5 > .max-w-7xl > .grid {
        margin-top: -1.45rem !important;
        transform: none !important;
    }

    #section5 h2 br {
        display: none !important;
    }

    #section5 h2 span {
        display: inline !important;
    }

    #section5 h2 {
        white-space: nowrap !important;
        font-size: clamp(1rem, 4.6vw, 1.3rem) !important;
        line-height: 1 !important;
    }

    #section5 .space-y-6.relative.z-10 > p.text-gray-600,
    #section5 .mt-4.border-l-4 p.text-sm {
        font-size: 0.74rem !important;
        line-height: 1.42 !important;
    }

    #section5 .mt-4.border-l-4 p.text-\[11px\] {
        font-size: 0.44rem !important;
        line-height: 1.08 !important;
    }

    #section5 .space-y-3.-mt-3 > ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.38rem 0.65rem !important;
    }

    #section5 .space-y-3.-mt-3 > ul li {
        gap: 0.32rem !important;
        font-size: 0.62rem !important;
        line-height: 1.16 !important;
        align-items: flex-start !important;
        display: block !important;
        text-align: left !important;
        position: relative !important;
        padding-left: 0.5rem !important;
    }

    #section5 .space-y-3.-mt-3 > ul li span.w-1\\.5.h-1\\.5 {
        width: 0.22rem !important;
        height: 0.22rem !important;
        margin-top: 0 !important;
        flex: 0 0 auto !important;
        display: inline-block !important;
        background: #111827 !important;
        border-radius: 9999px !important;
        opacity: 1 !important;
        position: absolute !important;
        left: 0 !important;
        top: 0.31rem !important;
    }

    #section5 .space-y-3.-mt-3 > ul li strong {
        font-size: inherit !important;
        line-height: inherit !important;
        font-weight: inherit !important;
    }

    #section5 .aspect-video {
        aspect-ratio: 16 / 7.2 !important;
        max-height: 8.9rem !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 {
        align-items: stretch !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.34rem !important;
        padding: 0.34rem !important;
        max-width: 17.4rem !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0.34rem 0.28rem !important;
        min-height: 3.8rem !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div p:first-child {
        margin-top: 0 !important;
        font-size: 0.48rem !important;
        line-height: 1.08 !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div p.text-2xl {
        font-size: 0.84rem !important;
        line-height: 1 !important;
        margin-top: 0.12rem !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div p.text-2xl span {
        font-size: 0.44rem !important;
    }

    #section5 .space-y-6.relative.z-10 > .grid.grid-cols-2.gap-4.p-4 > div:last-child p.text-sm {
        font-size: 0.56rem !important;
        line-height: 1.14 !important;
        margin-top: 0.12rem !important;
    }

    #section5 .space-y-6.relative.z-10 {
        margin-top: 0 !important;
    }

    #section5 .inline-block.mt-8 {
        margin-top: 0 !important;
    }

    #section5 .space-y-6.relative.z-10 > .absolute.inset-0 {
        top: -10px !important;
    }

    #section5 > .z-20 {
        min-height: auto !important;
        padding-left: 4% !important;
        padding-right: 4% !important;
        overflow: visible !important;
        -webkit-overflow-scrolling: auto !important;
        transform: translateY(-4rem) !important;
    }

    #section7 .text-center.mb-12 {
        margin-bottom: 1.35rem !important;
    }

    #section7 .text-center.mb-12 > .inline-flex {
        margin-top: 0.95rem !important;
        margin-bottom: 0.45rem !important;
        font-size: 0.58rem !important;
        padding: 0.28rem 0.6rem !important;
        transform: translateY(10px) !important;
    }

    #section7 .text-center.mb-12 h2 {
        font-size: clamp(1.8rem, 7.4vw, 2.4rem) !important;
        margin-bottom: 0.5rem !important;
        line-height: 0.96 !important;
    }

    #section7 .text-center.mb-12 > p {
        font-size: 0.7rem !important;
        line-height: 1.28 !important;
        max-width: 18rem !important;
    }

    #section7 .grid.grid-cols-1.md\:grid-cols-3 {
        gap: 0.7rem !important;
    }

    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div {
        padding: 0.95rem !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        text-align: center !important;
    }

    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div h3 {
        font-size: 1.02rem !important;
        margin-bottom: 0.3rem !important;
        text-align: center !important;
    }

    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div a,
    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div p.text-3xl {
        font-size: 1.3rem !important;
        line-height: 1.02 !important;
        text-align: center !important;
    }

    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div p.text-gray-600\/70,
    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div p.text-black\/60 {
        font-size: 0.64rem !important;
        margin-top: 0.28rem !important;
        text-align: center !important;
    }

    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div p,
    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div a,
    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div h3 {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div > div.w-12.h-12 {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #section7 .grid.grid-cols-1.md\:grid-cols-3 > div a.inline-block {
        display: inline-block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 768px) {
    footer.bg-black {
        width: 100% !important;
        padding: 2.25rem 1rem 2.75rem !important;
        margin-top: -24rem !important;
        margin-bottom: 0 !important;
        transform: none !important;
        order: 2 !important;
    }

    footer.bg-black > div {
        max-width: 100% !important;
        padding-left: 4% !important;
        padding-right: 4% !important;
    }

    footer.bg-black .grid {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 1rem !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    footer.bg-black .grid > div {
        background: var(--bg-white) !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        border-radius: 1.25rem !important;
        padding: 1.1rem 1rem !important;
        min-width: 0 !important;
        width: 100% !important;
        flex: 1 1 auto !important;
    }

    footer.bg-black .mt-12.pt-8 {
        margin-top: 1rem !important;
        padding-top: 1rem !important;
        border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    }

    footer.bg-black .mt-12.pt-8 > p,
    footer.bg-black .mt-12.pt-8 > div {
        width: 100% !important;
    }

    footer.bg-black .mt-12.pt-8 > p {
        order: 2 !important;
    }

    footer.bg-black .mt-12.pt-8 > div {
        order: 1 !important;
    }
}

@media (max-width: 768px) {
    html {
        scroll-snap-type: y proximity;
        scroll-behavior: smooth;
        scroll-padding-top: 0;
    }

    body {
        overflow-y: auto;
        scroll-padding-top: 0;
    }

    .main-container {
        height: auto !important;
    }

    .main-container > section:not(#section7):not(#section2) {
        position: relative !important;
        top: auto !important;
        height: 100vh !important;
        min-height: 100vh !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: normal;
        scroll-margin-top: 0 !important;
    }

    #section7 {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        min-height: auto !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: normal !important;
        scroll-margin-top: 0 !important;
    }

    .main-container > section#section2 {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: normal !important;
        scroll-margin-top: 0 !important;
    }

    .main-container > section#cursos-serigrafia {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
    }

    #cursos-serigrafia > .z-10 {
        min-height: auto !important;
        padding-bottom: 1.6rem !important;
    }

    html,
    body {
        overflow-x: hidden !important;
    }

    section,
    .main-container > section {
        width: 100% !important;
        max-width: 100% !important;
    }

    #section1 img[alt="GoroLab"] {
        min-height: auto !important;
        transform: scale(1.8) !important;
    }

    #section1 .carousel .card {
        overflow: hidden !important;
        border-radius: 8px !important;
        background: #f3f1ec !important;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
    }

    #section1 .carousel .card img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        border-radius: 8px !important;
        transform: scale(1.06) !important;
    }

    #cursos-serigrafia {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    #cursos-serigrafia > .z-10 {
        height: auto !important;
        max-height: none !important;
        justify-content: flex-start !important;
        min-height: auto !important;
        padding: 2.9rem 0.85rem 1.2rem !important;
        overflow: visible !important;
        transform: translateY(-3.2rem) !important;
    }

    #cursos-serigrafia .cursos-grid {
        max-height: none !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.7rem !important;
        margin-top: 0.65rem !important;
        align-items: stretch !important;
    }

    #cursos-serigrafia .curso-flip-card {
        min-height: 29.5rem !important;
        max-height: 29.5rem !important;
    }

    #cursos-serigrafia .curso-flip-front {
        justify-content: center !important;
        padding-top: 0.9rem !important;
        padding-bottom: 0.9rem !important;
        gap: 0.55rem !important;
    }

    #cursos-serigrafia .curso-flip-front-media {
        min-height: 10.25rem !important;
        max-height: 10.25rem !important;
        flex: 0 0 auto !important;
    }

    #cursos-serigrafia .curso-flip-front-body {
        padding: 0.8rem 0.8rem 0.95rem !important;
        gap: 0.22rem !important;
        justify-content: flex-start !important;
        flex: 0 0 auto !important;
        min-height: 7.4rem !important;
    }

    #cursos-serigrafia .curso-flip-front-body .inline-block,
    #cursos-serigrafia .curso-back-badge {
        font-size: 0.7rem !important;
        letter-spacing: 0.01em !important;
        padding: 0.42rem 0.5rem !important;
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: keep-all !important;
        text-wrap: balance !important;
    }

    #cursos-serigrafia .curso-flip-card:nth-child(2) .curso-back-badge {
        font-size: 0.9rem !important;
        line-height: 1.1 !important;
        letter-spacing: 0.01em !important;
        padding: 0.5rem 0.52rem !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: keep-all !important;
        text-wrap: balance !important;
    }

    #cursos-serigrafia .curso-flip-card:nth-child(2) .curso-back-badge .badge-main-word {
        display: inline-block !important;
        font-size: 1.12em !important;
        line-height: 1 !important;
    }

    #cursos-serigrafia .curso-flip-card:nth-child(2) .curso-flip-front-body .inline-block {
        font-size: 0.68rem !important;
        line-height: 1.02 !important;
        letter-spacing: 0.01em !important;
        padding: 0.34rem 0.34rem !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: keep-all !important;
        text-wrap: balance !important;
    }

    #cursos-serigrafia .curso-flip-back-inner ul {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        gap: 0.22rem !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #cursos-serigrafia .curso-flip-front-body h3 {
        font-size: 0.88rem !important;
        line-height: 0.9 !important;
        margin: 0 !important;
        text-wrap: balance !important;
        text-align: center !important;
    }

    #cursos-serigrafia .curso-flip-hint {
        margin-top: auto !important;
        font-size: 0.72rem !important;
        line-height: 1 !important;
        align-self: center !important;
        text-align: center !important;
    }

    #cursos-serigrafia .curso-flip-back-inner > div:first-of-type {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.16rem !important;
    }

    #cursos-serigrafia .curso-flip-back-inner h3 {
        font-size: 0.76rem !important;
        line-height: 0.88 !important;
        margin-bottom: 0.16rem !important;
        text-wrap: balance !important;
    }

    #cursos-serigrafia .curso-flip-back-inner h4 {
        font-size: 0.5rem !important;
        line-height: 1 !important;
        margin-bottom: 0.12rem !important;
        text-wrap: balance !important;
    }

    #cursos-serigrafia .curso-flip-back-inner ul li {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 0.28rem !important;
        margin: 0 !important;
    }

    #cursos-serigrafia .curso-flip-back-inner ul li span:last-child {
        font-size: 0.44rem !important;
        line-height: 1.02 !important;
        overflow-wrap: anywhere !important;
    }

    #cursos-serigrafia .curso-flip-back-pricing .grid {
        grid-template-columns: 1fr !important;
        gap: 0.14rem !important;
    }

    #cursos-serigrafia .curso-flip-back-pricing {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.2rem !important;
        padding-top: 1.72rem !important;
        margin-top: 1.62rem !important;
        border-top: none !important;
        box-shadow: none !important;
    }

    #cursos-serigrafia .curso-flip-back-pricing > p:first-child {
        font-size: 0.42rem !important;
        line-height: 0.9 !important;
        letter-spacing: 0.04em !important;
        margin-top: 1.22rem !important;
        margin-bottom: 0.02rem !important;
        transform: translateY(0.85rem) !important;
    }

    #cursos-serigrafia .curso-flip-back-pricing .bg-\[\#f3f1ec\] {
        padding: 0.34rem 0.34rem !important;
        border-radius: 0.45rem !important;
    }

    #cursos-serigrafia .curso-flip-back-pricing h5 {
        font-size: 0.36rem !important;
        line-height: 0.9 !important;
    }

    #cursos-serigrafia .curso-flip-back-pricing .text-xl {
        font-size: 0.72rem !important;
    }

    #cursos-serigrafia .curso-flip-back-pricing .text-\[11px\] {
        font-size: 0.46rem !important;
        line-height: 0.76 !important;
        margin-top: 0.04rem !important;
    }

    #cursos-serigrafia .curso-flip-back-samples {
        display: none !important;
    }

    #cursos-serigrafia .curso-flip-back-inner {
        padding: 0.58rem 0.52rem 0.6rem !important;
        gap: 0.16rem !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        scrollbar-width: none !important;
    }

    #cursos-serigrafia .curso-flip-back-close {
        font-size: 0.42rem !important;
        line-height: 1 !important;
        letter-spacing: 0.06em !important;
    }

    #cursos-serigrafia .curso-flip-back-pricing > p:last-child {
        display: none !important;
    }

    #cursos-serigrafia .curso-flip-back-inner::-webkit-scrollbar {
        display: none !important;
    }

    #cursos-serigrafia h2 {
        margin-bottom: 0.55rem !important;
    }

    #cursos-serigrafia .curso-flip-front-body h3,
    #cursos-serigrafia .curso-flip-back-inner h3 {
        line-height: 1 !important;
    }

    #cursos-serigrafia .vibrate-icon,
    #section7 .vibrate-cross-tl,
    #section7 .vibrate-cross-tr,
    #section7 .vibrate-cross-bl,
    #section7 .vibrate-cross-br {
        display: none !important;
    }

    #section5 iframe {
        min-height: 14rem !important;
    }

    #section7 .grid.grid-cols-1.md\:grid-cols-3 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    #section1 img[alt="GoroLab"] {
        transform: scale(1.62) !important;
    }

    #cursos-serigrafia > .z-10 {
        min-height: auto !important;
        padding: 3.95rem 0.7rem 1.35rem !important;
        margin-top: -2.6rem !important;
        transform: none !important;
    }

    #cursos-serigrafia .curso-flip-card {
        min-height: 27.5rem !important;
        max-height: 27.5rem !important;
    }

    #cursos-serigrafia .curso-flip-front {
        justify-content: center !important;
        padding-top: 0.72rem !important;
        padding-bottom: 0.72rem !important;
        gap: 0.4rem !important;
    }

    #cursos-serigrafia .curso-flip-front-body,
    #cursos-serigrafia .curso-flip-back-inner {
        padding-left: 0.65rem !important;
        padding-right: 0.65rem !important;
    }

    #cursos-serigrafia .cursos-grid {
        gap: 0.55rem !important;
    }

    #cursos-serigrafia .curso-flip-front-body h3 {
        font-size: 0.8rem !important;
        line-height: 0.88 !important;
        text-align: center !important;
    }

    #cursos-serigrafia .curso-flip-back-inner h3 {
        font-size: 0.7rem !important;
        line-height: 0.84 !important;
    }

    #cursos-serigrafia .curso-flip-back-inner ul li span:last-child {
        font-size: 0.42rem !important;
        line-height: 0.98 !important;
    }

    #cursos-serigrafia .curso-flip-back-pricing .grid {
        grid-template-columns: 1fr !important;
    }

    #cursos-serigrafia .curso-flip-back-samples {
        display: none !important;
    }

    #cursos-serigrafia .curso-flip-front-media {
        min-height: 8.75rem !important;
        max-height: 8.75rem !important;
    }

    #cursos-serigrafia .curso-flip-front-body {
        min-height: 6.8rem !important;
    }

    #cursos-serigrafia .curso-flip-back-close {
        font-size: 0.36rem !important;
        letter-spacing: 0.05em !important;
    }

    #cursos-serigrafia .curso-flip-front-body .inline-block,
    #cursos-serigrafia .curso-back-badge {
        font-size: 0.58rem !important;
        line-height: 1.02 !important;
        padding: 0.3rem 0.34rem !important;
        margin-bottom: 0.18rem !important;
        letter-spacing: 0.01em !important;
    }

    #cursos-serigrafia .curso-flip-card:nth-child(2) .curso-back-badge {
        font-size: 0.78rem !important;
        line-height: 1.08 !important;
        padding: 0.42rem 0.42rem !important;
        white-space: normal !important;
    }

    #cursos-serigrafia .curso-flip-card:nth-child(2) .curso-back-badge .badge-main-word {
        display: inline-block !important;
        font-size: 1.1em !important;
        line-height: 1 !important;
    }

    #cursos-serigrafia .curso-flip-card:nth-child(2) .curso-flip-front-body .inline-block {
        font-size: 0.56rem !important;
        line-height: 1 !important;
        padding: 0.26rem 0.26rem !important;
        white-space: normal !important;
    }

    #cursos-serigrafia .curso-flip-back-inner h4 {
        font-size: 0.46rem !important;
    }

}

@media (max-width: 768px) {
    #section2,
    #section5,
    #section6 {
        border-top: none !important;
        border-bottom: none !important;
        box-shadow: none !important;
    }

    body.mobile-scrolltrigger .main-container > section#section6 {
        box-shadow: none !important;
        border-top: none !important;
        border-bottom: none !important;
    }

    #section6::before,
    #section6::after {
        display: none !important;
    }

    body.mobile-scrolltrigger .main-container > section#section6 {
        height: auto !important;
        min-height: 104svh !important;
        padding-bottom: 0 !important;
        margin-bottom: -2.1rem !important;
    }

    #section6 {
        min-height: 104svh !important;
        padding-bottom: 0 !important;
        margin-bottom: -1.2rem !important;
    }

    #section6 > .max-w-7xl {
        padding-bottom: 0 !important;
    }

}

@media (max-width: 768px) {
    body.mobile-scrolltrigger .main-container > section#section6 {
        min-height: auto !important;
        height: auto !important;
        margin-bottom: -5.4rem !important;
    }

    #section6 {
        min-height: auto !important;
        height: auto !important;
        margin-bottom: -1.8rem !important;
        padding-bottom: 1rem !important;
    }

    #section7 #contacto {
        height: 0 !important;
        min-height: 0 !important;
    }
}

@media (max-width: 768px) {
    #section1 .section1-copy {
        bottom: 1.5rem !important;
        width: min(68vw, 19rem) !important;
        padding: 0.46rem 0.66rem !important;
        border-radius: 0.85rem !important;
    }

    #section1 .section1-copy p {
        font-size: 0.68rem !important;
        letter-spacing: 0.04em !important;
        line-height: 1.25 !important;
    }
}

@media (max-width: 480px) {
    #section1 .section1-copy {
        bottom: 0.95rem !important;
        width: min(70vw, 16.5rem) !important;
        padding: 0.42rem 0.58rem !important;
        border-radius: 0.75rem !important;
    }

    #section1 .section1-copy p {
        font-size: 0.62rem !important;
    }
}

@media (max-width: 768px) {
    body.mobile-scrolltrigger .main-container,
    .main-container {
        min-height: auto !important;
        height: auto !important;
    }

    body.mobile-scrolltrigger .main-container > section#section6,
    .main-container > section#section6,
    #section6 {
        height: auto !important;
        min-height: 126svh !important;
        max-height: none !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
        margin-bottom: -3.6rem !important;
    }

    body.mobile-scrolltrigger .main-container > section#section7,
    .main-container > section#section7,
    #section7 {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        margin-top: -6.5rem !important;
        padding-top: 0.65rem !important;
    }

    #section6 > .max-w-7xl,
    #section7 > .max-w-7xl {
        transform: none !important;
    }

    #section6 > .max-w-7xl {
        margin-bottom: -3.4rem !important;
        padding-top: 5.8rem !important;
        padding-bottom: 1rem !important;
    }

    #section7 > .max-w-7xl {
        margin-top: 0 !important;
        padding-top: 0.35rem !important;
    }

    #section7 #contacto,
    #contacto {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    body.mobile-scrolltrigger .main-container > section#cursos-serigrafia,
    .main-container > section#cursos-serigrafia,
    #cursos-serigrafia {
        height: auto !important;
        min-height: 75svh !important;
        max-height: none !important;
        padding-bottom: 0 !important;
        margin-bottom: -1.8rem !important;
    }

    #cursos-serigrafia > .z-10 {
        padding-bottom: 0 !important;
    }
}

