
/* ── STEPS PASS ── */
    .pass-steps { margin: 24px 0; }

    .pass-step {
      display: flex;
      gap: 18px;
      padding: 20px 0;
      border-bottom: 1px solid rgba(34,167,68,0.15);
      align-items: flex-start;
    }

    .pass-step:last-child { border: none; }

    .step-num {
      width: 40px; height: 40px;
      flex-shrink: 0;
      background: var(--pitch);
      color: var(--lime-bright);
      font-family: 'Bebas Neue', sans-serif;
      font-size: 1.2rem;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 6px;
      margin-top: 2px;
    }

    .pass-step h3 { margin: 0 0 4px; font-size: 1rem; }
    .pass-step p  { font-size: 0.92rem; margin: 0; }

    /* ── ALERT VARIANTS ── */
    .alert-box {
      border-radius: 8px;
      padding: 18px 22px;
      margin: 28px 0;
      display: flex;
      gap: 14px;
      align-items: flex-start;
    }

    .alert-box.warning {
      background: rgba(245,158,11,0.08);
      border-left: 4px solid var(--gold);
    }

    .alert-box.danger {
      background: rgba(220,38,38,0.06);
      border-left: 4px solid var(--red);
    }

    .alert-box.info {
      background: rgba(14,165,233,0.07);
      border-left: 4px solid var(--sky);
    }

    .alert-icon { font-size: 1.3rem; flex-shrink: 0; margin-top: 1px; }
    .alert-text { font-size: 0.93rem; color: var(--ink-mid); line-height: 1.6; }
    .alert-text strong { color: var(--ink); }

/* ── STATUS CARDS GRID ── */
    .status-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 16px;
      margin-top: 24px;
    }

    .status-card {
      border-radius: 10px;
      padding: 20px;
      border-left: 4px solid;
      background: #ffffff;;
      box-shadow: 0 4px 24px rgba(10, 22, 40, 0.08);
      transition: transform 0.2s, 0 12px 48px rgba(10, 22, 40, 0.16);
    }

    .status-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 48px rgba(10, 22, 40, 0.16);
    }

    .status-card.green  { border-color: #059669; }
    .status-card.yellow { border-color: #d97706; }
    .status-card.red    { border-color: #d97706;  }
    .status-card.blue   { border-color: #0891b2;    }
    .status-card.gray   { border-color: #94a3b8;        }

    .status-badge {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 3px 10px;
      border-radius: 999px;
      margin-bottom: 10px;
    }

    .green  .status-badge { background: #d1fae5; color: var(--success); }
    .yellow .status-badge { background: #fef3c7; color: var(--warning); }
    .red    .status-badge { background: #fee2e2; color: var(--danger);  }
    .blue   .status-badge { background: #cffafe; color: var(--info);    }
    .gray   .status-badge { background: #e2e8f0; color: #64748b;        }

    .status-card h3 {
      font-size: 1.4rem;
      margin: 0 0 6px;
      font-family: 'Source Serif 4', serif;
      font-weight: 600;
    }

    .status-card p {
      font-size: 1.4rem;
      color: var(--text-muted);
      margin: 0;
      line-height: 1.55;
    }
/* ── STEPS ── */
    .steps-list { list-style: none; margin-top: 12px; }

    .step-item {
      display: flex;
      gap: 20px;
      padding: 24px 0;
      border-bottom: 1px solid var(--border);
      align-items: flex-start;
      animation: fadeUp 0.4s ease both;
    }

    .step-item:last-child { border-bottom: none; }

    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(12px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    .step-number {
      width: 44px; height: 44px;
      border-radius: 50%;
      background: #02176A;
      color: #FFF;
       font-family: 'Playfair Display', serif;
      font-size: 1.8rem;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      margin-top: 2px;
      border: 2px solid #FFF;
    }

    .step-content h3 {
      margin-top: 0;
      margin-bottom: 6px;
      font-size: 1.55rem;
    }

    .step-content p { font-size: 1.4rem; margin-bottom: 8px; }

    .step-tip {
      display: inline-flex;
      align-items: flex-start;
      gap: 6px;
      background: rgba(201,168,76,0.1);
      border: 1px solid rgba(201,168,76,0.25);
      border-radius: 6px;
      padding: 8px 12px;
      font-size: 0.82rem;
      color: var(--text-muted);
      margin-top: 8px;
    }

/* ── RECEIPT NUMBER ANATOMY ── */
    .receipt-box {
      background: #02176A;
      border-radius: 12px;
      padding: 32px;
      margin: 28px 0;
      position: relative;
      overflow: hidden;
    }

    .receipt-box::before {
      content: '';
      position: absolute;
      top: -30px; right: -30px;
      width: 140px; height: 140px;
      border-radius: 50%;
      background: rgba(201,168,76,0.08);
    }

    .receipt-label {
      font-size: 1.4rem;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold);
      font-weight: 600;
      margin-bottom: 14px;
    }

    .receipt-number {
      font-family: 'Courier New', monospace;
      font-size: clamp(1.6rem, 4vw, 2.4rem);
      font-weight: 700;
      color: var(--white);
      letter-spacing: 0.08em;
      display: flex;
      align-items: center;
      gap: 0;
      flex-wrap: wrap;
    }

    .receipt-part {
      position: relative;
      cursor: default;
    }

    .receipt-part.center-code { color: var(--gold-light); }
    .receipt-part.year-code { color: #93c5fd; }
    .receipt-part.day-code { color: #86efac; }
    .receipt-part.seq-code { color: #fca5a5; }

    .receipt-annotations {
      display: flex;
      gap: 16px;
      margin-top: 20px;
      flex-wrap: wrap;
    }

    .annotation {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 1.2rem;
      color: rgba(245,240,232,0.7);
    }

    .annotation-dot {
      width: 10px; height: 10px;
      border-radius: 50%;
      flex-shrink: 0;
    }


 .tabla-migracion {
        width: 100%;
        border-collapse: collapse;
        margin: 25px 0;
        font-family: sans-serif;
        min-width: 400px;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    }
    .tabla-migracion thead tr {
        background-color: #00447c;
        color: #ffffff;
        text-align: left;
    }
    .tabla-migracion th, .tabla-migracion td {
        padding: 12px 15px;
        border: 1px solid #dddddd;
    }
    .tabla-migracion tbody tr:nth-of-type(even) {
        background-color: #f3f3f3;
    }
    .tabla-migracion tbody tr:last-of-type {
        font-weight: bold;
        color: #00447c;
    }
                            
                            /* Estilo para el enlace específico */
.enlace-link {
    text-decoration: none; /* Quitamos el subrayado feo por defecto */
    color: #007bff; /* Color azul profesional */
    font-weight: bold;
    border-bottom: 2px solid #007bff; /* Subrayado personalizado */
    padding-bottom: 0.5px;
    transition: all 0.3s ease;
}

.enlace-link:hover {
    color: #0056b3;
    border-bottom-color: #ffa000; /* Cambia a naranja al pasar el mouse */
    background-color: rgba(0, 123, 255, 0.05); /* Un toque de fondo suave */
}
	 /* ================================
   TABLA DE CONTENIDO PREMIUM
================================ */

.toc-box{
    background:#ffffff;
    border:1px solid #dbe3f0;
    border-radius:14px;
    padding:15px;
    margin:25px 0;
    box-shadow:0 8px 24px rgba(0,0,0,.05);
    position:relative;
    overflow:hidden;
}

.toc-box::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:6px;
    height:100%;
    background:linear-gradient(180deg,#021769,#4166FC);
}

.toc-title{
    font-size:1.7rem;
    font-weight:800;
    color:#021769;
    margin-bottom:20px;
    display:flex;
    align-items:center;
    gap:10px;
}

.toc-title i{
    color:#4166FC;
}

.toc-list{
    list-style:none;
    padding:0;
    margin:0;
}

.toc-list li{
    margin-bottom:14px;
}

.toc-list a{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    font-size:1.4rem;
    color:#1f2937;
    padding:12px 14px;
    border-radius:10px;
    transition:all .25s ease;
    border:1px solid transparent;
    background:#f8fafc;
}

.toc-list a:hover{
    background:#eef4ff;
    border-color:#c7d7ff;
    transform:translateX(5px);
    color:#021769;
}

.toc-list span{
    font-weight:700;
    color:#4166FC;
    min-width:28px;
}

    /* ══ TOKENS ══════════════════════════════════════════ */
    :root {
      --blue:       #021769;
      --blue-dark:  #021769;
      --blue-light: #E3F2FD;
      --blue-mid:   #1976D2;
      --red:        #C62828;
      --red-light:  #FFEBEE;
      --green:      #2E7D32;
      --green-light:#E8F5E9;
      --amber:      #F57F17;
      --amber-light:#FFF8E1;
      --gray-900:   #1A1A2E;
      --gray-700:   #374151;
      --gray-500:   #6B7280;
      --gray-200:   #E5E7EB;
      --gray-100:   #F3F4F6;
      --white:      #FFFFFF;
      --border:     #D1D5DB;
      --ff-head:    'Merriweather', Georgia, serif;
      --ff-body:    'Open Sans', system-ui, sans-serif;
      --max-w:      860px;
      --sidebar-w:  280px;
    }


.hero-sub {
      font-size: 1.5rem;
      color: #4166FC;
      max-width: 100%;
      margin: 0 auto 1.8rem;
      font-style: italic;
    }
    .hero-meta {
    /*  font-family: 'DM Mono', monospace;*/
      font-size: 1.5rem;
      letter-spacing: 0.14em;
      color: #8a7a66;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1.5rem;
      flex-wrap: wrap;
    }
    .hero-meta span { display: flex; align-items: center; gap: 0.4rem; }
    .hero h1, .hero-sub, .hero-meta { animation: fadeUp 0.7s ease both; }
    .hero h1  { animation-delay: 0.1s; }
    .hero-sub { animation-delay: 0.25s; }
    .hero-meta{ animation-delay: 0.4s; }
	
	/* ── INTRO LEAD ── 
    .lead {
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.7;
      color: #3a2e1e;
      border-left: 4px solid #021769;
      padding-left: 1.5rem;
      margin-bottom: 2.5rem;
    }*/
    
    
    a { color: var(--blue-mid); text-decoration: none; }
    a:hover { text-decoration: underline; color: var(--blue-dark); }
    img { max-width: 100%; display: block; }

    /* ══ TOP BAR ══════════════════════════════════════════ */
    .topbar {
      background: var(--blue-dark);
      color: #90CAF9;
      font-size: 16px;
      letter-spacing: 0.04em;
      padding: 0.4rem 1rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.4rem;
    }
    .topbar a { color: #90CAF9; }

    /* ══ HEADER / NAV ════════════════════════════════════ */
    .site-header {
      background: var(--white);
      border-bottom: 3px solid var(--blue);
      padding: 0.6rem 1rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.8rem;
    }
    .site-logo {
       
      /*font-size: 1.3rem;*/
      font-size: 16px;
      font-weight: 900;
      color: var(--blue-dark);
      text-decoration: none;
      line-height: 1.15;
    }
    .site-logo span { color: var(--red); }
    .site-nav { display: flex; gap: 0.2rem; flex-wrap: wrap; }
    .site-nav a {
     /* font-size: 0.78rem;*/
      font-size: 16px;
      font-weight: 600;
      color: var(--gray-700);
      padding: 0.35rem 0.65rem;
      border-radius: 4px;
      transition: background 0.15s;
    }
    .site-nav a:hover { background: var(--gray-100); text-decoration: none; }

    /* ══ BREADCRUMB ══════════════════════════════════════ */
    .breadcrumb {
      background: var(--gray-100);
      border-bottom: 1px solid var(--gray-200);
      padding: 0.55rem 1rem;
      font-size: 1.4rem;
      color: var(--gray-500);
    }
    .breadcrumb a { color: var(--blue-mid); }
    .breadcrumb span { margin: 0 0.3rem; }

    /* ══ LAYOUT PRINCIPAL ════════════════════════════════ */
    .page-wrap {
      max-width: 1160px;
      margin: 0 auto;
      padding: 1.5rem 1rem 3rem;
      display: grid;
      grid-template-columns: 1fr var(--sidebar-w);
      gap: 2rem;
      align-items: start;
    }
    @media (max-width: 800px) {
      .page-wrap { grid-template-columns: 1fr; }
      .sidebar { display: none; }
    }

    /* ══ ARTÍCULO ════════════════════════════════════════ */
    .article {}

    /* Categoría / kicker */
    .article__cat {
      display: inline-block;
      background: var(--blue);
      color: var(--white);
      font-size: 16px;
     /* font-size: 0.7rem;*/
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 0.25em 0.75em;
      border-radius: 3px;
      margin-bottom: 0.9rem;
    }

    /* H1 */
    .article__h1 {
      
      font-size: clamp(1.5rem, 3.5vw, 2.2rem);
      font-weight: 900;
      color: var(--gray-900);
      line-height: 1.25;
      margin-bottom: 0.8rem;
    }

    /* Byline */
    .article__byline {
      font-size: 1.5rem;
      color: var(--gray-500);
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem 1.2rem;
      align-items: center;
      padding: 0.8rem 0;
      border-top: 1px solid var(--gray-200);
      border-bottom: 1px solid var(--gray-200);
      margin-bottom: 1.4rem;
    }
    .article__byline strong { color: var(--gray-700); }
    .article__byline .updated { color: var(--red); font-weight: 600; }

    /* Imagen destacada */
    .article__img {
      width: 100%;
      height: 260px;
      object-fit: cover;
      border-radius: 6px;
      margin-bottom: 0.5rem;
      background: linear-gradient(135deg, #1565C0 0%, #0D47A1 60%, #1A237E 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255,255,255,0.25);
      font-size: 4rem;
    }
    .article__img-caption {
      font-size: 1.3rem;
      color: var(--gray-500);
      text-align: center;
      margin-bottom: 1.5rem;
    }

    /* Lead */
    .lead {
      font-size: 1.4rem;
      font-weight: 600;
      color: var(--gray-900);
      line-height: 1.7;
      border-left: 4px solid var(--blue);
      padding-left: 1rem;
      margin-bottom: 1.8rem;
      background: var(--blue-light);
      padding: 1rem 1rem 1rem 1.2rem;
      border-radius: 0 4px 4px 0;
    }

    /* Cuerpo */
    .article p { margin-bottom: 1.3rem; }

    /* H2 */
    .article h2 {
       
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--gray-900);
      margin: 2.2rem 0 0.7rem;
      padding-bottom: 0.4rem;
      border-bottom: 2px solid var(--blue);
    }

h3 {
      font-size: 16px;
      font-weight: 700;
      color: var(--blue-dark);
      margin: 1.6rem 0 0.5rem;
    }
h3 .blog-quote-title
{
      font-size: 16px;
      font-weight: 700;
      color: #000;
      
    }
    /* H3 */
    .article h3 {
      font-size: 16px;
      font-weight: 700;
      color: var(--blue-dark);
      margin: 1.6rem 0 0.5rem;
    }

    /* ══ ALERTAS ═════════════════════════════════════ */
    .alert {
      border-left: 5px solid;
      padding: 1rem 1.2rem;
      border-radius: 0 6px 6px 0;
      margin: 2rem 0;
      font-size: 1.3rem;
    }
    .alert strong { display: block; font-size: 1.3rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .35rem; }
    .a-red    { border-color: var(--red);    background: var(--red-light);   color: #7B1D1D; }
    .a-amber  { border-color: #B45309;       background: var(--amber-light); color: var(--amber); }
    .a-green  { border-color: #16A34A;       background: var(--green-light); color: var(--green); }
    .a-blue   { border-color: var(--blue);   background: var(--blue-light);  color: var(--blue); }

/* ══ PULLQUOTE EDITORIAL ══════════════════════════ */
    .pq {
      border-left: 5px solid var(--carbon);
      background: var(--bg);
      padding: 1rem 1.4rem;
      margin: 2.5rem 0;
      border-radius: 0 7px 7px 0;
    }
    .pq p { font-family: var(--ff-h); font-size: 1.3rem; font-style: italic; color: var(--ink); margin: 0 !important; line-height: 1.65; }
    .pq cite { display: block; font-size: 1.2rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); margin-top: .55rem; font-style: normal; }


/* ══ 2 COLUMNAS ══════════════════════════════════ */
    .c2 { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; margin:1.5rem 0; }
    @media(max-width:560px){ .c2{grid-template-columns:1fr} }
    .c2-box { border-radius:7px; padding:1.2rem 1.3rem; border:1px solid var(--border); }
    .c2-box h4 { font-size:1.2rem; font-weight:700; margin-bottom:.5rem; display:flex; align-items:center; gap:.4rem; }
    .c2-box ul { padding-left:1.2rem; font-size:1.3rem; }
    .c2-box li { margin-bottom:.35rem; }  
    
    
/* ══ TABLA ═══════════════════════════════════════ */
    .tbl-w { overflow-x:auto; margin:2rem 0; border-radius:8px; border:1px solid var(--border); }
    table  { width:100%; border-collapse:collapse; font-size:1.2rem; }
    th { background:var(--carbon); color:var(--white); padding:.72rem 1rem; text-align:left; font-size:1.3rem; letter-spacing:.07em; text-transform:uppercase; }
    td { padding:.65rem 1rem; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.55; }
    tr:last-child td { border-bottom:none; }
    tr:nth-child(even) td { background:var(--bg); }
    .t-r { color:var(--red);    font-weight:700; }
    .t-g { color:#16A34A;       font-weight:700; }
    .t-a { color:#B45309;       font-weight:700; }
    
    
    /* ══ MAPA IMPACTO ════════════════════════════════ */
    .impact-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(200px,1fr));
      gap: .8rem; margin: 1.5rem 0;
    }
    .imp-card { border-radius: 7px; overflow: hidden; border: 1px solid var(--border); }
    .imp-card__head {
      padding: .6rem 1rem;
      font-size: 1.6rem; font-weight: 500;
      display: flex; align-items: center; justify-content: space-between;
    }
    .imp-card__head.rojo   { background: var(--red-light);   color: var(--red); }
    .imp-card__head.amber  { background: var(--amber-light);  color: var(--amber); }
    .imp-card__head.verde  { background: var(--green-light);  color: var(--green); }
    .imp-card__body { padding: .7rem 1rem; font-size: 1.4rem; color: var(--ink-body); }
    .imp-card__flag { font-size: 1.4rem; }

    
    
    /* ══ TABLA DATOS CLAVE ════════════════════════════════ */
    .data-box {
      background: #02176A;
      color: var(--white);
      border-radius: 8px;
      padding: 1.4rem 1.5rem;
      margin: 1.8rem 0;
    }
    .data-box__title {
      font-size: 1.5rem;
      font-weight: 500;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #90CAF9;
      margin-bottom: 1rem;
    }
    .data-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
      gap: 0.8rem;
    }
    .data-item {
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 5px;
      padding: 0.8rem 1rem;
    }
    .data-item__label {
      font-size: 1.5rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #90CAF9;
      margin-bottom: 0.25rem;
    }
    .data-item__value {
      font-size: 1.5rem;
      font-weight: 600;
      color: var(--white);
    }
    .data-item__note {
      font-size: 1.3rem;
      color: rgba(255,255,255,0.5);
      margin-top: 0.2rem;
    }

    /* ══ TABLA ASIGNACIONES ══════════════════════════════ */
    .table-wrap { overflow-x: auto; margin: 1.5rem 0; }
    table {
      width: 100%;
      border-collapse: collapse;
      font-size: 1.5rem;
    }
    th {
      background: var(--blue-dark);
      color: var(--white);
      padding: 0.65rem 0.9rem;
      text-align: left;
      font-weight: 700;
      font-size: 1.5rem;
      letter-spacing: 0.04em;
    }
    td {
      padding: 0.6rem 0.9rem;
      border-bottom: 1px solid var(--gray-200);
      vertical-align: top;
    }
    tr:nth-child(even) td { background: var(--gray-100); }
    .badge-status {
      display: inline-block;
      padding: 0.2em 0.6em;
      border-radius: 3px;
      font-size: 1.3rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }
    .badge-agotado  { background: var(--red-light);   color: var(--red); }
    .badge-activo   { background: var(--green-light);  color: var(--green); }
    .badge-pendiente{ background: var(--amber-light);  color: var(--amber); }

    /* ══ LISTA DE SECTORES ═══════════════════════════════ */
    .sector-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
      gap: 0.7rem;
      margin: 1rem 0 1.5rem;
    }
    .sector-item {
      border: 1px solid var(--gray-200);
      border-radius: 6px;
      padding: 0.75rem 0.9rem;
      display: flex;
      align-items: center;
      gap: 0.6rem;
      font-size: 1.5rem;
      font-weight: 600;
      color: var(--gray-700);
    }
    .sector-item span { font-size: 1.5rem; }

    /* ══ PASOS / PROCESO ════════════════════════════════ */
    .steps { counter-reset: step; list-style: none; padding: 0; margin: 1rem 0 1.5rem; }
    .steps li {
      counter-increment: step;
      display: flex;
      gap: 1rem;
      margin-bottom: 1rem;
      align-items: flex-start;
    }
    .steps li::before {
      content: counter(step);
      flex-shrink: 0;
      width: 32px; height: 32px;
      background: var(--blue);
      color: var(--white);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 1.5rem;
      margin-top: 0.15rem;
    }
    .steps li p { margin: 0; font-size: 1.4rem; }
    .steps li strong { display: block; margin-bottom: 0.2rem; color: var(--gray-900); }

    /* ══ ALTERNATIVAS CARDS ══════════════════════════════ */
    .alt-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: 1rem;
      margin: 1rem 0 1.5rem;
    }
    .alt-card {
      border: 1px solid var(--gray-200);
      border-top: 4px solid var(--blue);
      border-radius: 6px;
      padding: 1.1rem 1.1rem 1rem;
    }
    .alt-card:nth-child(2) { border-top-color: var(--green); }
    .alt-card:nth-child(3) { border-top-color: var(--amber); }
    .alt-card:nth-child(4) { border-top-color: var(--red); }
    .alt-card__name {
      font-weight: 700;
      font-size: 1.4rem;
      color: var(--gray-900);
      margin-bottom: 0.3rem;
    }
    .alt-card__tag {
      font-size: 1.4rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--gray-500);
      margin-bottom: 0.6rem;
    }
    .alt-card p { font-size: 1.4rem; margin: 0; color: var(--gray-500); }

    /* ══ PULLQUOTE ══════════════════════════════════════ */
    .pullquote {
      border-left: 5px solid var(--blue-mid);
      margin: 1.8rem 0;
      padding: 0.8rem 1.2rem;
      font-style: italic;
      font-size: 1.5rem;
      color: var(--gray-900);
      background: var(--blue-light);
      border-radius: 0 4px 4px 0;
    }
    .pullquote cite {
      display: block;
      font-style: normal;
      font-size:1.1rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--blue);
      margin-top: 0.5rem;
    }

    /* ══ CTA ════════════════════════════════════════════ */
    .cta-box {
      background: var(--blue-dark);
      color: #FFF;
      border-radius: 8px;
      padding: 1.4rem 1.8rem;
      margin: 2rem 0;
      display: flex;
     
   
      align-items: center;
      justify-content: space-between;
    }
    .cta-box p { margin: 0; font-size: 1.4rem; max-width: 460px; color: #FFF;}
    .cta-box strong { display: block; font-size: 1.5rem; margin-bottom: 0.3rem; }
    .btn {
      display: inline-block;
      background: var(--white);
      color: var(--blue-dark);
      font-weight: 700;
      font-size: 1.4rem;
      letter-spacing: 0.04em;
      padding: 0.7em 1.4em;
      border-radius: 4px;
      white-space: nowrap;
      transition: opacity 0.15s;
    }
    .btn:hover { opacity: 0.88; text-decoration: none; }

    /* ══ FAQ ═════════════════════════════════════════════ */
    .faq { margin: 1rem 0; }
    .faq details {
      border: 1px solid var(--gray-200);
      border-radius: 5px;
      margin-bottom: 0.6rem;
      overflow: hidden;
    }
    .faq summary {
      padding: 0.85rem 1rem;
      font-weight: 700;
      cursor: pointer;
      font-size: 1.5rem;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: var(--gray-100);
    }
    .faq summary::-webkit-details-marker { display: none; }
    .faq summary::after { content: '+'; font-size: 1.4rem; color: var(--blue); font-weight: 900; }
    .faq details[open] summary::after { content: '−'; }
    .faq details[open] summary { background: var(--blue-light); color: var(--blue-dark); }
    .faq details p { padding: 0.9rem 1rem; font-size: 1.4rem; margin: 0; border-top: 1px solid var(--gray-200); }

    /* ══ TAGS ════════════════════════════════════════════ */
    .tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 2rem; }
    .tags a {
      font-size: 1.5rem;
      font-weight: 600;
      background: var(--gray-100);
      color: var(--gray-700);
      padding: 0.3em 0.8em;
      border-radius: 20px;
      border: 1px solid var(--gray-200);
    }
    .tags a:hover { background: var(--blue-light); color: var(--blue-dark); text-decoration: none; }

    /* ══ SIDEBAR ════════════════════════════════════════ */
    .sidebar { font-size: 1.5rem; }
    .sidebar-widget {
      border: 1px solid var(--gray-200);
      border-radius: 6px;
      overflow: hidden;
      margin-bottom: 1.5rem;
    }
    .sidebar-widget__head {
      background: var(--blue-dark);
      color: var(--white);
      padding: 0.65rem 1rem;
      font-weight: 700;
      font-size: 1.5rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }
    .sidebar-widget__body { padding: 0.9rem 1rem; }
    .sidebar-link {
      display: flex;
      gap: 0.5rem;
      align-items: flex-start;
      padding: 0.55rem 0;
      border-bottom: 1px solid var(--gray-200);
      color: var(--gray-700);
      font-size: 1.5rem;
    }
    .sidebar-link:last-child { border-bottom: none; }
    .sidebar-link::before { content: '›'; color: var(--blue); font-weight: 700; flex-shrink: 0; }
    .sidebar-link:hover { color: var(--blue-dark); text-decoration: none; }

    .sidebar-uscis {
      background: var(--blue-dark);
      color: var(--white);
      border-radius: 6px;
      padding: 1.1rem 1rem;
      margin-bottom: 1.5rem;
      font-size: 1.5rem;
    }
    .sidebar-uscis strong { display: block; font-size: 1.5rem; margin-bottom: 0.4rem; }
    .sidebar-uscis a { color: #90CAF9; font-weight: 600; }

    

    /* ══ RESPONSIVE EXTRAS ══════════════════════════════ */
    @media (max-width: 560px) {
      .data-grid { grid-template-columns: 1fr 1fr; }
      .alt-grid   { grid-template-columns: 1fr; }
    }
                            