*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#f5f5f5;
    color:#222;
    font-family:Arial,sans-serif;
    line-height:1.6;
}

header{
    position:sticky;
    top:0;
    padding:18px;
    z-index:100;
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(15px);
    box-shadow:0 2px 15px rgba(0,0,0,.05);
}

nav{
    display:flex;
    justify-content:center;
    gap:8px;

    background:white;
    padding:8px;

    border-radius:999px;

    width:fit-content;
    margin:0 auto;

    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

nav a{
    text-decoration:none;
    color:#555;

    font-weight:700;

    padding:12px 24px;

    border-radius:999px;

    transition:all .25s ease;
}

nav a:hover{
    background:#f7f7f7;
    color:#ff4f8b;
}

nav a.active{
    background:linear-gradient(135deg,#ff4f8b,#ff7eb3);
    color:white;

    box-shadow:0 4px 15px rgba(255,79,139,.35);
}

main{
    max-width:600px;
    margin:auto;
    padding:20px;
}

.profile{
    text-align:center;
    margin-top:40px;
}

.profile h1{
    font-size:3rem;
    margin-bottom:15px;
}

.profile p{
    color:#666;
    font-size:1.15rem;
    margin-bottom:30px;
}

.shop-button{
    display:inline-block;

    background:linear-gradient(135deg,#ff4f8b,#ff7eb3);

    color:white;

    text-decoration:none;

    padding:18px 40px;

    border-radius:999px;

    font-weight:bold;
    font-size:1.2rem;

    transition:.3s;

    box-shadow:0 8px 20px rgba(255,79,139,.25);
}

.shop-button:hover{
    transform:translateY(-4px) scale(1.03);

    box-shadow:
    0 15px 35px rgba(255,79,139,.35);
}

.links{
    margin-top:50px;

    display:flex;
    flex-direction:column;

    gap:20px;
}

.link-card{

    position:relative;
    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;

    background:white;

    padding:25px;

    border-radius:25px;

    text-decoration:none;
    color:#222;

    font-weight:700;
    font-size:1.4rem;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:
    transform .3s,
    box-shadow .3s;
}

.link-card img{
    width:28px;
    height:28px;
    object-fit:contain;
}

.link-card::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:80px;
    height:100%;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.8),
        transparent
    );

    transform:skewX(-20deg);

    transition:.8s;
}

.link-card:hover::before{
    left:130%;
}

.link-card:hover{

    transform:
    translateY(-6px)
    scale(1.02);

    box-shadow:
    0 18px 40px rgba(255,79,139,.12);
}

.gallery-placeholder{

    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#999;
    font-size:24px;
    font-weight:700;

    background:
    linear-gradient(
        135deg,
        #f8f8f8,
        #ececec
    );
}

.gallery-arrow{

    position:absolute;
    top:50%;

    transform:translateY(-50%);

    width:42px;
    height:42px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.85);

    cursor:pointer;

    font-size:28px;
    font-weight:bold;

    box-shadow:0 4px 12px rgba(0,0,0,.15);

    transition:.25s;
}

.gallery-arrow:hover{

    transform:
    translateY(-50%)
    scale(1.08);
}

.gallery-arrow.left{
    left:15px;
}

.gallery-arrow.right{
    right:15px;
}

.gallery-dots{

    position:absolute;

    bottom:18px;
    left:50%;

    transform:translateX(-50%);

    display:flex;
    gap:8px;
}

.gallery-dots span{

    width:10px;
    height:10px;

    border-radius:50%;

    background:rgba(255,255,255,.5);
}

.gallery-dots span.active{
    background:white;
}

@media(max-width:768px){

    header{
        padding:12px;
    }

    nav{
        width:100%;
        max-width:340px;

        justify-content:center;

        gap:4px;

        padding:6px;
    }

    nav a{

        flex:1;

        text-align:center;

        padding:10px 8px;

        font-size:.95rem;
    }

    .profile h1{
        font-size:2.2rem;
    }

    .profile p{
        font-size:1rem;
        padding:0 10px;
    }

    .shop-button{

        width:100%;
        max-width:320px;

        font-size:1rem;
        padding:16px 20px;
    }

    .link-card{

        font-size:1.15rem;
        padding:22px;

        transform:none !important;
    }

}


/* BRAND */

.brand-tag{

    font-size:14px;

    letter-spacing:4px;

    text-transform:uppercase;

    color:#888;

    font-weight:700;

    margin-bottom:20px;

}


/* FOOTER */

.site-footer{

    text-align:center;

    padding:40px 20px;

    color:#999;

    font-size:14px;

}

.site-footer a{

    color:#999;

    text-decoration:none;

    transition:.25s;

}

.site-footer a:hover{

    color:#ff4f8b;

}

.site-footer span{

    margin:0 8px;

}
.hero{

    position:relative;

    width:100%;

    aspect-ratio:16 / 9;

    overflow:hidden;

    border-radius:30px;

    box-shadow:0 15px 40px rgba(0,0,0,.15);

}

.hero-slide{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    opacity:0;

    transition:opacity 1s ease;

    transform:scale(1);

}

.hero-slide.active{

    opacity:1;

    animation:kenburns 3s linear forwards;

}

@keyframes kenburns{

    from{
        transform:scale(1);
    }

    to{
        transform:scale(1.05);
    }

}
.reveal{

    opacity:0;

    transform:translateY(25px);

    transition:
    opacity .6s ease,
    transform .6s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

/* ==========================================
   ABOUT HOTKITTYARIA
========================================== */

.about-separator{
    margin:35px auto 20px;
    text-align:center;
    letter-spacing:6px;
    font-size:12px;
    color:#999;
}

.about-home{
    max-width:1200px;
    margin:50px auto 60px;
    padding:0 20px;
}

.about-home-title{
    text-align:center;
    font-size:3rem;
    margin-bottom:15px;
}

.about-home-intro{
    text-align:center;
    color:#777;
    line-height:1.8;
    max-width:650px;
    margin:0 auto 60px;
}


/* ==========================================
   TARJETAS
========================================== */

.about-card{
    margin-bottom:60px;
    padding-bottom:60px;
    border-bottom:1px solid rgba(0,0,0,.08);
}

.about-card:last-child{
    border-bottom:none;
    margin-bottom:0;
    padding-bottom:0;
}


/* ==========================================
   IMAGEN PRINCIPAL
========================================== */

.about-media{

    position:relative;

    max-width:900px;

    margin:0 auto;

    overflow:hidden;

    border-radius:35px;

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.about-media img{

    width:100%;
    display:block;

}


/* ==========================================
   OVERLAY OSCURO
========================================== */

.about-overlay{

    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,.75) 0%,
        rgba(0,0,0,.45) 25%,
        rgba(0,0,0,0) 50%
    );

}


/* ==========================================
   CONTENIDO DENTRO DE LA IMAGEN
========================================== */

.about-content{

    position:absolute;

    top:50%;
    left:50px;

    transform:translateY(-50%);

    width:280px;

    color:#fff;

    z-index:2;

}

.about-content h3{

    font-size:2.2rem;

    line-height:.9;

    font-weight:900;

    text-transform:uppercase;

    margin-bottom:18px;

}

.about-content h3 span{

    display:block;

    color:#ff5c9d;

}

.about-content p{

    font-size:.9rem;

    line-height:1.6;

    color:rgba(255,255,255,.9);

    margin-bottom:24px;

}

.about-card-button{

    display:inline-block;

    padding:14px 28px;

    background:linear-gradient(
        135deg,
        #ff2f7a,
        #ff7eb3
    );

    color:white;

    text-decoration:none;

    font-size:.9rem;

    font-weight:800;

    border-radius:999px;

    transition:.25s;

    box-shadow:
        0 0 20px rgba(255,79,139,.4);

}

.about-card-button:hover{

    transform:translateY(-2px);

}


/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:768px){

    .about-home-title{
        font-size:2.2rem;
    }

    .about-home-intro{
        margin-bottom:40px;
    }

    .about-card{
        margin-bottom:40px;
        padding-bottom:40px;
    }

    .about-media{
        border-radius:25px;
    }

    .about-overlay{

        background:linear-gradient(
            180deg,
            rgba(0,0,0,.85) 0%,
            rgba(0,0,0,.55) 40%,
            rgba(0,0,0,.15) 75%,
            rgba(0,0,0,0) 100%
        );

    }

    .about-content{

    position:absolute;

    top:10px;
    left:14px;

    transform:none;

    width:160px;

}

    .about-content h3{

        font-size:1.05rem;

        line-height:.95;

        margin-bottom:8px;

    }

    .about-content p{

        font-size:.60rem;

        line-height:1.4;

        margin-bottom:14px;

    }

    .about-card-button{

        display:inline-block;

        padding:7px 13px;

        font-size:.60rem;

        font-weight:700;

    }

}

/* ===========================================
   ABOUT MENU
=========================================== */

.dropdown{

    position:relative;

    display:flex;

    align-items:stretch;

}

.dropdown-toggle{

    display:flex;

    align-items:center;

    justify-content:center;

    height:100%;

    padding:12px 24px;

    border-radius:999px;

    color:#555;

    font-weight:700;

    text-decoration:none;

    cursor:pointer;

    transition:.25s;

    user-select:none;

    line-height:1;

}

.dropdown-toggle::after{

    content:"▾";

    font-size:.75rem;

    margin-left:8px;

    transition:.25s;

}

.dropdown:hover .dropdown-toggle{

    background:#f7f7f7;

    color:#ff4f8b;

}

.dropdown:hover .dropdown-toggle::after{

    transform:rotate(180deg);

}

.dropdown-menu{

    position:absolute;

    top:100%;

    left:50%;

    transform:translateX(-50%) translateY(10px);

    width:340px;

    background:#fff;

    border-radius:24px;

    padding:14px;

    box-shadow:0 20px 60px rgba(0,0,0,.15);

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:all .25s ease;

    z-index:9999;

    display:flex;

    flex-direction:column;

    gap:6px;

}

.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

    transform:translateX(-50%) translateY(0);

}

.dropdown-menu a{

    display:block !important;

    width:100%;

    padding:16px 20px;

    border-radius:14px;

    color:#333 !important;

    text-decoration:none;

    font-weight:700;

    transition:.25s;

    white-space:nowrap;

}

.dropdown-menu a:hover{

    background:#fff3f8;

    color:#ff4f8b !important;

}