:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #173f32; background: #f8f5ed; --green:#176d51; --deep:#173f32; --gold:#b17a22; --line:#d6e4da; }
* { box-sizing: border-box; } html { scroll-behavior:smooth; } body { margin:0; min-width:320px; } a { color:inherit; text-decoration:none; }
.topbar { max-width:1180px; margin:auto; padding:1.4rem 2rem; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:.75rem; } .brand strong { display:block; font-size:1.25rem; letter-spacing:-.03em; } .brand small { display:block; color:#6b8378; margin-top:.15rem; }
.brand-mark { width:2.5rem; height:2.5rem; display:grid; place-items:center; border-radius:.85rem; background:#d8b45f; color:var(--deep); font-weight:900; font-size:1.4rem; } .brand-mark.small { width:1.8rem; height:1.8rem; border-radius:.55rem; font-size:1rem; }
.top-link { font-weight:750; color:var(--green); } .hero,.section { max-width:1180px; margin:auto; padding:4.5rem 2rem; } .hero { min-height:520px; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:4rem; }
.eyebrow { color:var(--gold); font-size:.78rem; font-weight:850; letter-spacing:.18em; margin:0 0 1rem; } h1,h2,h3,p { margin-top:0; } h1 { max-width:10ch; margin-bottom:1.4rem; font-size:clamp(3.1rem,7vw,6.8rem); line-height:.92; letter-spacing:-.075em; } h2 { font-size:clamp(2rem,4vw,3.2rem); line-height:1; letter-spacing:-.06em; margin-bottom:0; } .lead { max-width:48ch; color:#5c756a; font-size:1.2rem; line-height:1.55; }
.primary-button,.card-button { display:inline-flex; align-items:center; justify-content:space-between; gap:1rem; border-radius:999px; background:var(--green); color:white; font-weight:800; padding:.95rem 1.25rem; margin-top:1rem; transition:transform .2s, background .2s; } .primary-button:hover,.card-button:hover { transform:translateY(-2px); background:#105b43; }
.hero-note { justify-self:end; max-width:330px; padding:2rem; border-radius:2rem; background:#e8f1e9; color:#356554; transform:rotate(2deg); } .note-icon { color:#d0a542; font-size:2.2rem; } .hero-note p { font-size:1.35rem; line-height:1.3; font-weight:700; } .hero-note small { color:#668476; }
.section { border-top:1px solid var(--line); } .section-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem; } .section-caption { color:#71867c; margin:0; } .project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; } .project-card { overflow:hidden; border:1px solid var(--line); background:#fffdf8; border-radius:1.5rem; box-shadow:0 12px 35px #1749360e; } .card-art { min-height:190px; padding:1.5rem; display:flex; align-items:end; color:white; font-size:1.5rem; font-weight:850; line-height:1.05; } .art-titina { background:linear-gradient(135deg,#176d51,#85a94a); } .art-ge { background:linear-gradient(135deg,#9f6a35,#e1b96a); } .card-body { padding:1.45rem; } .card-meta { display:flex; justify-content:space-between; align-items:center; gap:1rem; } .pill { border-radius:999px; padding:.35rem .65rem; font-size:.75rem; font-weight:800; } .pill.active { color:#176d51; background:#def0e3; } .pill.soon { color:#8f642a; background:#f8ecd3; } .category { color:#8da096; font-size:.8rem; } .card-body h3 { font-size:2rem; margin:.85rem 0 .35rem; letter-spacing:-.05em; } .card-body p { min-height:3rem; color:#71867c; line-height:1.45; } .card-button { width:100%; margin-top:.5rem; } .muted-action { display:block; margin-top:1.2rem; color:#a68a5c; font-weight:750; }
.upcoming { padding-bottom:5.5rem; } .upcoming-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; } .future-card { min-height:210px; display:flex; flex-direction:column; align-items:flex-start; padding:1.1rem; border:1px solid var(--line); border-radius:1.5rem; background:#fffdf8; box-shadow:0 8px 25px #1749360b; cursor:pointer; transition:transform .2s, box-shadow .2s, border-color .2s; } .future-card:hover,.future-card:focus-visible { transform:translateY(-3px); border-color:#a6cbb4; box-shadow:0 14px 30px #17493618; outline:none; } .future-icon { display:grid; place-items:center; width:2.5rem; height:2.5rem; margin-bottom:.8rem; border-radius:.85rem; background:#eef4e9; font-size:1.2rem; } .future-card .pill { margin-bottom:.7rem; } .future-card h3 { margin:0 0 .35rem; font-size:1.08rem; letter-spacing:-.035em; } .future-card p { flex:1; margin:0; color:#71867c; font-size:.92rem; line-height:1.4; } .future-cta { margin-top:.8rem; color:var(--green); font-size:.84rem; font-weight:800; } .future-dialog { width:min(92vw,480px); padding:2rem; border:0; border-radius:1.5rem; background:#fffdf8; color:var(--deep); box-shadow:0 25px 80px #102d2240; } .future-dialog::backdrop { background:#173f3275; backdrop-filter:blur(3px); } .future-dialog-icon { display:grid; place-items:center; width:3.5rem; height:3.5rem; margin-bottom:1rem; border-radius:1rem; background:#eef4e9; font-size:1.8rem; } .future-dialog h2 { margin:.8rem 0 .6rem; font-size:2rem; } .future-dialog p { color:#5c756a; line-height:1.5; } .future-dialog .dialog-note { padding-top:1rem; border-top:1px solid var(--line); font-size:.92rem; } .dialog-close { position:absolute; top:1rem; right:1rem; border:0; background:#e8f1e9; color:var(--deep); border-radius:50%; width:2rem; height:2rem; font-size:1.4rem; cursor:pointer; } footer { display:flex; align-items:center; gap:.7rem; padding:1.5rem 2rem; background:var(--deep); color:#e7eee9; } .footer-note { margin-left:auto; color:#9db3a7; }
@media (max-width:950px) { .upcoming-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } } @media (max-width:700px) { .topbar { padding:1rem 1.1rem; } .brand small { display:none; } .hero,.section { padding:3rem 1.1rem; } .hero { display:block; min-height:0; } .hero-note { margin:3rem 0 0; max-width:none; transform:none; } h1 { font-size:clamp(3rem,16vw,5rem); } .section-heading { display:block; } .section-caption { margin-top:1rem; } .project-grid,.upcoming-grid { grid-template-columns:1fr; } .card-art { min-height:150px; } footer { padding:1.2rem 1.1rem; } .footer-note { display:none; } }

/* Las tarjetas próximas comparten la composición de las tarjetas principales. */
.future-card { position:relative; overflow:hidden; padding:0 1.1rem 1.1rem; }
.future-card::before { content:"Una nueva forma de hacerlo, más cerca de ti"; display:flex; align-items:flex-end; min-height:92px; margin:0 -1.1rem 1rem; padding:1rem; color:#fff; font-size:1.05rem; font-weight:850; line-height:1.08; background:linear-gradient(135deg,#176d51,#85a94a); }
.future-card:nth-child(2)::before { content:"Busca, compara y recibe lo que necesitas"; background:linear-gradient(135deg,#466b8b,#9dbbcb); }
.future-card:nth-child(3)::before { content:"Tus diligencias de Medellín, en buenas manos"; background:linear-gradient(135deg,#9f6a35,#e1b96a); }
.future-card:nth-child(4)::before { content:"Cuidado y bienestar, más cerca de casa"; background:linear-gradient(135deg,#477b6d,#9bc6a1); }
.future-card:nth-child(5)::before { content:"Productos seleccionados para ti"; background:linear-gradient(135deg,#574b82,#b19bd2); }
.future-card:nth-child(6)::before { content:"Sabores locales para compartir"; background:linear-gradient(135deg,#a6533b,#e29c70); }
.future-card:nth-child(7)::before { content:"Protección para lo que más importa"; background:linear-gradient(135deg,#315d73,#7ca8b5); }
.future-card:nth-child(8)::before { content:"Encuentra una opción que se ajuste a ti"; background:linear-gradient(135deg,#7c6428,#d5b85d); }
.future-card:nth-child(9)::before { content:"Ayuda confiable para tu día a día"; background:linear-gradient(135deg,#4d6b52,#a4bf8b); }
.future-card:nth-child(10)::before { content:"Planes para descansar y disfrutar"; background:linear-gradient(135deg,#35715f,#8bc4a0); }
.future-card:nth-child(11)::before { content:"Siempre hay algo bonito por descubrir"; background:linear-gradient(135deg,#874d75,#d39ab9); }
.future-card:nth-child(12)::before { content:"Tus diligencias cotidianas, más fáciles"; background:linear-gradient(135deg,#41658a,#91b6d1); }
.future-card .future-icon { width:2.4rem; height:2.4rem; margin-bottom:.7rem; }
