 

 /* ===== Reset básico ===== */
 *,
 *::before,
 *::after {
     box-sizing: border-box;
 }

 html,
 body {
     height: 100%;
 }

 body {
     margin: 0;
     font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji", "Segoe UI Emoji";
     color: #0f172a;
     background: #f8fafc;
 }

 img {
     max-width: 100%;
     display: block;
 }

 :root {
     --bg: #f8fafc;
     /* fondo claro */
     --card: #ffffff;
     /* tarjetas */
     --ink: #0f172a;
     /* texto principal */
     --muted: #475569;
     /* texto secundario */
     --primary: #1d4ed8;
     /* azul botón */
     --primary-ink: #ffffff;
     /* texto del botón */
     --ring: rgba(29, 78, 216, .35);
     --radius: 18px;
     --shadow: 0 10px 30px rgba(2, 6, 23, .07);
 }

 /* ===== Layout general ===== */
 .wrapper {
     min-height: 100dvh;
     display: grid;
     grid-template-rows: auto 1fr;
     gap: 28px;
 }

 header {
     position: sticky;
     top: 0;
     backdrop-filter: saturate(160%) blur(8px);
     background: color-mix(in oklab, var(--bg), #fff 20% / 60%);
     border-bottom: 1px solid #e2e8f0;
     z-index: 10;
 }

 .header-inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 14px 20px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 16px;
 }

 .brand {
     display: inline-flex;
     align-items: center;
     gap: 12px;
     text-decoration: none;
     color: inherit;
 }

 .brand-logo {
     width: 40px;
     height: 40px;
     border-radius: 12px;
     box-shadow: var(--shadow);
 }

 .brand-title {
    color: #1d4ed8;
    font-size: 26px;
     font-weight: 700;
     letter-spacing: .2px;
 }



 .btn {
     appearance: none;
     display: inline-block;
     border: 0;
     cursor: pointer;
     line-height: 1;
     font-size: 18px;
     font-weight: 600;
     padding: 12px 18px;
     border-radius: 15px;
     background: var(--primary);
     color: var(--primary-ink);
     box-shadow: 0 6px 16px rgba(29, 78, 216, .25);
     transition: transform .08s ease, box-shadow .2s ease, background .2s ease;
     text-decoration: none;
     display: inline-flex;
     align-items: center;
     gap: 10px;
 }

 .btn:hover {
     transform: translateY(-1px);
     box-shadow: 0 10px 24px rgba(29, 78, 216, .28);
 }

 .btn:active {
     transform: translateY(0);
     box-shadow: 0 6px 16px rgba(29, 78, 216, .2);
 }

 .btn:focus-visible {
     outline: 3px solid var(--ring);
     outline-offset: 3px;
 }

 main {
     max-width: 1200px;
     margin: 0 auto;
     padding: 10px 20px 40px;
 }

 /* ===== Grid de portada: 1 columna con texto + 2 columnas con imágenes ===== */
 .hero-grid {
     display: grid;
     grid-template-columns: 2fr 1fr 1fr;
     /* 3 columnas */
     gap: 22px;
     align-items: stretch;
 }

 .text-col {
     background: var(--card);
     border: 1px solid #e2e8f0;
     border-radius: var(--radius);
     padding: 26px;
     box-shadow: var(--shadow);
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 .text-col h1 {
     font-size: clamp(28px, 4vw, 38px);
     line-height: 1.1;
     margin: 0 0 14px;
 }

 .text-col p {
     font-size: clamp(18px, 2vw, 22px);
     color: var(--muted);
     margin: 0 0 20px;
 }



 .image-card {
     position: relative;
     overflow: clip;
     border-radius: var(--radius);
     border: 1px solid #e2e8f0;
     box-shadow: var(--shadow);
     background: #e5e7eb;
     display: grid;
     place-items: center;
     /* centra mientras carga */
     min-height: 340px;
     isolation: isolate;
 }

 .image-card img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 /* Sutil overlay para contraste */
 .image-card::after {
     content: "";
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0, 0, 0, .2), transparent 60%);
     opacity: .35;
     pointer-events: none;
 }

 footer {
background: color-mix(in oklab, var(--bg), #fff 20% / 60%);
     color: var(--muted);
     font-size: 18px;
     text-align: center;
     padding: 6px 20px 20px;
    border-top: 1px solid #e2e8f0;
 }

 /* ===== Responsivo ===== */
 @media (max-width: 1024px) {
     .hero-grid {
         grid-template-columns: 1.1fr 1fr;
     }

     .image-card:nth-child(3) {
         grid-column: span 1;
     }
 }

 @media (max-width: 760px) {
     .header-inner {
         padding: 12px 16px;
     }

     .hero-grid {
         grid-template-columns: 1fr;
     }

     .text-col {
         order: -1;
     }

     .image-card {
         min-height: 280px;
     }

.btn {
    
    display: inline-block;
    width: 160px;
    height: auto;
    font-size: 14px;
    font-weight: 600;
    padding: 4px 8px;

}



 @media (max-width: 480px){
.brand-title {

        font-size: 20px;

    }
.btn {

    display: inline-block;
    width: 120px;
    height: auto;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 8px;

}
 }

 }

 