:root{--navy:#0b2545;--navy2:#13315c;--sea:#1b9aaa;--sand:#f7f4ee;--amber:#f5a524;--amber-d:#dc8f0e;--ink:#17233a;--muted:#5b6678;--bg-main:#f7f9fb;
--bs-body-font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--bs-body-color:var(--ink);--bs-body-font-size:1.0625rem}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{line-height:1.65;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));background:#fff}
h1,h2,h3,.brand span{font-family:"Bricolage Grotesque","DM Sans",system-ui,sans-serif;letter-spacing:-.02em;line-height:1.12}
h2{font-size:clamp(1.65rem,4.5vw,2.4rem);font-weight:700;color:var(--navy);margin-bottom:1rem}
.skip{position:absolute;left:8px;top:8px;z-index:2000;background:#fff;padding:.5rem 1rem}
a{color:var(--navy2)}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.site-header{position:sticky;top:0;z-index:1030;background:rgba(11,37,69,.97);backdrop-filter:blur(6px)}
.navbar{padding:.5rem 0}
.brand-logo{height:48px;width:auto;background:#fff;border-radius:.5rem;padding:.35rem .5rem}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff!important;font-weight:800;font-size:1.25rem}
.navbar .nav-link{color:#dbe6f5;font-weight:500;padding:.75rem .9rem}
.navbar .nav-link:hover{color:#fff}
.navbar-toggler{border-color:rgba(255,255,255,.4)}
.navbar-toggler-icon{filter:invert(1)}
@media(max-width:767.98px){.navbar-collapse{padding-bottom:.75rem}.navbar .btn{width:100%;margin-top:.5rem}}
.btn{font-weight:700;border-radius:.6rem;padding:.7rem 1.25rem;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.btn-sm{min-height:40px;padding:.4rem 1rem}
.btn-cta{background:var(--amber);border:2px solid var(--amber);color:#1a1200}
.btn-cta:hover,.btn-cta:focus{background:var(--amber-d);border-color:var(--amber-d);color:#1a1200}
.btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff;background:transparent}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-ghost-dark{border:2px solid var(--navy);color:var(--navy);background:#fff}
.btn-outline-navy{border:2px solid var(--navy);color:var(--navy);background:transparent}
.btn-outline-navy:hover{background:var(--navy);color:#fff}
.hero{position:relative;overflow:hidden;color:var(--ink);padding:3.5rem 0 2.5rem;
  background:radial-gradient(circle at 20% 20%,rgba(0,158,154,.12),transparent 55%),radial-gradient(circle at 85% 15%,rgba(240,138,36,.12),transparent 45%),var(--bg-main)}
/* Marca vértice al sur: caras y puntos con los colores del logo */
.hero-mark{position:absolute;right:-4%;top:6%;width:min(58vw,300px);height:auto;opacity:.35;pointer-events:none;filter:drop-shadow(0 14px 22px rgba(11,37,69,.15))}
@media(min-width:768px){.hero-mark{right:6%;top:50%;transform:translateY(-48%);width:min(26vw,340px);opacity:.9}}
.hero .container{position:relative;z-index:1}
.hero-kicker{color:var(--sea);font-size:1.5rem;font-weight:700;letter-spacing:.02em;margin-bottom:1rem}
.hero h1{font-size:clamp(2.1rem,7.5vw,3.9rem);font-weight:800;margin-bottom:1.1rem}
.hero-lead{font-size:1.15rem;color:var(--muted);max-width:40rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(11,37,69,.12)}
.stats dt{font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(1.25rem,5vw,2rem);font-weight:800;color:var(--navy2)}
.stats dd{margin:0;font-size:.9rem;color:var(--muted);line-height:1.35}
@media(min-width:768px){.hero{padding:6rem 0 3.5rem}}
.section{padding:3.5rem 0}
.section-alt{background:var(--sand)}
.section-navy{background:var(--navy);color:#e6eefb}
.section-navy h2{color:#fff}
.lead-light{color:#c9d8ee;font-size:1.1rem}
.prose{color:var(--muted);max-width:42rem}
.prose p{margin-bottom:1rem}
@media(min-width:992px){.section{padding:5.5rem 0}}
.ev-list{display:grid;grid-template-columns:1fr;gap:1rem;margin:0;padding:0}
@media(min-width:768px){.ev-list{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
.ev-list li[hidden]{display:none}
.ev{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #e3dfd4;border-radius:.6rem;overflow:hidden;text-decoration:none;color:var(--ink)}
a.ev:hover{border-color:var(--amber);box-shadow:0 6px 18px rgba(11,37,69,.14)}
.ev-logo{display:flex;align-items:center;justify-content:center;height:150px;padding:1rem;background:#fff;border-bottom:1px solid #eee9dd}
.ev-logo img{max-width:100%;max-height:100%;object-fit:contain}
.ev-logo.empty{background:var(--sand)}
.ev-logo.empty{background:#fff url(../img/logo_mark.svg) center/auto 45% no-repeat}
.ev-logo.empty img{display:none}
.ev-body{display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1.1rem 1.1rem}
.ev-year{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;color:var(--sea);font-size:1.1rem}
.ev-name{font-weight:500;line-height:1.35;font-size:.98rem}
.ev-date{font-weight:400;line-height:1.35;font-size:.8rem}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0}
.chips li{padding:.55rem 1rem;border-radius:999px;background:var(--sand);border:1px solid #e3dfd4;font-weight:500;color:var(--navy)}
.card-form{background:#fff;color:var(--ink);padding:1.5rem;border-radius:.9rem}
.form-label{font-weight:700;font-size:.95rem}
.form-control,.form-select{min-height:48px;font-size:1rem}
#formMsg{min-height:1.4em;color:var(--muted)}
#formMsg.err{color:#b3261e;font-weight:700}
.contact-logo{display:inline-block;background:#fff;border-radius:.9rem;padding:.6rem .9rem;margin-top:1.5rem;box-shadow:0 8px 22px rgba(0,0,0,.22);line-height:0}
.contact-logo img{display:block;height:64px;width:auto}
.contact-line{display:flex;align-items:center;gap:.55rem}
a.btn.contact-line{justify-content:flex-start;display:inline-flex}
.ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
a.btn .ico{fill:currentColor;stroke:none;width:16px;height:16px}
.footer{background:#071a33;color:#aab8cf;padding:2rem 0}
.footer a{color:#dbe6f5}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:1040;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom,0px));background:#fff;box-shadow:0 -4px 16px rgba(0,0,0,.12)}
@media(min-width:768px){.sticky-cta{display:none}body{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
