/* Homepage styles — ported verbatim from the original index.html. Loaded only on the front page. */
:root {
    --navy: #0a1628;
    --navy-mid: #112240;
    --gold: #c9a84c;
    --gold-light: #e8c97a;
    --slate: #8892b0;
    --light: #ccd6f6;
    --white: #e6f1ff;
    --green: #2ecc71;
    --red: #e74c3c;
    --bg-dark: #060d1a;
    --card-bg: #0d1e35;
    --border: rgba(201,168,76,0.2);
  }

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

  html { scroll-behavior: smooth; }

  body {
    font-family: 'Georgia', 'Times New Roman', serif;
    background: var(--bg-dark);
    color: var(--light);
    line-height: 1.7;
  }

  /* ─── NAV ─── */
  nav {
    position: fixed; top:0; left:0; right:0; z-index:1000;
    background: rgba(6,13,26,0.95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
    padding: 0 2rem;
    display: flex; align-items: center; justify-content: space-between;
    height: 70px;
  }
  .nav-logo { font-size:1.3rem; font-weight:700; color:var(--gold); letter-spacing:1px; }
  .nav-logo span { color:var(--white); }
  .nav-links { display:flex; gap:1.8rem; list-style:none; }
  .nav-links a {
    color:var(--slate); text-decoration:none; font-size:0.85rem;
    font-family: 'Arial', sans-serif; letter-spacing:0.5px;
    transition: color 0.2s;
  }
  .nav-links a:hover { color:var(--gold); }
  .nav-cta {
    background: var(--gold); color: var(--navy) !important;
    padding: 0.45rem 1.2rem; border-radius:4px;
    font-weight:700 !important; transition: background 0.2s !important;
  }
  .nav-cta:hover { background: var(--gold-light) !important; color: var(--navy) !important; }

  /* ─── HERO ─── */
  #hero {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    text-align: center;
    background: radial-gradient(ellipse at 50% 0%, #1a2f50 0%, var(--bg-dark) 65%);
    padding: 6rem 2rem 4rem;
    position: relative;
    overflow: hidden;
  }
  #hero::before {
    content:'';
    position:absolute; inset:0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c9a84c' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }
  .hero-content { position:relative; max-width:860px; }
  .hero-badge {
    display:inline-block; background:rgba(201,168,76,0.12);
    border:1px solid var(--border); color:var(--gold);
    font-family:'Arial',sans-serif; font-size:0.75rem; letter-spacing:2px;
    text-transform:uppercase; padding:0.4rem 1rem; border-radius:20px;
    margin-bottom:2rem;
  }
  h1 {
    font-size: clamp(2.2rem, 5vw, 3.8rem);
    color: var(--white);
    line-height: 1.2;
    margin-bottom: 1.5rem;
    font-weight: 700;
  }
  h1 em { color:var(--gold); font-style:normal; }
  .hero-sub {
    font-size: 1.15rem; color:var(--slate);
    max-width:640px; margin: 0 auto 2.5rem;
    font-family:'Arial',sans-serif; line-height:1.8;
  }
  .hero-stats {
    display:flex; justify-content:center; gap:3rem;
    margin: 3rem 0;
    flex-wrap:wrap;
  }
  .stat { text-align:center; }
  .stat-num { font-size:2.2rem; font-weight:700; color:var(--gold); display:block; }
  .stat-label { font-size:0.8rem; color:var(--slate); font-family:'Arial',sans-serif; text-transform:uppercase; letter-spacing:1px; }
  .btn-group { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:2rem; }
  .btn-primary {
    background:var(--gold); color:var(--navy); padding:0.9rem 2.2rem;
    border-radius:5px; text-decoration:none; font-weight:700;
    font-family:'Arial',sans-serif; font-size:0.95rem;
    transition: all 0.2s; border:none; cursor:pointer;
  }
  .btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); box-shadow:0 8px 25px rgba(201,168,76,0.3); }
  .btn-secondary {
    background:transparent; color:var(--gold); padding:0.9rem 2.2rem;
    border-radius:5px; text-decoration:none; font-weight:600;
    font-family:'Arial',sans-serif; font-size:0.95rem;
    border:1px solid var(--gold); transition: all 0.2s;
  }
  .btn-secondary:hover { background:rgba(201,168,76,0.1); transform:translateY(-2px); }

  /* ─── SECTIONS ─── */
  section { padding: 6rem 2rem; }
  .container { max-width:1200px; margin:0 auto; }
  .section-label {
    font-family:'Arial',sans-serif; font-size:0.75rem; letter-spacing:3px;
    text-transform:uppercase; color:var(--gold); margin-bottom:0.8rem;
  }
  h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); color:var(--white); margin-bottom:1.5rem; line-height:1.3; }
  h3 { font-size:1.4rem; color:var(--white); margin-bottom:0.8rem; }
  .section-intro { color:var(--slate); font-size:1.05rem; max-width:700px; font-family:'Arial',sans-serif; line-height:1.8; margin-bottom:3.5rem; }
  .divider { width:60px; height:3px; background:var(--gold); margin:1rem 0 2rem; border-radius:2px; }

  /* ─── FEATURES GRID ─── */
  .features-grid {
    display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:1.5rem; margin-top:3rem;
  }
  .feature-card {
    background:var(--card-bg); border:1px solid var(--border);
    border-radius:8px; padding:2rem;
    transition: transform 0.2s, border-color 0.2s;
  }
  .feature-card:hover { transform:translateY(-4px); border-color:var(--gold); }
  .feature-icon { font-size:2rem; margin-bottom:1rem; }
  .feature-card p { color:var(--slate); font-family:'Arial',sans-serif; font-size:0.95rem; line-height:1.7; }

  /* ─── COUNTRY TABS ─── */
  #jurisdicciones { background: var(--navy); }
  .tab-nav {
    display:flex; gap:0.5rem; flex-wrap:wrap; margin-bottom:3rem;
    border-bottom:1px solid var(--border); padding-bottom:0;
  }
  .tab-btn {
    background:none; border:none; color:var(--slate);
    font-family:'Arial',sans-serif; font-size:0.85rem;
    padding:0.8rem 1.3rem; cursor:pointer;
    border-bottom:2px solid transparent; margin-bottom:-1px;
    transition:all 0.2s; border-radius:4px 4px 0 0;
  }
  .tab-btn:hover { color:var(--gold); }
  .tab-btn.active { color:var(--gold); border-bottom-color:var(--gold); background:rgba(201,168,76,0.07); }
  .tab-pane { display:none; }
  .tab-pane.active { display:block; }

  .country-hero {
    display:grid; grid-template-columns:1fr 1fr; gap:3rem;
    align-items:start; margin-bottom:3rem;
  }
  .country-flag { font-size:4rem; margin-bottom:0.5rem; }
  .country-title { font-size:2rem; color:var(--white); margin-bottom:0.5rem; }
  .country-subtitle { color:var(--gold); font-family:'Arial',sans-serif; font-size:0.9rem; letter-spacing:1px; }
  .country-desc { color:var(--slate); font-family:'Arial',sans-serif; line-height:1.8; margin-top:1rem; }

  .country-metrics {
    display:grid; grid-template-columns:repeat(2,1fr); gap:1rem;
  }
  .metric-card {
    background:var(--bg-dark); border:1px solid var(--border);
    border-radius:6px; padding:1.2rem;
  }
  .metric-label { font-family:'Arial',sans-serif; font-size:0.75rem; color:var(--slate); text-transform:uppercase; letter-spacing:1px; margin-bottom:0.3rem; }
  .metric-value { font-size:1.4rem; font-weight:700; color:var(--gold); }
  .metric-sub { font-size:0.8rem; color:var(--slate); font-family:'Arial',sans-serif; }

  .country-grid {
    display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.5rem; margin-top:2rem;
  }
  .info-block {
    background:var(--bg-dark); border:1px solid var(--border);
    border-radius:8px; padding:1.8rem;
  }
  .info-block h4 {
    color:var(--gold); font-family:'Arial',sans-serif; font-size:0.8rem;
    text-transform:uppercase; letter-spacing:1.5px; margin-bottom:1rem;
  }
  .info-block ul { list-style:none; }
  .info-block ul li {
    color:var(--slate); font-family:'Arial',sans-serif; font-size:0.9rem;
    padding:0.4rem 0; border-bottom:1px solid rgba(136,146,176,0.1);
    display:flex; align-items:flex-start; gap:0.6rem;
  }
  .info-block ul li:last-child { border:none; }
  .check { color:var(--green); flex-shrink:0; }
  .cross { color:var(--red); flex-shrink:0; }
  .warn { color:#f39c12; flex-shrink:0; }

  .profile-badge {
    display:inline-flex; align-items:center; gap:0.5rem;
    background:rgba(201,168,76,0.1); border:1px solid var(--border);
    border-radius:20px; padding:0.4rem 1rem;
    color:var(--gold); font-family:'Arial',sans-serif; font-size:0.85rem;
    margin:0.3rem;
  }

  /* ─── COMPARATIVA ─── */
  #comparativa { background: var(--bg-dark); }
  .table-wrapper { overflow-x:auto; margin-top:2rem; }
  table {
    width:100%; border-collapse:collapse;
    font-family:'Arial',sans-serif; font-size:0.88rem;
  }
  thead th {
    background:var(--navy); color:var(--gold);
    padding:1rem 0.8rem; text-align:left;
    border-bottom:2px solid var(--border); white-space:nowrap;
  }
  thead th:first-child { border-radius:8px 0 0 0; }
  thead th:last-child { border-radius:0 8px 0 0; }
  tbody tr { border-bottom:1px solid rgba(136,146,176,0.1); transition:background 0.15s; }
  tbody tr:hover { background:rgba(201,168,76,0.04); }
  tbody td { padding:0.85rem 0.8rem; color:var(--slate); vertical-align:middle; }
  tbody td:first-child { color:var(--white); font-weight:600; }
  .tag-green { background:rgba(46,204,113,0.15); color:#2ecc71; padding:0.2rem 0.6rem; border-radius:4px; font-size:0.8rem; }
  .tag-yellow { background:rgba(243,156,18,0.15); color:#f39c12; padding:0.2rem 0.6rem; border-radius:4px; font-size:0.8rem; }
  .tag-red { background:rgba(231,76,60,0.15); color:#e74c3c; padding:0.2rem 0.6rem; border-radius:4px; font-size:0.8rem; }

  /* ─── PERFILES ─── */
  #perfiles { background:var(--navy); }
  .profiles-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:2rem; margin-top:3rem; }
  .profile-card {
    background:var(--bg-dark); border:1px solid var(--border);
    border-radius:10px; padding:2.5rem; transition:all 0.25s;
  }
  .profile-card:hover { border-color:var(--gold); transform:translateY(-5px); box-shadow:0 15px 40px rgba(201,168,76,0.1); }
  .profile-icon { font-size:2.5rem; margin-bottom:1.2rem; }
  .profile-card h3 { color:var(--white); margin-bottom:0.5rem; }
  .profile-card > p { color:var(--slate); font-family:'Arial',sans-serif; font-size:0.9rem; margin-bottom:1.5rem; line-height:1.7; }
  .rec-label { font-family:'Arial',sans-serif; font-size:0.75rem; color:var(--gold); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:0.8rem; }
  .rec-list { list-style:none; }
  .rec-list li {
    display:flex; align-items:center; gap:0.8rem;
    color:var(--slate); font-family:'Arial',sans-serif; font-size:0.9rem;
    padding:0.5rem 0; border-bottom:1px solid rgba(136,146,176,0.08);
  }
  .rec-list li:last-child { border:none; }
  .flag-sm { font-size:1.1rem; }

  /* ─── PROCESO ─── */
  #proceso { background:var(--bg-dark); }
  .steps { display:flex; flex-direction:column; gap:0; margin-top:3rem; max-width:800px; }
  .step { display:flex; gap:2rem; position:relative; padding-bottom:3rem; }
  .step:last-child { padding-bottom:0; }
  .step::before {
    content:''; position:absolute; left:1.3rem; top:2.8rem;
    bottom:0; width:2px; background:var(--border);
  }
  .step:last-child::before { display:none; }
  .step-num {
    width:2.8rem; height:2.8rem; flex-shrink:0;
    background:var(--card-bg); border:2px solid var(--gold);
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-weight:700; color:var(--gold); font-family:'Arial',sans-serif;
    font-size:0.9rem; z-index:1;
  }
  .step-content h3 { color:var(--white); margin-bottom:0.5rem; }
  .step-content p { color:var(--slate); font-family:'Arial',sans-serif; font-size:0.95rem; line-height:1.7; }

  /* ─── RIESGOS ─── */
  #riesgos { background:var(--navy); }
  .risks-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.5rem; margin-top:3rem; }
  .risk-card {
    background:var(--bg-dark); border:1px solid rgba(231,76,60,0.2);
    border-radius:8px; padding:2rem;
    transition: border-color 0.2s;
  }
  .risk-card:hover { border-color:rgba(231,76,60,0.5); }
  .risk-icon { font-size:2rem; margin-bottom:1rem; }
  .risk-card h3 { color:var(--white); margin-bottom:0.7rem; font-size:1.1rem; }
  .risk-card p { color:var(--slate); font-family:'Arial',sans-serif; font-size:0.9rem; line-height:1.7; }

  /* ─── CTA BANNER ─── */
  #cta {
    background: linear-gradient(135deg, #0a1e3a 0%, #1a3558 50%, #0a1e3a 100%);
    border-top:1px solid var(--border); border-bottom:1px solid var(--border);
    text-align:center; padding:6rem 2rem;
  }
  #cta h2 { font-size:clamp(1.8rem,4vw,3rem); margin-bottom:1.5rem; }
  #cta p { color:var(--slate); font-family:'Arial',sans-serif; font-size:1.05rem; max-width:600px; margin:0 auto 3rem; line-height:1.8; }
  .cta-form {
    display:flex; gap:1rem; max-width:520px; margin:0 auto;
    flex-wrap:wrap; justify-content:center;
  }
  .cta-form input {
    flex:1; min-width:220px; padding:0.9rem 1.2rem;
    background:rgba(255,255,255,0.07); border:1px solid var(--border);
    border-radius:5px; color:var(--white); font-family:'Arial',sans-serif;
    font-size:0.95rem; outline:none;
    transition: border-color 0.2s;
  }
  .cta-form input:focus { border-color:var(--gold); }
  .cta-form input::placeholder { color:var(--slate); }

  /* ─── FOOTER ─── */
  footer {
    background:var(--bg-dark); border-top:1px solid var(--border);
    padding:4rem 2rem 2rem;
  }
  .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; max-width:1200px; margin:0 auto; }
  .footer-brand p { color:var(--slate); font-family:'Arial',sans-serif; font-size:0.9rem; line-height:1.7; margin-top:0.8rem; max-width:280px; }
  .footer-col h5 { color:var(--gold); font-family:'Arial',sans-serif; font-size:0.8rem; text-transform:uppercase; letter-spacing:2px; margin-bottom:1.2rem; }
  .footer-col ul { list-style:none; }
  .footer-col ul li { margin-bottom:0.7rem; }
  .footer-col a { display:block; color:var(--slate); text-decoration:none; font-size:0.9rem; margin-bottom:0.7rem; transition:color 0.2s; }
  .footer-col a:hover { color:var(--gold); }
  .footer-col h4 { color:var(--gold); font-size:0.8rem; text-transform:uppercase; letter-spacing:2px; margin-bottom:1.2rem; font-weight:700; }
  .footer-col ul li a { color:var(--slate); text-decoration:none; font-family:'Arial',sans-serif; font-size:0.9rem; transition:color 0.2s; }
  .footer-col ul li a:hover { color:var(--gold); }
  .footer-bottom {
    max-width:1200px; margin:3rem auto 0;
    padding-top:1.5rem; border-top:1px solid var(--border);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
  }
  .footer-bottom p { color:var(--slate); font-family:'Arial',sans-serif; font-size:0.82rem; }
  .disclaimer {
    background:rgba(231,76,60,0.07); border:1px solid rgba(231,76,60,0.2);
    border-radius:6px; padding:1rem 1.5rem; margin-top:2rem; max-width:1200px; margin-left:auto; margin-right:auto;
    color:var(--slate); font-family:'Arial',sans-serif; font-size:0.82rem; line-height:1.6;
  }

  /* ─── UTILS ─── */
  .text-gold { color:var(--gold); }
  .mb-0 { margin-bottom:0; }
  @media(max-width:900px) {
    .country-hero { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .nav-links { display:none; }
  }
  @media(max-width:600px) {
    .footer-grid { grid-template-columns:1fr; }
    .hero-stats { gap:1.5rem; }
  }
