/* Index Page Styles - Fully Responsive */

/* Hero Section */
.hero{min-height:100vh;display:flex;align-items:center;padding:calc(var(--nav-height) + 40px) 2rem 60px;background:var(--gradient-hero);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none}
.hero-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1;width:100%}
.hero-content{animation:fadeInUp .8s ease-out}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent-light);color:var(--accent-primary);border-radius:50px;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;border:1px solid var(--accent-primary)}
.hero-badge::before{content:'';width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 2s infinite}
.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.15;margin-bottom:1.5rem}
.hero-title .highlight{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-description{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);margin-bottom:2rem;max-width:540px;line-height:1.7}
.hero-stats{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}
.stat-value{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:var(--accent-primary);font-family:'JetBrains Mono',monospace;line-height:1.2}
.stat-label{font-size:.8125rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-visual{position:relative;animation:fadeInUp .8s ease-out .2s both}
.hero-card{background:var(--bg-card);border-radius:20px;padding:1.5rem;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);position:relative;overflow:hidden}
.hero-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-accent)}
.terminal-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}
.terminal-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.terminal-dot.red{background:#ef4444}.terminal-dot.yellow{background:#f59e0b}.terminal-dot.green{background:#10b981}
.terminal-title{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.terminal-content{font-family:'JetBrains Mono',monospace;font-size:clamp(.75rem,1.5vw,.875rem);line-height:1.8}
.terminal-line{display:flex;gap:.75rem;margin-bottom:.5rem}
.terminal-prompt{color:var(--accent-primary)}.terminal-command{color:var(--text-primary)}.terminal-output{color:var(--text-secondary);padding-left:1.5rem}
.cursor{display:inline-block;width:10px;height:18px;background:var(--accent-primary);animation:blink 1s infinite;vertical-align:middle;margin-left:2px}
.floating-badge{position:absolute;background:var(--bg-card);padding:.625rem .875rem;border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;animation:float 3s ease-in-out infinite;white-space:nowrap}
.floating-badge.badge-1{top:-10px;right:-10px}.floating-badge.badge-2{bottom:80px;left:-20px;animation-delay:.5s}.floating-badge.badge-3{bottom:10px;right:30px;animation-delay:1s}
.badge-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.875rem;flex-shrink:0}
.badge-icon.blue{background:var(--accent-light)}.badge-icon.green{background:rgba(16,185,129,.1)}.badge-icon.purple{background:rgba(139,92,246,.1)}

/* About Section */
.about{background:var(--bg-secondary)}
.about-grid{display:grid;grid-template-columns:minmax(280px,400px) 1fr;gap:3rem;align-items:center}
.about-image-card{background:var(--bg-card);border-radius:20px;padding:1.5rem;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);overflow:hidden}
.profile-placeholder{width:100%;aspect-ratio:1;background:var(--gradient-accent);border-radius:16px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.profile-initials{font-size:4rem;font-weight:800;color:#fff;position:relative;z-index:1}
.profile-image{width:100%;height:auto;border-radius:16px;object-fit:cover;display:block}
.about-content h3{font-size:clamp(1.5rem,3vw,1.75rem);font-weight:700;margin-bottom:1.25rem;line-height:1.3}
.about-content p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.8}
.about-highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;margin-top:1.5rem}
.highlight-item{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:var(--bg-tertiary);border-radius:12px;font-weight:500;font-size:.9375rem}
.highlight-icon{width:36px;height:36px;background:var(--accent-light);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);flex-shrink:0;font-size:.875rem}

/* Services Grid */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{background:var(--bg-card);border-radius:20px;padding:1.75rem;border:1px solid var(--border-color);transition:all .3s;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gradient-accent);transform:scaleX(0);transition:transform .3s}
.service-card:hover::before{transform:scaleX(1)}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}
.service-icon{width:56px;height:56px;background:var(--accent-light);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.25rem}
.service-card h3{font-size:1.125rem;font-weight:700;margin-bottom:.625rem}
.service-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin-bottom:1.25rem}
.service-tags{display:flex;flex-wrap:wrap;gap:.375rem}
.service-tag{padding:.3125rem .625rem;background:var(--bg-tertiary);border-radius:6px;font-size:.75rem;color:var(--text-secondary);font-family:'JetBrains Mono',monospace}

/* Certifications */
.certifications-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.cert-card{background:var(--bg-card);border-radius:16px;padding:1.25rem;border:1px solid var(--border-color);display:flex;align-items:center;gap:1rem;transition:all .3s}
.cert-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.cert-icon{width:48px;height:48px;background:var(--accent-light);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.375rem;flex-shrink:0}
.cert-info h4{font-size:.875rem;font-weight:600;margin-bottom:.1875rem;line-height:1.3}.cert-info span{font-size:.75rem;color:var(--text-tertiary)}

/* Contact Section */
.contact{background:var(--bg-secondary)}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem}
.contact-info h3{font-size:1.5rem;font-weight:700;margin-bottom:.875rem}
.contact-info>p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.7}
.contact-methods{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.5rem}
.contact-method{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;transition:all .2s}
.contact-method:hover{border-color:var(--accent-primary);transform:translateX(5px)}
.contact-method-icon{width:44px;height:44px;background:var(--accent-light);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);flex-shrink:0;font-size:1.25rem}
.contact-method-text{display:flex;flex-direction:column;min-width:0}.contact-method-label{font-size:.75rem;color:var(--text-tertiary)}.contact-method-value{font-weight:600;font-size:.9375rem;word-break:break-word}
.social-section h4{font-size:1rem;font-weight:600;margin-bottom:.875rem}
.contact-social{display:flex;gap:.625rem;flex-wrap:wrap}.contact-social .social-link{width:44px;height:44px}
.availability-card{margin-top:1.5rem;padding:1.125rem;background:var(--accent-light);border-radius:12px;border:1px solid var(--accent-primary)}
.availability-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.375rem}
.availability-dot{width:10px;height:10px;background:var(--success);border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}
.availability-card h5{font-weight:600;color:var(--accent-primary);font-size:.9375rem}.availability-card p{color:var(--text-secondary);font-size:.875rem}

/* Contact Form */
.contact-form-card{background:var(--bg-card);padding:2rem;border-radius:20px;border:1px solid var(--border-color);box-shadow:var(--shadow-xl)}
.contact-form-card h3{font-size:1.375rem;font-weight:700;margin-bottom:.375rem}.contact-form-card>p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9375rem}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.form-group.full-width{grid-column:span 2}
.form-submit{margin-top:1.25rem;width:100%;padding:1rem 1.5rem;background:var(--gradient-accent);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}
.form-submit:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.form-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}
.recaptcha-wrapper{margin-top:1.25rem;overflow:hidden}
.recaptcha-wrapper>div{transform-origin:left top}
.success-message,.error-message{display:none;padding:1.25rem;border-radius:12px;text-align:center;margin-top:1.25rem}
.success-message{background:rgba(16,185,129,.1);border:1px solid var(--success)}
.success-message.show,.error-message.show{display:block;animation:fadeInUp .3s ease}
.success-message svg{width:44px;height:44px;color:var(--success);margin:0 auto .875rem}
.success-message h4{font-size:1.125rem;font-weight:700;margin-bottom:.375rem}.success-message p{color:var(--text-secondary);font-size:.9375rem}
.error-message{background:rgba(239,68,68,.1);border:1px solid var(--error);color:var(--error)}

/* Contact CTA Section */
.contact-cta{padding:60px 1.5rem}
.contact-cta .cta-box{background:var(--gradient-accent);border-radius:24px;padding:3rem 2rem;text-align:center;color:#fff}
.contact-cta .cta-box h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:.875rem}
.contact-cta .cta-box p{font-size:clamp(.9375rem,2vw,1.125rem);opacity:.9;margin-bottom:1.75rem;max-width:600px;margin-left:auto;margin-right:auto}
.contact-cta .cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.contact-cta .btn-primary{background:#fff;color:var(--accent-primary)}
.contact-cta .btn-secondary{background:transparent;border:2px solid #fff;color:#fff}

/* Map Section */
.map-section{padding:0}
.map-wrapper{height:350px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;position:relative}
.map-wrapper iframe{width:100%;height:100%;border:none}
.map-overlay{position:absolute;bottom:1.5rem;left:1.5rem;background:var(--bg-card);padding:1.25rem;border-radius:16px;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);max-width:280px}
.map-overlay h4{font-size:1rem;font-weight:700;margin-bottom:.375rem}.map-overlay p{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem}
.map-overlay a{color:var(--accent-primary);font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;gap:.375rem}

/* ==================== RESPONSIVE - INDEX PAGE ==================== */

/* Large Desktop */
@media(min-width:1400px){
    .hero{padding:calc(var(--nav-height) + 60px) 3rem 80px}
    .hero-container{gap:5rem}
    .hero-card{padding:2rem}
}

/* Desktop */
@media(max-width:1399px){
    .hero-container{gap:3rem}
}

/* Tablet Landscape */
@media(max-width:1199px){
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .certifications-grid{grid-template-columns:repeat(2,1fr)}
    .hero-container{gap:2.5rem}
    .floating-badge{font-size:.75rem;padding:.5rem .75rem}
    .floating-badge.badge-1{top:0;right:0}
    .floating-badge.badge-2{bottom:60px;left:-10px}
    .floating-badge.badge-3{bottom:0;right:20px}
}

/* Tablet Portrait */
@media(max-width:991px){
    .hero{min-height:auto;padding:calc(var(--nav-height) + 30px) 1.25rem 50px}
    .hero-container{grid-template-columns:1fr;text-align:center;gap:2.5rem}
    .hero-content{order:1}
    .hero-visual{order:2;max-width:500px;margin:0 auto}
    .hero-stats{justify-content:center}
    .hero-actions{justify-content:center}
    .hero-description{margin-left:auto;margin-right:auto}
    .floating-badge{display:none}
    .about-grid{grid-template-columns:1fr;text-align:center}
    .about-image{max-width:350px;margin:0 auto}
    .about-content{text-align:left}
    .contact-grid{grid-template-columns:1fr;gap:2rem}
    .contact-info{text-align:center}
    .contact-methods{max-width:400px;margin-left:auto;margin-right:auto}
    .social-section{text-align:center}
    .contact-social{justify-content:center}
    .availability-card{max-width:400px;margin-left:auto;margin-right:auto}
    .map-overlay{left:1rem;right:1rem;max-width:none;bottom:1rem}
}

/* Mobile Landscape */
@media(max-width:767px){
    .hero{padding:calc(var(--nav-height) + 24px) 1rem 40px}
    .hero-stats{gap:1.5rem}
    .stat-value{font-size:1.75rem}
    .hero-actions{flex-direction:column;width:100%;max-width:300px;margin-left:auto;margin-right:auto}
    .hero-card{padding:1.25rem}
    .services-grid{grid-template-columns:1fr;gap:1rem}
    .service-card{padding:1.5rem}
    .certifications-grid{grid-template-columns:1fr;gap:1rem}
    .about-highlights{grid-template-columns:1fr}
    .contact-cta{padding:40px 1rem}
    .contact-cta .cta-box{padding:2rem 1.5rem;border-radius:20px}
    .contact-cta .cta-btns{flex-direction:column;max-width:280px;margin-left:auto;margin-right:auto}
    .map-wrapper{height:300px}
}

/* Mobile Portrait */
@media(max-width:575px){
    .hero{padding:calc(var(--nav-height) + 20px) 1rem 32px}
    .hero-badge{font-size:.8125rem;padding:.375rem .875rem}
    .hero-stats{flex-direction:column;gap:1rem;align-items:center}
    .stat{text-align:center}
    .hero-card{padding:1rem}
    .terminal-content{font-size:.75rem}
    .about-image{max-width:280px}
    .service-icon{width:48px;height:48px;font-size:1.25rem}
    .cert-card{padding:1rem}
    .cert-icon{width:42px;height:42px;font-size:1.25rem}
    .contact-form-card{padding:1.25rem}
    .contact-method-icon{width:40px;height:40px}
    .recaptcha-wrapper>div{transform:scale(.85)}
}

/* Small Mobile */
@media(max-width:375px){
    .hero-title{font-size:1.625rem}
    .recaptcha-wrapper>div{transform:scale(.77)}
}
