/* Agape 40 años: modal de lanzamiento del nuevo sitio (solo home) */
.a40-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;background:rgba(20,27,35,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s ease;font-family:"A40 Now",system-ui,-apple-system,"Segoe UI",sans-serif}
.a40-overlay[hidden]{display:none}
.a40-overlay.is-open{opacity:1}
.a40-overlay *,.a40-overlay *::before,.a40-overlay *::after{box-sizing:border-box}
.a40-modal{position:relative;width:100%;max-width:1040px;height:600px;max-height:calc(100vh - 48px);display:flex;background:#F7F5F2;border-radius:6px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.45);transform:translateY(16px);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.a40-overlay.is-open .a40-modal{transform:none}

.a40-media{position:relative;flex:0 0 54%;overflow:hidden;background:#2F3D4C}
.a40-scene{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 1.4s ease}
.a40-scene.is-active{opacity:1;transform:none}
.a40-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:a40-kb 14s ease-in-out infinite alternate}
@keyframes a40-kb{from{transform:scale(1)}to{transform:scale(1.09) translate(-1.5%,-1%)}}
.a40-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(31,41,52,.92) 0%,rgba(31,41,52,.25) 55%,rgba(31,41,52,0) 75%)}
.a40-cap{position:absolute;left:44px;right:44px;bottom:44px;color:#F7F5F2}
.a40-year{margin:0;font-family:"A40 Monument",system-ui,sans-serif;font-weight:800;font-size:112px;line-height:.9;letter-spacing:-.06em;color:#D8C3A5}
.a40-line{margin:16px 0 0;font-size:22px;font-weight:500;letter-spacing:.02em;line-height:1.3}
.a40-scene--brand{background:#2F3D4C;display:flex;flex-direction:column;justify-content:center;padding:0 52px;color:#F7F5F2}
.a40-kicker{margin:0;font-size:15px;font-weight:500;letter-spacing:.3em;color:#D8C3A5}
.a40-big{margin:24px 0 0;font-family:"A40 Monument",system-ui,sans-serif;font-weight:800;font-size:44px;line-height:1.06;letter-spacing:-.05em}
.a40-big span{color:#D8C3A5}
.a40-rule{width:64px;height:3px;background:#A67C65;margin-top:32px}
.a40-sub{margin:24px 0 0;font-size:19px;line-height:1.5;color:#D5DAE0;max-width:400px}

.a40-progress{position:absolute;top:20px;left:24px;right:24px;display:flex;gap:6px;z-index:2}
.a40-seg{flex:1;height:20px;padding:8px 0;background:none;border:0;cursor:pointer}
.a40-seg span{display:block;height:3px;background:rgba(247,245,242,.35);border-radius:2px;overflow:hidden}
.a40-seg i{display:block;height:100%;width:0;background:#F7F5F2}
.a40-seg:focus-visible{outline:2px solid #D8C3A5;outline-offset:2px}

.a40-copy{flex:1;display:flex;flex-direction:column;padding:64px 48px 44px;overflow-y:auto;color:#2F3D4C}
.a40-title{margin:0}
.a40-title img{display:block;width:320px;max-width:100%;height:auto}
.a40-copy p.a40-body{margin:32px 0 0;font-size:18px;line-height:1.6}
.a40-copy p.a40-body + p.a40-body{margin-top:14px}
.a40-actions{margin-top:auto;padding-top:28px;display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px}
.a40-cta{height:52px;padding:0 28px;background:#2F3D4C;color:#F7F5F2;border:0;border-radius:999px;font:500 15px/1 "A40 Now",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s ease}
.a40-cta:hover{background:#85604D}
.a40-link{color:#2F3D4C;font-size:16px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.a40-link:hover{color:#85604D}
.a40-cta:focus-visible,.a40-link:focus-visible,.a40-close:focus-visible{outline:3px solid #A67C65;outline-offset:3px}

.a40-close{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;border-radius:999px;border:0;background:#E9E3DA;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .25s ease,background .2s ease}
.a40-close:hover{background:#fff;transform:rotate(90deg)}

@media (max-width:760px){
  .a40-overlay{padding:12px;align-items:flex-end}
  .a40-modal{flex-direction:column;height:auto;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:10px}
  .a40-media{flex:0 0 auto;height:42vh;min-height:280px;max-height:380px}
  .a40-cap{left:24px;right:24px;bottom:24px}
  .a40-year{font-size:64px}
  .a40-line{font-size:18px;margin-top:10px}
  .a40-scene--brand{padding:0 28px}
  .a40-kicker{font-size:13px}
  .a40-big{font-size:34px;margin-top:16px}
  .a40-rule,.a40-sub{display:none}
  .a40-progress{top:14px;left:16px;right:72px;gap:5px}
  .a40-close{top:8px;right:10px;background:rgba(247,245,242,.92)}
  .a40-copy{padding:28px 24px 24px}
  .a40-title img{width:240px}
  .a40-copy p.a40-body{font-size:16px;margin-top:20px;line-height:1.55}
  .a40-copy p.a40-body + p.a40-body{margin-top:10px}
  .a40-actions{padding-top:22px}
  .a40-cta{width:100%}
  .a40-link{margin:0 auto}
}
@media (prefers-reduced-motion:reduce){
  .a40-scene,.a40-overlay,.a40-modal,.a40-close{transition:none}
  .a40-scene img{animation:none}
}
