/*
Theme Name: Carlos Soto - Dev Brand
Theme URI: https://carlossoto.cl
Author: Carlos Soto
Description: Sitio personal de Carlos Soto, Ingeniero Informático especialista en .NET Core, React y ecosistema Microsoft.
Version: 2.0.0
Text Domain: carlossoto
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&family=Fira+Code:wght@400;500&display=swap');

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --blue-dark: #0a1628;
  --blue-mid: #0d2044;
  --blue-accent: #0078d4;
  --blue-light: #50a5f1;
  --blue-glow: #106ebe;
  --white: #ffffff;
  --gray-400: #94a3b8;
  --gray-600: #475569;
  --green-accent: #00d084;
  --font: 'Inter', -apple-system, sans-serif;
  --mono: 'Fira Code', 'Consolas', monospace;
}

html { scroll-behavior: smooth; font-family: var(--font); }
body { background: var(--blue-dark); color: var(--white); overflow-x: hidden; font-size: 16px; line-height: 1.7; }
h1 { font-size: clamp(2.8rem, 7vw, 5.5rem); font-weight: 700; line-height: 1.0; }
h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 600; line-height: 1.2; }
h3 { font-size: 1.1rem; font-weight: 600; }
a { text-decoration: none; }

/* NAV */
#cs-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,22,40,0.96); backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0,120,212,0.2);
  padding: 0 2rem; display: flex; align-items: center; justify-content: space-between; height: 64px;
}
.cs-nav-logo { display: flex; align-items: center; gap: 12px; }
.cs-logo-icon { width: 40px; height: 40px; background: linear-gradient(135deg, var(--blue-accent), var(--blue-light)); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px; color: white; font-family: var(--mono); }
.cs-logo-name { font-size: 15px; font-weight: 600; color: var(--white); display: block; line-height: 1.2; }
.cs-logo-sub { font-size: 10px; color: var(--blue-light); font-family: var(--mono); letter-spacing: 0.05em; display: block; }
.cs-nav-links { display: flex; gap: 2rem; list-style: none; }
.cs-nav-links a { color: var(--gray-400); font-size: 14px; transition: color 0.2s; position: relative; padding-bottom: 2px; }
.cs-nav-links a::after { content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 2px; background: var(--blue-accent); transform: scaleX(0); transition: transform 0.2s; }
.cs-nav-links a:hover { color: var(--white); }
.cs-nav-links a:hover::after { transform: scaleX(1); }
.cs-nav-cta { background: var(--blue-accent) !important; color: white !important; padding: 8px 18px; border-radius: 6px; font-weight: 500 !important; }
.cs-nav-cta:hover { background: var(--blue-glow) !important; }
.cs-nav-cta::after { display: none !important; }

/* HERO - GeneratePress Freelance style */
#inicio {
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--blue-dark);
}

.cs-hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(105deg, rgba(10,22,40,0.97) 0%, rgba(10,22,40,0.85) 45%, rgba(10,22,40,0.2) 100%);
}

.cs-hero-content {
  position: relative; z-index: 2;
  max-width: 1100px; margin: 0 auto;
  padding: 100px 2rem 60px;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3rem;
  align-items: center;
  width: 100%;
}

.cs-hero-eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.cs-badge { background: rgba(0,120,212,0.15); border: 1px solid rgba(0,120,212,0.3); color: var(--blue-light); font-size: 12px; font-family: var(--mono); padding: 4px 14px; border-radius: 20px; }
.cs-status-dot { width: 8px; height: 8px; background: var(--green-accent); border-radius: 50%; animation: csPulse 2s infinite; display: inline-block; }
.cs-status-text { font-size: 12px; color: var(--green-accent); }
@keyframes csPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }

.cs-hero-title { margin-bottom: 8px; letter-spacing: -0.02em; }
.cs-accent { color: var(--blue-accent); }
.cs-hero-tagline { font-size: 14px; color: var(--blue-light); font-family: var(--mono); letter-spacing: 0.05em; margin-bottom: 20px; }
.cs-dot-sep { color: var(--blue-accent); margin: 0 6px; }
.cs-hero-desc { color: var(--gray-400); font-size: 1.05rem; max-width: 520px; margin-bottom: 32px; line-height: 1.8; }
.cs-hero-desc strong { color: var(--white); font-weight: 500; }

.cs-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 28px; }

.cs-hero-social { display: flex; align-items: center; gap: 16px; }
.cs-social-link { display: flex; align-items: center; gap: 8px; color: var(--gray-400); font-size: 13px; transition: color 0.2s; }
.cs-social-link:hover { color: var(--white); }
.cs-li-badge { background: #0077b5; color: white; font-family: var(--mono); font-weight: 700; font-size: 11px; padding: 2px 6px; border-radius: 4px; }

/* Hero photo — embedded as base64 */
.cs-hero-photo-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 480px;
}

.cs-hero-photo {
  width: 340px;
  height: 460px;
  background-image: url('data:image/jpeg;base64,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');
  background-size: cover;
  background-position: center top;
  border-radius: 16px 16px 0 0;
  position: relative;
  box-shadow: 0 0 60px rgba(0,120,212,0.2), 0 0 0 1px rgba(0,120,212,0.15);
}

.cs-hero-photo::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 120px;
  background: linear-gradient(to top, var(--blue-dark), transparent);
  border-radius: 0 0 16px 16px;
}

/* BUTTONS */
.cs-btn-primary { background: var(--blue-accent); color: white; padding: 13px 28px; border-radius: 8px; font-size: 14px; font-weight: 500; display: inline-block; transition: background 0.2s, transform 0.1s; }
.cs-btn-primary:hover { background: var(--blue-glow); transform: translateY(-1px); color: white; }
.cs-btn-outline { background: transparent; color: var(--white); padding: 12px 28px; border-radius: 8px; font-size: 14px; display: inline-block; border: 1px solid rgba(255,255,255,0.2); transition: border-color 0.2s, background 0.2s; }
.cs-btn-outline:hover { border-color: rgba(255,255,255,0.5); background: rgba(255,255,255,0.05); color: white; }

/* STATS */
.cs-stats-bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(0,120,212,0.15); border: 1px solid rgba(0,120,212,0.2); border-radius: 12px; max-width: 1100px; margin: 0 2rem; overflow: hidden; }
.cs-stat { background: rgba(10,22,40,0.9); padding: 28px 24px; text-align: center; }
.cs-stat-num { font-size: 2.2rem; font-weight: 700; color: var(--blue-accent); font-family: var(--mono); line-height: 1; }
.cs-stat-label { font-size: 13px; color: var(--gray-400); margin-top: 6px; }

/* SECTIONS */
.cs-section { padding: 80px 2rem; max-width: 1100px; margin: 0 auto; }
.cs-section-label { font-family: var(--mono); font-size: 12px; color: var(--blue-light); letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 12px; display: block; }
.cs-divider { height: 1px; background: linear-gradient(90deg, transparent, rgba(0,120,212,0.3), transparent); max-width: 1100px; margin: 0 auto; }

/* ABOUT */
.cs-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; margin-top: 48px; }
.cs-about-text p { color: var(--gray-400); margin-bottom: 16px; line-height: 1.8; }
.cs-about-text strong { color: var(--white); font-weight: 500; }

.cs-linkedin-block { background: rgba(0,119,181,0.08); border: 1px solid rgba(0,119,181,0.3); border-left: 3px solid #0077b5; border-radius: 10px; padding: 24px; margin: 28px 0; }
.cs-li-header { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.cs-li-icon { width: 32px; height: 32px; background: #0077b5; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: white; font-family: var(--mono); }
.cs-li-label { font-size: 13px; color: var(--blue-light); font-family: var(--mono); }
.cs-linkedin-block p { color: var(--gray-400); font-size: 14px; line-height: 1.75; margin-bottom: 0; }
.cs-linkedin-block strong { color: #80c8f8; font-weight: 500; }

.cs-fortalezas { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.cs-fortaleza { display: flex; align-items: flex-start; gap: 10px; background: rgba(0,120,212,0.06); border: 1px solid rgba(0,120,212,0.15); border-radius: 8px; padding: 10px 14px; font-size: 13px; color: var(--gray-400); line-height: 1.6; }
.cs-fortaleza .fi { color: var(--blue-light); font-family: var(--mono); flex-shrink: 0; }
.cs-fortaleza strong { color: var(--white); font-weight: 500; }

.cs-skills-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.cs-skill { background: rgba(13,32,68,0.8); border: 1px solid rgba(0,120,212,0.2); border-radius: 8px; padding: 10px 14px; display: flex; align-items: center; gap: 8px; font-size: 13px; }
.cs-skill-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--blue-accent); flex-shrink: 0; }

.cs-stack-cats { display: flex; flex-direction: column; gap: 20px; }
.cs-stack-cat-label { font-size: 11px; font-family: var(--mono); color: var(--blue-light); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 10px; display: block; }
.cs-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.cs-pill { background: rgba(13,32,68,0.8); border: 1px solid rgba(0,120,212,0.25); color: var(--gray-400); font-size: 12px; font-family: var(--mono); padding: 5px 12px; border-radius: 6px; }
.cs-pill.ms { border-color: rgba(0,120,212,0.4); color: var(--blue-light); }
.cs-pill.ai { border-color: rgba(0,208,132,0.3); color: #60e0b0; }
.cs-pill.dev { border-color: rgba(255,200,100,0.3); color: #ffd280; }

/* SERVICES */
.cs-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }
.cs-service { background: rgba(13,32,68,0.7); border: 1px solid rgba(0,120,212,0.2); border-radius: 12px; padding: 28px 24px; transition: border-color 0.2s, transform 0.2s; position: relative; overflow: hidden; }
.cs-service::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--blue-accent), var(--blue-light)); transform: scaleX(0); transition: transform 0.3s; }
.cs-service:hover { border-color: rgba(0,120,212,0.5); transform: translateY(-3px); }
.cs-service:hover::before { transform: scaleX(1); }
.cs-service-icon { width: 44px; height: 44px; background: rgba(0,120,212,0.15); border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; font-family: var(--mono); font-weight: 700; color: var(--blue-light); font-size: 13px; }
.cs-service p { color: var(--gray-400); font-size: 14px; line-height: 1.7; margin-top: 8px; }
.cs-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.cs-tag { background: rgba(0,120,212,0.1); border: 1px solid rgba(0,120,212,0.2); color: var(--blue-light); font-size: 11px; font-family: var(--mono); padding: 3px 9px; border-radius: 4px; }

/* PORTFOLIO */
.cs-portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }
.cs-portfolio-card { background: rgba(13,32,68,0.7); border: 1px solid rgba(0,120,212,0.2); border-radius: 12px; overflow: hidden; transition: border-color 0.2s, transform 0.2s; }
.cs-portfolio-card:hover { border-color: rgba(0,120,212,0.5); transform: translateY(-3px); }
.cs-portfolio-thumb { height: 120px; background: linear-gradient(135deg, rgba(0,120,212,0.2), rgba(0,208,132,0.1)); display: flex; align-items: center; justify-content: center; font-family: var(--mono); color: rgba(0,120,212,0.6); font-size: 12px; }
.cs-portfolio-body { padding: 20px; }
.cs-portfolio-body p { color: var(--gray-400); font-size: 13px; line-height: 1.6; margin-top: 8px; }

/* CONTACT */
.cs-contact-card { background: rgba(13,32,68,0.7); border: 1px solid rgba(0,120,212,0.25); border-radius: 16px; padding: 48px; margin-top: 48px; max-width: 640px; margin-left: auto; margin-right: auto; }
.cs-contact-card p { color: var(--gray-400); margin-bottom: 32px; line-height: 1.8; }
.cs-contact-card strong { color: var(--white); font-weight: 500; }
.cs-contact-links { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.cs-contact-link { display: flex; align-items: center; gap: 8px; color: var(--gray-400); font-size: 14px; padding: 10px 18px; border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; transition: all 0.2s; }
.cs-contact-link:hover { color: var(--white); border-color: rgba(0,120,212,0.5); background: rgba(0,120,212,0.08); }
.cs-li-link { border-color: rgba(0,119,181,0.3) !important; }
.cs-li-link:hover { border-color: #0077b5 !important; background: rgba(0,119,181,0.1) !important; }

/* FOOTER */
#cs-footer { border-top: 1px solid rgba(0,120,212,0.15); padding: 24px 2rem; text-align: center; color: var(--gray-600); font-size: 13px; font-family: var(--mono); }
#cs-footer span { color: var(--blue-light); }

/* RESPONSIVE */
@media (max-width: 900px) {
  .cs-hero-content { grid-template-columns: 1fr; }
  .cs-hero-photo-wrap { height: 300px; }
  .cs-hero-photo { width: 220px; height: 300px; }
  .cs-about-grid { grid-template-columns: 1fr; }
  .cs-services-grid, .cs-portfolio-grid { grid-template-columns: 1fr 1fr; }
  .cs-stats-bar { grid-template-columns: repeat(2, 1fr); margin: 0 1rem; }
}
@media (max-width: 600px) {
  .cs-services-grid, .cs-portfolio-grid, .cs-stats-bar { grid-template-columns: 1fr; }
  .cs-nav-links { display: none; }
}
