/* ===========================================
   RESPONSIVE STYLES - 3 Breakpoints
   Desktop: 1025px+ (default styles in style.css)
   Tablet: 769px - 1024px
   Mobile: 768px and below
=========================================== */

html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

/* ===========================================
   TABLET (769px - 1024px)
=========================================== */
@media (max-width: 1024px) {
    /* Navbar */
    .navbar {
        width: 80%;
        padding: 12px 20px;
    }
    .nav-container {
        gap: 60px;
    }
    .logo {
        font-size: 1rem;
    }
    .nav-link {
        font-size: 0.9rem;
        padding: 8px 12px;
    }

    /* Hero */
    .hero {
        padding-left: 6%;
        padding-right: 6%;
    }
    .hero-title {
        font-size: 5rem;
    }
    .hero-divider {
        font-size: 5rem;
        margin: -40px;
    }
    .hero-main-row {
        gap: 25px;
        margin-bottom: 40px;
    }
    .promo-text-1, .promo-text-2 {
        font-size: 1.4rem;
    }
    .hero-features-marquee {
        padding: 18px 0;
        margin-left: calc(-6% - 16px);
        width: calc(100% + 12%);
    }
    .marquee-content {
        gap: 40px;
    }
    .marquee-content span {
        font-size: 1.1rem;
    }
    .explore-btn {
        font-size: 1.2rem;
        padding: 14px 40px;
    }

    /* Sections */
    .image-section,
    .video-section,
    .sound-section,
    .playgrounds-section {
        height: 450px;
        padding-left: 6%;
        padding-right: 6%;
    }
    .image-section .content h2,
    .video-section .content h2,
    .sound-section .content h2,
    .playgrounds-section .content h2 {
        font-size: 4rem;
    }
    .content p {
        font-size: 1.4rem;
    }

    /* Horizontal Scroll - Convert to horizontal swipe */
    .horizontal-scroll {
        height: 100vh;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    .scroll-container {
        display: flex;
        height: 100vh;
        width: auto;
        position: relative;
        transform: none !important;
    }
    .artifact-card {
        min-width: 100vw;
        max-width: 100vw;
        scroll-snap-align: start;
        padding: 40px 6%;
    }

    /* Card 1 */
    .artifact-card.card-1 .card1-title {
        font-size: 6rem;
    }

    /* Card 2 */
    .artifact-card.card-2 {
        padding: 100px 40px;
        gap: 15px;
    }
    .artifact-card.card-2 .card2-text-container {
        width: 450px;
    }
    .artifact-card.card-2 h3 {
        font-size: 2.5rem;
    }
    .artifact-card.card-2 .card2-video:nth-child(1) {
        width: 450px;
    }
    .artifact-card.card-2 .card2-video:nth-child(2),
    .artifact-card.card-2 .card2-video:nth-child(3) {
        width: 280px;
    }

    /* Cards 3, 4, 6 */
    .artifact-card.card-3 h3,
    .artifact-card.card-4 h3,
    .artifact-card.card-6 h3 {
        font-size: 2.5rem;
    }
    .artifact-card.card-3 .card3-video,
    .artifact-card.card-4 .card4-video,
    .artifact-card.card-6 .card6-video {
        width: 280px;
    }

    /* Card 5 */
    .artifact-card.card-5::before,
    .artifact-card.card-5::after {
        inset: 40px;
    }
    .artifact-card.card-5 h3 {
        font-size: 2.8rem;
    }

    /* Card 7 */
    .artifact-card.card-7 {
        gap: 50px;
        padding: 40px;
    }
    .artifact-card.card-7 h3 {
        font-size: 2.5rem;
    }
    .artifact-card.card-7 .card7-video {
        width: 400px;
        height: 560px;
    }

    /* Technology Section */
    .technology-section {
        padding: 80px 5%;
    }
    .tech-container {
        gap: 80px;
    }
    .tech-item h3 {
        font-size: 2rem;
    }
    .tech-item p {
        font-size: 1.2rem;
    }
    .tech-visual video {
        height: 600px;
    }

    /* Plans Section */
    .plans-section {
        padding: 80px 5%;
    }
    .plans-container h2 {
        font-size: 3rem;
    }
    .plans-grid {
        gap: 25px;
    }
    .plan-card {
        padding: 40px 30px;
    }
    .amount {
        font-size: 3rem;
    }

    /* About Section */
    .about {
        padding: 60px 5%;
        gap: 30px;
    }
    .about-content h2 {
        font-size: 4.5rem;
    }
    .about-description p {
        font-size: 0.9rem;
    }
    .team-item {
        padding: 0 25px;
    }

    /* Footer */
    .footer {
        padding: 30px 5%;
    }
}

/* ===========================================
   MOBILE (768px and below)
=========================================== */
@media (max-width: 768px) {
    /* Navbar */
    .navbar {
        width: 92%;
        top: 15px;
        padding: 10px 15px;
    }
    .nav-container {
        flex-direction: column;
        gap: 6px;
    }
    .logo {
        display: none;
    }
    .nav-links {
        gap: 0;
    }
    .nav-link {
        font-size: 0.75rem;
        padding: 5px 8px;
    }
    .nav-link .full-text {
        display: none;
    }
    .nav-link .short-text {
        display: inline;
    }

    /* Hero */
    .hero {
        padding-left: 5%;
        padding-right: 5%;
    }
    .hero-main-row {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
        margin-bottom: 25px;
    }
    .hero-title {
        font-size: 3rem;
        line-height: 1;
    }
    .hero-title-sub {
        margin-top: 8px;
    }
    .hero-divider {
        display: none;
    }
    .hero-subtitle {
        margin-top: 10px;
        gap: 5px;
    }
    .promo-text-1, .promo-text-2 {
        font-size: 1.1rem;
        line-height: 1.3;
    }
    .hero-features-marquee {
        padding: 12px 0;
        margin-left: -5%;
        width: 100vw;
    }
    .marquee-content {
        gap: 30px;
    }
    .marquee-content span {
        font-size: 0.85rem;
    }
    .explore-btn {
        font-size: 1rem;
        padding: 12px 30px;
        margin-top: 20px;
    }

    /* Sections */
    .image-section,
    .video-section,
    .sound-section,
    .playgrounds-section {
        height: 350px;
        padding-left: 5%;
        padding-right: 5%;
    }
    .image-section .content h2,
    .video-section .content h2,
    .sound-section .content h2,
    .playgrounds-section .content h2 {
        font-size: 2.5rem;
    }
    .content p {
        font-size: 1.1rem;
    }

    /* =============================================
       HORIZONTAL SCROLL - MOBILE REDESIGN
       Modern, clean, card-based swipe experience
    ============================================= */

    .horizontal-scroll {
        height: auto;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        background: #111;
    }

    .scroll-container {
        display: flex;
        width: max-content;
        height: 100vh;
    }

    .artifact-card {
        min-width: 100vw;
        max-width: 100vw;
        height: 100vh;
        scroll-snap-align: start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 60px 24px;
        position: relative;
        background: #111;
    }

    /* ===== CARD 1 - Hero Intro ===== */
    .artifact-card.card-1 {
        background: linear-gradient(135deg, #1a1a1a 0%, #0a0a0a 100%);
        text-align: center;
        gap: 16px;
    }
    .artifact-card.card-1 .card-content-left,
    .artifact-card.card-1 .card-content-right {
        padding: 0;
        align-items: center;
    }
    .artifact-card.card-1 .card1-title {
        font-size: 3rem;
        line-height: 0.95;
        color: #fff;
        margin-bottom: 8px;
    }
    .artifact-card.card-1 .card1-subtitle-top {
        font-size: 0.85rem;
        color: rgba(255,255,255,0.5);
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }
    .artifact-card.card-1 .card1-subtitle-main {
        font-size: 1.5rem;
        color: rgba(255,255,255,0.8);
    }

    /* Swipe Indicator */
    .swipe-indicator {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-top: 40px;
        color: rgba(255,255,255,0.5);
        font-size: 0.85rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }
    .swipe-text {
        opacity: 0.7;
    }
    .swipe-arrow {
        display: flex;
        align-items: center;
        animation: swipeArrow 1.5s ease-in-out infinite;
    }
    .swipe-arrow svg {
        stroke: rgba(255,255,255,0.6);
    }
    @keyframes swipeArrow {
        0%, 100% {
            transform: translateX(0);
            opacity: 0.6;
        }
        50% {
            transform: translateX(10px);
            opacity: 1;
        }
    }

    /* ===== CARDS 2, 3, 4, 6 - Video Cards ===== */
    .artifact-card.card-2,
    .artifact-card.card-3,
    .artifact-card.card-4,
    .artifact-card.card-6 {
        display: block;
        padding: 0;
        background: #0a0a0a;
    }

    /* Text containers - floating overlay style */
    .artifact-card.card-2 .card2-text-container,
    .artifact-card.card-3 .card3-text-container,
    .artifact-card.card-4 .card4-text-container,
    .artifact-card.card-6 .card6-text-container {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        padding: 80px 24px 40px;
        background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.7) 60%, transparent 100%);
        text-align: left;
        z-index: 10;
        max-width: 100%;
    }

    .artifact-card.card-2 h3,
    .artifact-card.card-3 h3,
    .artifact-card.card-4 h3,
    .artifact-card.card-6 h3 {
        font-size: 1.75rem;
        color: #fff;
        margin-bottom: 8px;
    }

    .artifact-card.card-2 p,
    .artifact-card.card-3 p,
    .artifact-card.card-4 p,
    .artifact-card.card-6 p {
        font-size: 0.9rem;
        color: rgba(255,255,255,0.7);
        line-height: 1.5;
    }

    .artifact-card.card-2 p span,
    .artifact-card.card-3 p span,
    .artifact-card.card-4 p span,
    .artifact-card.card-6 p span {
        color: #fff;
        font-weight: 600;
    }

    /* Video containers - full screen background */
    .artifact-card.card-2 .card2-images-container,
    .artifact-card.card-3 .card3-images-container,
    .artifact-card.card-4 .card4-images-container,
    .artifact-card.card-6 .card6-images-container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block !important;
    }

    .artifact-card.card-2 .card2-video,
    .artifact-card.card-3 .card3-video,
    .artifact-card.card-4 .card4-video,
    .artifact-card.card-6 .card6-video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        border-radius: 0;
        grid-column: unset !important;
        grid-row: unset !important;
    }

    /* Hide extra videos */
    .artifact-card.card-2 .card2-video:nth-child(n+2),
    .artifact-card.card-3 .card3-video:nth-child(n+2),
    .artifact-card.card-4 .card4-video:nth-child(n+2),
    .artifact-card.card-6 .card6-video:nth-child(n+2) {
        display: none;
    }

    /* ===== CARD 5 - Social Media ===== */
    .artifact-card.card-5 {
        padding: 40px 24px;
        justify-content: flex-end;
        padding-bottom: 80px;
    }
    .artifact-card.card-5::before {
        inset: 0;
        border-radius: 0;
    }
    .artifact-card.card-5::after {
        inset: 0;
        border-radius: 0;
        background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.2) 100%);
    }
    .artifact-card.card-5 .card5-text-container {
        max-width: 100%;
        text-align: left;
    }
    .artifact-card.card-5 h3 {
        font-size: 1.75rem;
        margin-bottom: 12px;
    }
    .artifact-card.card-5 p {
        font-size: 0.9rem;
        line-height: 1.6;
        color: rgba(255,255,255,0.8);
    }

    /* ===== CARD 7 - Contact/CTA ===== */
    .artifact-card.card-7 {
        background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
        padding: 40px 24px;
        gap: 24px;
        text-align: center;
    }
    .artifact-card.card-7 .card7-text-container {
        order: 1;
        max-width: 100%;
    }
    .artifact-card.card-7 h3 {
        font-size: 1.5rem;
        color: #fff;
        margin-bottom: 12px;
    }
    .artifact-card.card-7 > .card7-text-container > p {
        font-size: 0.85rem;
        color: rgba(255,255,255,0.7);
        margin-bottom: 20px;
        line-height: 1.6;
    }
    .artifact-card.card-7 .card7-video {
        order: 2;
        width: 100%;
        height: 200px;
        border-radius: 16px;
        object-fit: cover;
    }
    .artifact-card.card-7 .card7-contact {
        margin-bottom: 16px;
        padding-top: 16px;
        border-top-color: rgba(255,255,255,0.1);
    }
    .artifact-card.card-7 .contact-label {
        color: rgba(255,255,255,0.5);
        font-size: 0.75rem;
    }
    .artifact-card.card-7 .contact-email {
        font-size: 0.9rem;
        color: #fff;
    }
    .artifact-card.card-7 .portfolio-label {
        color: rgba(255,255,255,0.5);
        font-size: 0.8rem;
    }
    .artifact-card.card-7 .portfolio-btn {
        padding: 12px 24px;
        font-size: 0.85rem;
        background: #fff;
        color: #111;
    }

    /* Technology Section */
    .technology-section {
        padding: 60px 5%;
    }
    .tech-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .tech-content {
        gap: 50px;
    }
    .tech-item h3 {
        font-size: 1.5rem;
    }
    .tech-item p {
        font-size: 1rem;
        max-width: 100%;
    }
    .tech-visual video {
        height: 400px;
    }

    /* Plans Section */
    .plans-section {
        padding: 60px 5%;
    }
    .plans-container h2 {
        font-size: 2.2rem;
    }
    .plans-subtitle {
        font-size: 1rem;
    }
    .plans-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .plan-card {
        padding: 35px 25px;
        max-width: 400px;
        margin: 0 auto;
    }
    .plan-card.featured {
        transform: scale(1);
    }
    .plan-card.featured:hover {
        transform: translateY(-5px);
    }
    .plan-header h3 {
        font-size: 1.5rem;
    }
    .amount {
        font-size: 2.5rem;
    }
    .plan-features li {
        font-size: 0.9rem;
    }
    .plan-button {
        padding: 14px 20px;
        font-size: 1rem;
    }

    /* About Section */
    .about {
        padding: 50px 5%;
        text-align: center;
        align-items: center;
    }
    .about-content {
        text-align: center;
    }
    .about-content h1 {
        font-size: 1rem;
        margin-bottom: -15px;
    }
    .about-content h2 {
        font-size: 2.8rem;
    }
    .about-description {
        text-align: center;
        align-items: center;
    }
    .about-description p {
        font-size: 0.85rem;
        line-height: 1.6;
    }
    .about-team {
        width: 100%;
    }
    .team-row {
        flex-direction: column;
        gap: 25px;
        align-items: center;
    }
    .team-item {
        padding: 0;
        text-align: center;
    }
    .team-divider {
        display: none;
    }
    .team-label em {
        display: block;
        margin-left: 0;
        margin-top: 4px;
    }

    /* Footer */
    .footer {
        padding: 25px 5%;
        font-size: 0.8rem;
    }
}

/* ===========================================
   DESKTOP (1025px and above)
   Restore horizontal scroll behavior
=========================================== */
@media (min-width: 1025px) {
    .horizontal-scroll {
        position: relative;
        overflow-x: hidden;
        overflow-y: visible;
        scroll-snap-type: none;
    }
    .scroll-container {
        display: flex;
        height: 100vh;
        width: 300vw;
        position: sticky;
        top: 0;
        left: 0;
        will-change: transform;
    }
    .artifact-card {
        flex: 0 0 100vw;
        min-width: 100vw;
        max-width: 100vw;
        scroll-snap-align: none;
    }
}
