@import url('assets/fonts/fonts.css');

:root{color-scheme:dark;--navy:#001447;--header:#001448;--cyan:#009fda;--blue:#154897;--white:#fff;--page-width:1920px;font-family:'Saira Semi Condensed',Arial,sans-serif;background:var(--navy);color:var(--white);font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
a{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
img{display:block;max-width:100%;height:auto}
.landing{position:relative;max-width:var(--page-width);margin-inline:auto;overflow:hidden}
html.modal-open{overflow:hidden}
.header{height:min(5.2vw,99.84px);padding:0 2.6% 0 3.85%;display:flex;align-items:center;justify-content:space-between;background:var(--header)}
.brand{display:block;flex-shrink:0;width:9.8%;transition:opacity .2s ease}
.brand:hover{opacity:.8}
.header-title{text-align:left}
.header-title h1{font-size:min(1.9vw,36.48px);font-weight:700;line-height:1.02;margin:0;letter-spacing:0}
.header-title p{font-family:Roboto,Arial,sans-serif;font-size:clamp(11px,.94vw,18.05px);line-height:1.3;margin:0;color:var(--cyan)}
.video-section{position:relative;background:var(--navy)}
.video-player{position:relative;width:100%;aspect-ratio:1920 / 1025.14;background:#000;isolation:isolate;overflow:hidden}
.video-cover{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:var(--navy);cursor:pointer;color:#fff}
.video-poster{display:block;width:100%;height:100%;object-fit:cover;object-position:50% var(--loop-focus,40%)}
.video-shade{position:absolute;inset:0;background:rgba(7,34,77,.4);transition:background .25s ease}
.play-icon{position:absolute;top:48%;left:50%;width:4.4%;height:auto;transform:translate(-50%,-50%);opacity:.76;filter:drop-shadow(0 2px 14px #00144733);transition:transform .25s ease,opacity .25s ease}
.video-cover:hover .video-shade{background:rgba(7,34,77,.28)}
.video-cover:hover .play-icon{transform:translate(-50%,-50%) scale(1.08);opacity:1}
.scroll-cue{position:absolute;left:50%;bottom:min(1.6vw,30px);z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-22px;color:#fff;opacity:.85;animation:cue 2.2s ease-in-out infinite;transition:opacity .2s ease}
.scroll-cue:hover{opacity:1}
.scroll-cue svg{width:26px;height:auto;filter:drop-shadow(0 2px 6px #0008)}
@keyframes cue{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
.video-modal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:16px;border:0;background:transparent;color:#fff;overflow:hidden}
.video-modal[open]{display:flex;align-items:center;justify-content:center;animation:modal-in .25s ease}
.video-modal::backdrop{background:rgba(0,12,45,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
/* El video conserva 16:9 y entra completo en la ventana, con lugar para el botón Cerrar. */
.video-modal-inner{width:min(100%,1600px,calc((100vh - 120px) * 16 / 9));width:min(100%,1600px,calc((100svh - 120px) * 16 / 9));display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.video-modal-close{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px 0 14px;border:0;border-radius:100px;background:transparent;color:#fff;font:600 16px/1 'Saira Semi Condensed',Arial,sans-serif;letter-spacing:.02em;cursor:pointer;transition:background-color .2s ease}
.video-modal-close:hover{background:#ffffff26}
.video-modal-close svg{width:32px;height:32px;padding:6px;border:1.5px solid #fff;border-radius:50%}
.video-modal-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:min(1vw,14px);overflow:hidden;background:#000;box-shadow:0 20px 70px #0009}
.video-modal-frame iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#000}
@keyframes modal-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.story{position:relative;overflow:hidden;background:linear-gradient(to bottom,var(--navy) 0%,var(--navy) 33%,var(--blue) 71%,var(--blue) 100%)}
.anniversary{position:relative;isolation:isolate;text-align:center;padding-top:min(4.35vw,83.5px)}
.pattern{position:absolute;pointer-events:none;z-index:-1;background-image:url('assets/pattern-luz.webp');background-repeat:no-repeat;background-size:100% 100%}
.pattern-left{width:37.315%;aspect-ratio:2/3;top:max(-14.91vw,-286.26px);left:-9.988%;transform:scaleX(-1)}
.anniversary-logo{width:16%;margin-inline:auto}
.intro-copy{position:relative;margin:min(4.62vw,88.7px) auto 0;font-size:min(1.68vw,32.26px);font-weight:600;line-height:1.312;max-width:90%;text-shadow:0 3px 8px #0005}
.intro-copy p{margin:0}
.intro-copy p+p{margin-top:min(3.1vw,59.52px)}
.event-action{position:relative;margin-top:min(5.39vw,103.5px);display:flex;flex-direction:column;align-items:center}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;line-height:1.2}
.button-event{min-height:min(4.4vw,84.48px);padding:min(1vw,19.2px) min(3.2vw,61.44px);border:2px solid var(--cyan);border-radius:100px;background:var(--cyan);font:700 min(1.75vw,33.6px)/1.2 Roboto,Arial,sans-serif}
.button-event[href]:hover{background:#008fcb;transform:translateY(-2px);box-shadow:0 8px 24px #0003}
.impact{padding:min(9.45vw,181.44px) 2.22% min(4.53vw,87px);text-align:center}
.event-copy{font-size:clamp(15px,1.6vw,30.72px);line-height:1.532;font-weight:600;margin:0 auto;text-shadow:0 3px 8px #0003}
.impact h2{color:var(--cyan);font-size:min(2.35vw,45.12px);line-height:1.3;font-weight:600;margin:min(5.23vw,100.4px) 0 min(2.53vw,48.6px)}
.report-card{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:3.2%;text-align:left;min-height:min(36.08vw,692.8px);padding:5.1%;border:2px solid var(--cyan);border-radius:min(3.2vw,61.4px);background:var(--navy)}
.pattern-right{width:31%;aspect-ratio:2/3;right:-1%;top:50%;transform:translateY(-50%)}
.report-image-link{display:block;width:44.5%;flex-shrink:0;transition:transform .25s ease}
.report-image-link:hover{transform:translateY(-3px)}
.report-image-link img{width:100%}
.report-copy{position:relative;padding-bottom:1%}
.report-copy h3{font-size:min(2.25vw,43.2px);font-weight:500;line-height:1.031;margin:0 0 min(2vw,38.4px)}
.button-download{min-height:44px;padding:min(.8vw,15px) min(2.25vw,43px);border:1.5px solid var(--cyan);border-radius:100px;color:var(--cyan);font-size:max(13px,min(1.02vw,19.58px));font-weight:600}
.button-download:hover{background:var(--cyan);color:var(--navy);transform:translateY(-2px)}
.footer{padding:min(2.6vw,49.92px) 5.15%;display:flex;align-items:center;justify-content:space-between;gap:4%;background:#011547}
.footer-brand{width:14%}
.footer p{text-align:center;font-size:clamp(14px,1.22vw,23.42px);font-weight:500;line-height:1.192;margin:0;text-shadow:0 3px 8px #0005}
.social-links{display:flex;align-items:center;gap:min(1.1vw,21.12px)}
.social-links a{display:flex;align-items:center;justify-content:center;width:min(2.6vw,49.92px);height:min(2.6vw,49.92px);min-width:44px;min-height:44px;transition:color .2s ease,transform .2s ease}
.social-links a:hover{color:var(--cyan);transform:translateY(-3px)}
.social-links svg{width:clamp(30px,2.6vw,49.92px);height:clamp(30px,2.6vw,49.92px)}
:focus-visible{outline:3px solid #fff;outline-offset:6px}
.video-cover:focus-visible{outline-offset:-8px;z-index:2}
.skip-link{position:fixed;z-index:10;left:16px;top:12px;padding:12px 18px;background:#fff;color:var(--navy);font-family:Roboto,Arial,sans-serif;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.noscript-video{padding:16px;margin:0;text-align:center}
@media(min-width:1921px){.landing{box-shadow:0 0 100px #0003}}
/* Escritorio: el header va sobre el video y la portada deja asomar la sección siguiente. */
@media(min-width:768px){
  .header{position:absolute;top:0;left:0;right:0;z-index:3;height:min(7.4vw,142px);padding-bottom:min(2vw,38.4px);background:linear-gradient(to bottom,rgba(0,20,72,.94) 0%,rgba(0,20,72,.8) 45%,rgba(0,20,72,.35) 80%,rgba(0,20,72,0) 100%);pointer-events:none}
  .header-title{text-shadow:0 1px 6px rgba(0,20,72,.9)}
  .header a{pointer-events:auto}
  .video-player{max-height:90vh;max-height:90svh}
}
@media(max-width:767px){
  .header{height:auto;min-height:54px;padding:8px 5%;gap:16px}
  .brand{width:92px}
  .header-title h1{font-size:clamp(16px,3.5vw,22px);line-height:1.1}
  .header-title p{font-size:clamp(11px,1.9vw,13px);max-width:215px;line-height:1.4}
  .play-icon{width:8%}
  .scroll-cue{display:none}
  .story{background:linear-gradient(to bottom,var(--navy) 0%,var(--navy) 37%,var(--blue) 76%)}
  .anniversary{padding:44px 24px 0}
  .anniversary-logo{width:172px}
  .pattern-left{width:300px;top:-65px;left:-148px;opacity:.65}
  .intro-copy{max-width:580px;margin-top:34px;font-size:clamp(16px,2.7vw,20px);line-height:1.45;text-wrap:pretty}
  .intro-copy p+p{margin-top:25px}
  .desktop-break{display:none}
  .event-action{margin-top:36px}
  .button-event{font-size:clamp(15px,2.6vw,18px);padding:13px 24px;min-height:48px}
  .impact{padding:84px 5% 40px}
  .event-copy{max-width:580px;font-size:clamp(16px,2.7vw,20px);line-height:1.5;text-wrap:pretty}
  .impact h2{font-size:clamp(21px,4vw,28px);line-height:1.17;margin:40px auto 28px;max-width:530px;text-wrap:balance}
  .report-card{flex-direction:column;align-items:stretch;gap:28px;padding:28px 24px 34px;border-radius:30px;min-height:0}
  .report-image-link{width:100%;max-width:520px;margin-inline:auto}
  .report-copy{padding:0;z-index:1}
  .report-copy h3{font-size:26px;line-height:1.07;margin-bottom:24px}
  .pattern-right{width:260px;right:-72px;top:auto;bottom:-20px;transform:none;opacity:.8}
  .button-download{padding:12px 25px;min-height:44px;font-size:13px;background:var(--navy)}
  .footer{padding:26px 25px;flex-wrap:wrap;justify-content:center;gap:18px}
  .footer-brand{width:136px}
  .footer p{font-size:15px;line-height:1.35;flex-basis:100%;order:3;max-width:430px}
  .social-links{gap:10px;margin-left:auto}
  .social-links a{width:44px;height:44px}
  .social-links svg{width:28px;height:28px}
}
@media(max-width:360px){.header{gap:14px}.brand{width:86px}.header-title h1{font-size:16px}.header-title p{font-size:11px}.anniversary{padding-inline:20px}.button-event{padding-inline:20px;font-size:15px}.footer-brand{width:120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
