:root {
    --bg-dark: #0f172a;
    --container-bg: rgba(30, 41, 59, 0.85);
    --text-main: #f1f5f9;
    --text-secondary: #94a3b8;
    --accent-blue: #38bdf8;
    --accent-green: #10b981;
    --accent-red: #ef4444;
    --glow: rgba(56, 189, 248, 0.1);
}

body { font-family: 'Inter', sans-serif; margin: 0; display: flex; justify-content: center; align-items: center; min-height: 100vh; color: var(--text-main); background-color: var(--bg-dark); background-image: radial-gradient(var(--glow) 1px, transparent 1px); background-size: 30px 30px; padding: 40px 0; }
.container { max-width: 800px; width: 92%; background: var(--container-bg); border-radius: 24px; backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1); padding: 3rem; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); }
header { text-align: center; margin-bottom: 3rem; }
h1 { font-size: 2.6rem; margin: 0; letter-spacing: -1px; background: linear-gradient(to right, #fff, var(--accent-blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.subtitle { color: var(--accent-blue); text-transform: uppercase; font-size: 0.85rem; letter-spacing: 3px; font-weight: 600; margin-top: 0.5rem; }
.bio-container { display: flex; flex-direction: column; gap: 2rem; align-items: center; background: rgba(255, 255, 255, 0.03); padding: 2.5rem; border-radius: 20px; border-left: 4px solid var(--accent-blue); margin-bottom: 3rem; }
.profile-img { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; border: 4px solid rgba(255,255,255,0.1); flex-shrink: 0; }
.about-text { line-height: 1.7; color: var(--text-main); font-size: 1rem; text-align: justify; margin: 0; }
.section-title { font-size: 1.3rem; font-weight: 700; margin-bottom: 1.5rem; text-align: center; color: var(--accent-blue); }
.services-grid { display: grid; grid-template-columns: 1fr; gap: 1.2rem; margin-bottom: 3rem; }
.service-card { background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.05); padding: 1.5rem; border-radius: 12px; }
.service-card h2 { margin: 0 0 0.5rem 0; color: #fff; font-size: 1.1rem; }
.service-card p { margin: 0; color: var(--text-secondary); font-size: 0.9rem; line-height: 1.5; }
.cta-group { display: flex; flex-direction: column; gap: 1.2rem; align-items: center; margin-bottom: 2rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 100%; max-width: 280px; padding: 16px; border-radius: 12px; text-decoration: none; font-weight: 600; transition: all 0.3s ease; cursor: pointer; border: none; font-family: inherit; }
.btn-primary { background: var(--accent-blue); color: var(--bg-dark); }
.btn-outline { background: transparent; border: 1px solid rgba(255, 255, 255, 0.2); color: var(--text-main); }
.btn-outline:hover { border-color: var(--accent-green); color: var(--accent-green); }
.contact-form-container { display: none; background: rgba(0, 0, 0, 0.2); padding: 2rem; border-radius: 16px; border: 1px solid rgba(255, 255, 255, 0.05); margin-top: 1rem; }
.form-group { margin-bottom: 1rem; text-align: left; }
.form-label { display: block; color: var(--text-secondary); font-size: 0.85rem; margin-bottom: 0.4rem; }
.form-input, .form-textarea { width: 100%; padding: 12px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; color: var(--text-main); font-family: inherit; font-size: 0.95rem; box-sizing: border-box; }
.form-textarea { resize: vertical; height: 120px; }
.btn-submit { background: var(--accent-green); color: white; width: auto; min-width: 150px; }
.btn-submit:disabled { opacity: 0.5; }

/* Toast */
.toast-container { position: fixed; bottom: 24px; right: 24px; z-index: 9999; display: flex; flex-direction: column; gap: 12px; pointer-events: none; }
.toast { pointer-events: auto; background: rgba(30, 41, 59, 0.98); border: 1px solid rgba(255, 255, 255, 0.1); color: var(--text-main); padding: 16px 24px; border-radius: 12px; backdrop-filter: blur(10px); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.6); display: flex; align-items: center; gap: 12px; font-size: 0.9rem; font-weight: 500; transform: translateX(140%); transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.toast.show { transform: translateX(0); }
.toast-success { border-left: 5px solid var(--accent-green); }
.toast-error { border-left: 5px solid var(--accent-red); }
.toast-icon { width: 20px; height: 20px; flex-shrink: 0; }
.v-hidden { display: none !important; }
footer { text-align: center; margin-top: 3rem; font-size: 0.8rem; color: rgba(148, 163, 184, 0.3); }

@media (min-width: 700px) { .bio-container { flex-direction: row; text-align: left; } .cta-group { flex-direction: row; justify-content: center; gap: 1.5rem; } }