/* --- ОСНОВНОЕ --- */
html { scroll-behavior: smooth; }
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Segoe UI', sans-serif;
    color: #ffffff;
    background: radial-gradient(circle, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.9) 100%),
                linear-gradient(to bottom, rgba(20, 0, 10, 0.4), rgba(0, 0, 0, 0.8)),
                url('https://wallpapers.com/images/hd/red-moon-night-sky-jey5ix1d1m74bsxz.jpg');
    background-size: cover;
    background-position: center top;
    background-attachment: fixed;
    min-height: 100vh;
}

/* HERO */
.hero { 
    width: 100%; height: 100vh; display: flex; flex-direction: column;
    justify-content: center; align-items: center; text-align: center; position: relative;
}

h1 { font-size: clamp(3rem, 10vw, 8rem); font-weight: 900; line-height: 0.85; text-transform: uppercase; letter-spacing: -3px; }
.gradient-text-video, .gradient-text-editor {
    display: block;
    background: linear-gradient(180deg, #ff3366 30%, #66001a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.tagline { font-size: 1.4rem; margin: 30px 0; color: rgba(255, 255, 255, 0.8); }

/* СОЦСЕТИ */
.social-links { display: flex; gap: 20px; margin-bottom: 35px; justify-content: center; position: relative; }
.social-links a {
    position: relative; color: #ff3366; width: 60px; height: 60px;
    display: flex; align-items: center; justify-content: center; font-size: 1.8rem;
    border: 1px solid rgba(255, 51, 102, 0.3); border-radius: 50%; text-decoration: none;
    transition: 0.3s;
}
.social-links a:hover { background: #ff3366; color: #fff; }

/* ПОДСКАЗКИ */
.copy-tooltip {
    position: absolute; left: 50%; transform: translateX(-50%);
    background: #ff3366; color: white; padding: 4px 10px; border-radius: 4px; 
    font-size: 10px; font-weight: 700; opacity: 0; visibility: hidden; 
    transition: all 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28); white-space: nowrap;
    z-index: 100;
    top: 70px;
}
.email-btn:hover .copy-tooltip, .copy-tooltip.copied-active { 
    opacity: 1; 
    visibility: visible; 
    top: 78px; 
}
.copy-tooltip.copied-active { background: #4caf50 !important; }

.copy-tooltip::after {
    content: ""; position: absolute; bottom: 100%; left: 50%; margin-left: -5px;
    border-width: 5px; border-style: solid; border-color: transparent transparent #ff3366 transparent;
}
.copy-tooltip.copied-active::after { border-color: transparent transparent #4caf50 transparent; }

/* КНОПКА HIRE ME */
.action-group { display: flex; flex-direction: column; align-items: center; margin-top: 55px; }
.btn-hire {
    display: inline-block; padding: 16px 60px; font-size: 1rem; font-weight: 800; color: #fff;
    border: 2px solid #ff3366; border-radius: 50px; text-decoration: none;
    text-transform: uppercase; transition: 0.3s; background: transparent;
}
.btn-hire:hover { background: #ff3366; box-shadow: 0 0 20px rgba(255, 51, 102, 0.4); }

/* СТРЕЛКА (Поднята еще выше для баланса) */
.scroll-down-container { position: absolute; bottom: 120px; left: 50%; transform: translateX(-50%); }
.scroll-btn { color: #ff3366; font-size: 2.2rem; animation: bounce 2s infinite; text-decoration: none; }
@keyframes bounce { 0%, 20%, 50%, 80%, 100% {transform: translateY(0);} 40% {transform: translateY(10px);} }

/* ПОРТФОЛИО (ИСПРАВЛЕНА ЦЕНТРОВКА) */
.portfolio { padding: 100px 0; width: 100%; display: flex; justify-content: center; }
.portfolio-wrapper { width: 100%; max-width: 1100px; display: flex; flex-direction: column; align-items: center; }

.section-title { 
    font-size: 3rem; 
    margin-bottom: 60px; 
    text-transform: uppercase; 
    color: #ff3366; 
    text-align: center; 
    width: 100%;
}

.work-grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 25px; 
    width: 90%; /* Оставляем небольшой зазор по бокам */
}

.work-card { 
    position: relative; aspect-ratio: 9/16; background: #000; 
    border: 1px solid rgba(255, 51, 102, 0.2); border-radius: 20px; overflow: hidden; 
}
.work-card video { width: 100%; height: 100%; object-fit: cover; opacity: 0.7; transition: 0.3s; }
.work-card:hover video { opacity: 1; }

/* ЗВУК */
.video-controls {
    position: absolute; bottom: 15px; right: 15px;
    display: flex; align-items: center;
    background: rgba(0, 0, 0, 0.7); padding: 4px; border-radius: 40px;
    border: 1px solid rgba(255, 51, 102, 0.4); backdrop-filter: blur(8px);
    transition: 0.3s ease; opacity: 0;
}
.work-card:hover .video-controls { opacity: 1; }
.mute-btn-container { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mute-btn { background: none; border: none; color: #ff3366; cursor: pointer; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.volume-slider { -webkit-appearance: none; width: 0; opacity: 0; height: 4px; background: rgba(255, 255, 255, 0.2); border-radius: 4px; outline: none; transition: 0.3s ease; }
.video-controls.sound-active .volume-slider { width: 90px; opacity: 1; margin: 0 10px 0 5px; }
.volume-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; height: 12px; background: #ff3366; border-radius: 50%; border: 1px solid #fff; }

@media (max-width: 900px) { .work-grid { grid-template-columns: 1fr; max-width: 320px; margin: 0 auto; } }