@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;800&display=swap");

:root {
  --bg: #000000;
  --clr-1: #00c2ff;
  --clr-2: #33ff8c;
  --clr-3: #ffc640;
  --clr-4: #e54cff;

  --blur: 1rem;
  --fs: clamp(3rem, 6vw, 5rem); /* Slightly adjusted for longer names */
  --ls: clamp(-1.75px, -0.25vw, -3.5px);
}

/* --- BASE STYLES --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Inter", "DM Sans", Arial, sans-serif;
    line-height: 1.6;
}

body {
    background-color: #f8f9fa;
    color: #333;
}

.container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* --- TYPOGRAPHY --- */
h2 {
    font-size: 2rem;
    margin-bottom: 20px;
    color: #2c3e50;
    border-bottom: 2px solid #00c2ff;
    display: inline-block;
    padding-bottom: 5px;
}

/* --- HERO SECTION & AURORA EFFECT --- */
#hero {
    background-color: var(--bg);
    color: white;
    min-height: 60vh;
    display: grid;
    place-items: center;
    padding: 80px 20px;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

.content {
    text-align: center;
    z-index: 10;
}

.title {
    font-size: var(--fs);
    font-weight: 800;
    letter-spacing: var(--ls);
    position: relative;
    overflow: hidden;
    background: var(--bg);
    margin: 0;
    color: #fff;
    padding-bottom: 10px;
}

.subtitle {
    color: var(--clr-1);
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 10px;
}

.hero-desc {
    font-size: 1.2rem;
    max-width: 600px;
    margin: 20px auto 0;
    color: #ccc;
}

.aurora {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    mix-blend-mode: darken;
    pointer-events: none;
}

.aurora__item {
    overflow: hidden;
    position: absolute;
    width: 60vw;
    height: 60vw;
    background-color: var(--clr-1);
    border-radius: 37% 29% 27% 27% / 28% 25% 41% 37%;
    filter: blur(var(--blur));
    mix-blend-mode: overlay;
}

.aurora__item:nth-of-type(1) {
    top: -50%;
    animation: aurora-border 6s ease-in-out infinite,
      aurora-1 12s ease-in-out infinite alternate;
}

.aurora__item:nth-of-type(2) {
    background-color: var(--clr-3);
    right: 0;
    top: 0;
    animation: aurora-border 6s ease-in-out infinite,
      aurora-2 12s ease-in-out infinite alternate;
}

.aurora__item:nth-of-type(3) {
    background-color: var(--clr-2);
    left: 0;
    bottom: 0;
    animation: aurora-border 6s ease-in-out infinite,
      aurora-3 8s ease-in-out infinite alternate;
}

.aurora__item:nth-of-type(4) {
    background-color: var(--clr-4);
    right: 0;
    bottom: -50%;
    animation: aurora-border 6s ease-in-out infinite,
      aurora-4 24s ease-in-out infinite alternate;
}

@keyframes aurora-1 {
    0% { top: 0; right: 0; }
    50% { top: 100%; right: 75%; }
    75% { top: 100%; right: 25%; }
    100% { top: 0; right: 0; }
}

@keyframes aurora-2 {
    0% { top: -50%; left: 0%; }
    60% { top: 100%; left: 75%; }
    85% { top: 100%; left: 25%; }
    100% { top: -50%; left: 0%; }
}

@keyframes aurora-3 {
    0% { bottom: 0; left: 0; }
    40% { bottom: 100%; left: 75%; }
    65% { bottom: 40%; left: 50%; }
    100% { bottom: 0; left: 0; }
}

@keyframes aurora-4 {
    0% { bottom: -50%; right: 0; }
    50% { bottom: 0%; right: 40%; }
    90% { bottom: 50%; right: 25%; }
    100% { bottom: -50%; right: 0; }
}

@keyframes aurora-border {
    0% { border-radius: 37% 29% 27% 27% / 28% 25% 41% 37%; }
    25% { border-radius: 47% 29% 39% 49% / 61% 19% 66% 26%; }
    50% { border-radius: 57% 23% 47% 72% / 63% 17% 66% 33%; }
    75% { border-radius: 28% 49% 29% 100% / 93% 20% 64% 25%; }
    100% { border-radius: 37% 29% 27% 27% / 28% 25% 41% 37%; }
}

/* --- SKILLS GRID --- */
.bg-light {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.skills-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 20px;
}

.skill-card {
    background: #f1f3f5;
    padding: 20px;
    border-radius: 8px;
    flex: 1;
    border-top: 4px solid var(--clr-1);
}

/* --- SKILLS GRID --- */
.skill-card {
    background: #f1f3f5;
    padding: 20px;
    border-radius: 8px;
    flex: 1;
    border-top: 4px solid var(--clr-1);
    
    /* MATERIAL BASE: A very subtle shadow before hovering */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    
    /* MATERIAL ANIMATION: Smooth transition for transform and shadow */
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
                box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* MATERIAL HOVER STATE */
.skill-card:hover {
    /* Moves the card up by 8 pixels */
    transform: translateY(-8px); 
    
    /* Creates a larger, softer shadow to look like it lifted off the page */
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15); 
}

/* --- CONTACT SECTION --- */
#contact {
    text-align: center;
}

#contact a {
    color: var(--clr-1);
    text-decoration: none;
    font-weight: bold;
}

#contact a:hover {
    text-decoration: underline;
}

/* --- FOOTER --- */
footer {
    text-align: center;
    padding: 20px;
    background-color: var(--bg);
    color: white;
    font-size: 0.9rem;
}