@font-face{font-family:Archivo;src:url(../fonts/archivo-latin-wdth-normal.woff2) format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Manrope;src:url(../fonts/manrope-variable.woff2) format('woff2');font-weight:400 800;font-display:swap}
:root{scroll-behavior:smooth}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font:500 16px/1.5 Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Archivo,Arial,sans-serif;line-height:.95;letter-spacing:-.055em;font-weight:900}h2{font-size:clamp(3.2rem,7vw,7rem)}.smallcaps{font-size:.68rem;line-height:1.3;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.skip{position:fixed;top:-70px;left:10px;z-index:100;padding:9px;background:#fff}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:13px 22px;border:1px solid transparent;border-radius:0;color:white;font-weight:800;text-align:center;line-height:1.2;text-decoration:none;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button--red{background:var(--red)}.button--navy{background:var(--navy)}.textlink{border:0;background:none;font-weight:800;text-decoration:underline;text-underline-offset:5px}.section{padding:clamp(65px,9vw,135px) max(22px,calc((100vw - 1220px)/2))}
.opener{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;background:linear-gradient(#142b4544,#142b45b0),url(../img/ballpark.webp) center 48%/cover}.opener__card{width:min(88vw,450px);background:var(--paper);box-shadow:0 20px 75px #10243891;text-align:center}.opener__top{position:relative;padding:30px 23px 24px;border:10px solid var(--navy);border-bottom:0}.opener__top:before,.opener__top:after{content:'';position:absolute;width:34px;height:34px;border-radius:50%;background:#738673;top:54%;opacity:.25}.opener__top:before{left:-26px}.opener__top:after{right:-26px}.opener__top h2{font-size:clamp(3rem,7vw,4.8rem);margin:16px 0 8px}.opener__top h2 em{display:block;font-style:normal;color:var(--red)}.opener__top p:last-child{max-width:27ch;margin:0 auto}.opener__ball{display:block;margin:10px auto 0;color:var(--red);font-size:1.9rem;line-height:1}.opener__stub{display:flex;justify-content:space-between;gap:10px;margin:0 10px;padding:13px 16px;border-top:2px dashed var(--red);border-bottom:10px solid var(--navy);font-size:.63rem;font-weight:800;letter-spacing:.09em;text-align:left}.opener .button{margin:19px auto 23px}.opener__skip{position:absolute;bottom:20px;right:20px;background:#fffae9e6;border:0;padding:7px 10px;text-decoration:underline;font-size:.75rem}.js:not(.entered) .topbar,.js:not(.entered) main,.js:not(.entered) .footer{visibility:hidden}.entered .opener,html:not(.js) .opener{display:none}.opening .opener__stub{animation:stubTear 1.4s ease-in both}.opening .opener__ball{animation:diamondRun 1.4s ease-in-out both}.opening .opener__card{animation:ticketOut 1.65s ease-in both}@keyframes stubTear{35%{transform:translateY(0) rotate(0)}to{transform:translate(28px,120px) rotate(17deg);opacity:0}}@keyframes diamondRun{25%{transform:translate(38px,-22px)}50%{transform:translate(60px,20px)}75%{transform:translate(20px,40px)}to{transform:translate(0,0);opacity:0}}@keyframes ticketOut{70%{opacity:1}to{transform:translateY(-28px) scale(1.035);opacity:0}}
.topbar{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:8px max(22px,calc((100vw - 1220px)/2));background:var(--paper);border-bottom:2px solid var(--navy)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font:900 .86rem Archivo,sans-serif;letter-spacing:.04em}.brand__diamond{display:block;width:17px;height:17px;transform:rotate(45deg);border:3px solid var(--red)}.topbar nav{display:flex;gap:clamp(12px,3vw,32px)}.topbar nav a{font-size:.74rem;font-weight:800;text-decoration:none}.topbar nav a:hover{text-decoration:underline}.topbar #musica{border:0;background:none;font-size:.75rem;text-decoration:underline}
.hero{display:grid;grid-template-columns:minmax(0,47%) minmax(0,53%);background:var(--paper);min-height:790px}.hero__art{position:relative;overflow:hidden;min-height:650px;background:#a4b498}.hero__art img{width:100%;height:100%;object-fit:cover;object-position:center}.hero__artnote{position:absolute;bottom:16px;left:18px;background:#fff9e9d9;padding:5px 8px;font-size:.54rem;font-weight:800;letter-spacing:.08em}.hero__card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:55px clamp(30px,6vw,92px);border-left:14px solid var(--red);background:repeating-linear-gradient(180deg,transparent 0 14px,#142b4507 15px 16px),var(--paper)}.hero__card:before{content:'';position:absolute;top:24px;right:26px;width:48px;height:48px;border:3px solid var(--navy);transform:rotate(45deg);opacity:.1}.hero__edition{color:var(--red);margin-bottom:15px}.hero__score{display:flex;gap:12px;align-items:end;margin:0 0 15px}.hero__initial{display:grid;place-items:center;width:52px;height:52px;border:3px solid var(--navy);font:900 2.3rem Archivo,sans-serif}.hero__age{font:900 3rem/.9 Archivo,sans-serif;color:var(--red)}.hero__age small{display:block;margin-top:5px;font:.7rem Manrope,sans-serif;letter-spacing:.12em}.hero h1{font-size:clamp(4rem,6.2vw,7.8rem);margin:0 0 17px;max-width:9ch;text-transform:uppercase}.hero h1 span,.hero h1 em{display:block;font-style:normal}.hero h1 span{color:var(--red)}.hero h1 em{font-weight:600;letter-spacing:-.07em}.hero__message{max-width:37ch;margin-bottom:20px}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:28px}.hero__date{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero__date b{color:var(--red)}
.intro{text-align:center;position:relative;background:var(--navy);color:var(--paper);overflow:hidden}.intro h2{max-width:880px;margin:20px auto}.intro h2 span{color:#d8a08a}.intro>p:not(.smallcaps){max-width:55ch;margin:auto}.intro__stitch{width:min(700px,80vw);height:2px;margin:35px auto 0;background:repeating-linear-gradient(90deg,#f4ecdc 0 9px,transparent 9px 17px)}
.lineup{background:#e4e8db}.section__heading{max-width:760px}.section__heading h2{margin-bottom:20px}.lineup__body{display:grid;grid-template-columns:360px 1fr;gap:6%;align-items:center;margin-top:48px}.diamond{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:170px 170px;gap:8px}.diamond__field{position:absolute;inset:9% 20%;transform:rotate(45deg);border:12px solid #669476;background:#7ea57f;box-shadow:inset 0 0 0 2px #d9e4d5}.diamond__path{position:absolute;inset:22%;border:3px dashed #fff9e5}.diamond__mound{position:absolute;top:45%;left:45%;width:10%;height:10%;border-radius:50%;background:#d7b69c}.diamond button{position:relative;z-index:1;align-self:center;justify-self:center;display:grid;place-items:center;gap:4px;width:105px;min-height:87px;padding:7px;border:2px solid var(--navy);background:var(--paper);font-weight:800;font-size:.72rem;box-shadow:5px 5px 0 #142b4533}.diamond button:nth-of-type(1){grid-column:1;grid-row:2}.diamond button:nth-of-type(2){grid-column:2;grid-row:1}.diamond button:nth-of-type(3){grid-column:2;grid-row:2}.diamond button[aria-selected=true]{background:var(--red);color:white}.diamond button span{font:900 2rem Archivo,sans-serif}.lineup__panels{padding:35px 42px;background:var(--paper);border-top:8px solid var(--navy);min-height:270px}.lineup__panels article[hidden]{display:none}.inning{display:flex;gap:22px}.inning__number{font:900 clamp(4rem,7vw,6.5rem)/.9 Archivo,sans-serif;color:var(--red)}.inning small{font-weight:800;letter-spacing:.15em}.inning h3{font-size:clamp(2.5rem,4vw,4rem);margin:10px 0}.lineup__note{font-size:.77rem;margin:26px 0 0}
.ballpark{display:grid;grid-template-columns:1.1fr .7fr;gap:7%;align-items:center;background:var(--paper)}.ballpark__ticket{background:var(--cream);box-shadow:13px 13px 0 #142b4523;border:2px solid var(--navy)}.ballpark__bar{display:flex;justify-content:space-between;padding:14px 24px;background:var(--navy);color:white;font-size:.72rem;font-weight:800;letter-spacing:.13em}.ballpark__body{padding:clamp(28px,5vw,70px)}.ballpark h2{margin:14px 0 35px}.ballpark dl{margin:0 0 25px}.ballpark dl div{display:grid;grid-template-columns:75px 1fr;gap:15px;padding:14px 0;border-top:1px solid #9aa99c}.ballpark dt{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.ballpark dd{margin:0;font-weight:800}.ballpark dd small{display:block;font-weight:500}.ballpark__note{font-size:.78rem;max-width:50ch}.ballpark__motif{height:390px;position:relative}.ballpark__field{position:absolute;top:20%;left:15%;width:250px;height:250px;transform:rotate(45deg);border:22px solid var(--grass);box-shadow:inset 0 0 0 3px #b4c6ab;background:#dbe6cf}.ballpark__base{position:absolute;top:42%;left:37%;font:900 6rem Archivo,sans-serif;color:var(--red)}
.countdown{text-align:center;background:var(--red);color:white}.cuenta{display:flex;justify-content:center;gap:clamp(10px,5vw,68px)}.cuenta span{display:grid}.cuenta strong{font:900 clamp(2.5rem,7vw,6.5rem)/1 Archivo,sans-serif}.cuenta small{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.rsvp{display:grid;grid-template-columns:.8fr 1fr;gap:8%;background:var(--cream)}.rsvp h2{margin:18px 0 25px}.rsvp__intro>p:not(.smallcaps){max-width:34ch}.rsvp__stamp{display:grid;place-items:center;width:190px;height:190px;border:6px double var(--red);border-radius:50%;transform:rotate(-10deg);margin:60px 0;color:var(--red)}.rsvp__stamp b{font:900 5rem/.8 Archivo,sans-serif}.rsvp__stamp small{font-size:.58rem;font-weight:800;letter-spacing:.1em}.rsvp__form{padding:clamp(24px,4vw,50px);background:var(--paper);border:2px solid var(--navy)}.guest-label{font:900 1.7rem Archivo,sans-serif;text-transform:uppercase}.rsvp__form form>label,.attending-fields label{display:grid;gap:8px;margin:18px 0;font-size:.78rem;font-weight:800}.rsvp__form input:not([type=radio]):not([type=checkbox]),.rsvp__form textarea,.rsvp__form select{width:100%;min-height:46px;padding:10px;border:1px solid #7f9488;background:white;color:var(--navy)}.rsvp__form fieldset{border:0;padding:0;margin:20px 0}.rsvp__form legend{font-weight:800;margin-bottom:10px}.choice{display:block;margin:7px 0;padding:12px;border:1px solid #7f9488;background:#fff}.choice:has(input:checked){border-color:var(--red);box-shadow:inset 4px 0 var(--red)}.choice input{margin-right:8px}.check{display:flex!important;gap:9px!important;align-items:flex-start}.privacy{font-size:.74rem}.rsvp__form [hidden]{display:none!important}#form-status{color:#a3382d;font-weight:800}.notice{border-left:4px solid var(--red);padding:10px;background:#fff}#confirmado h3{font-size:2.9rem}#confirmado .textlink{display:block;margin-top:15px}
.dugout{background:var(--navy);color:var(--paper)}.dugout__head{max-width:730px}.dugout h2{margin:20px 0}.dugout__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:50px}.dugout__grid>div{background:#23415a;padding:30px}.dugout h3{font-size:2.3rem}.dugout ul{list-style:none;padding:0}.dugout li{border-bottom:1px solid #f4ecdca0;padding:10px 0}.dugout blockquote{margin:0 0 14px;padding:15px;background:#163751;border-left:4px solid #d8a08a}.dugout blockquote p{margin:0}.dugout cite{font-size:.76rem}.footer{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:34px max(22px,calc((100vw - 1220px)/2));background:#0e2135;color:white;font-size:.76rem}.footer p{margin:0}.footer strong{font-family:Archivo,sans-serif}.footer strong span{color:#dfaa9a}
#ingreso{border:0;padding:0;max-width:95vw;max-height:95vh;background:transparent}#ingreso::backdrop{background:#091c2cdb}.pass-dialog{width:min(90vw,480px);background:var(--paper);padding:20px;text-align:center}.pass-dialog h2{font-size:2.5rem}.pass-dialog #cerrar-ingreso{float:right;border:0;background:none;font-size:2rem;line-height:1}#ticket-canvas{width:min(100%,300px);height:auto;display:block;margin:0 auto 14px}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero__art{min-height:0;height:45vw}.hero__card{min-height:530px}.lineup__body,.ballpark,.rsvp{grid-template-columns:1fr}.ballpark__motif{display:none}.rsvp__stamp{display:none}}
@media(max-width:600px){.topbar{min-height:58px}.topbar nav{gap:12px}.topbar nav a{font-size:.64rem}.topbar nav a:first-child{display:none}.brand{font-size:.72rem}.hero__art{height:28svh;min-height:176px;max-height:218px}.hero__art img{object-position:center 54%}.hero__artnote{font-size:.45rem;bottom:9px;left:9px}.hero__card{min-height:0;padding:19px 20px 30px;border-left-width:8px}.hero__edition{font-size:.55rem;margin-bottom:6px}.hero__score{margin:0 0 8px;gap:8px}.hero__initial{width:38px;height:38px;font-size:1.65rem;border-width:2px}.hero__age{font-size:2.2rem}.hero__age small{font-size:.52rem}.hero h1{font-size:clamp(3.15rem,12.5vw,4.65rem);line-height:.89;margin:0 0 8px}.hero__message{font-size:.82rem;line-height:1.35;margin:0 0 9px}.hero__actions{gap:10px;margin:0 0 10px}.hero__actions .button{min-height:42px;padding:9px 13px;font-size:.76rem}.hero__actions .textlink{font-size:.7rem}.hero__date{font-size:.58rem;line-height:1.3}.opener__top{padding:18px 18px 14px}.opener__top h2{font-size:3.2rem;margin:8px 0}.opener__top p:last-child{font-size:.84rem}.opener__stub{padding:9px 11px}.opener .button{margin:13px auto 15px}.lineup__body{gap:20px}.diamond{width:min(100%,330px);margin:auto;grid-template-rows:130px 130px}.diamond button{width:86px;min-height:70px}.lineup__panels{padding:24px;min-height:225px}.inning__number{font-size:3.7rem}.inning h3{font-size:2.5rem}.dugout__grid{grid-template-columns:1fr}.ballpark__body{padding:24px}.ballpark h2{font-size:3.6rem}.rsvp__form{padding:20px}}
@media(max-height:700px) and (max-width:600px){.opener__top{padding:12px 16px 8px}.opener__top h2{font-size:2.7rem}.opener__ball{margin:3px auto 0}.opener .button{margin:9px auto 12px}.hero__art{height:25svh;min-height:160px}.hero h1{font-size:clamp(2.9rem,11.8vw,4.1rem)}.hero__card{padding-top:15px}.hero__message{font-size:.78rem}}
html:not(.js) .lineup__panels{display:block}html:not(.js) .lineup__panels article+article{border-top:1px solid #c9d2c3;padding-top:18px;margin-top:18px}html:not(.js) .diamond{display:none}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:600px){.hero{min-height:0}.hero__card{justify-content:flex-start}.hero h1{font-size:clamp(2.3rem,11vw,4.2rem)}}
@media(max-width:600px){.lineup__body,.lineup__panels,.diamond{min-width:0}.diamond{width:100%;max-width:330px}}
@media(max-width:420px){.inning{display:block}.inning__number{display:block;font-size:2.7rem;margin-bottom:8px}.inning h3{font-size:2.15rem;overflow-wrap:anywhere}}
/* From home plate: first base right, second above, third left. DOM/tab order stays 1→2→3. */
.diamond{display:block;height:340px}.diamond__field{inset:auto;left:21%;top:21%;width:58%;height:auto;aspect-ratio:1}.diamond:after{content:'';position:absolute;bottom:1%;left:calc(50% - 8px);width:16px;height:16px;transform:rotate(45deg);background:var(--paper);border:2px solid var(--red)}.diamond button{position:absolute;align-self:auto;justify-self:auto}.diamond button:nth-of-type(1){grid-column:auto;grid-row:auto;right:0;top:51%}.diamond button:nth-of-type(2){grid-column:auto;grid-row:auto;left:50%;top:0;transform:translateX(-50%)}.diamond button:nth-of-type(3){grid-column:auto;grid-row:auto;left:0;top:51%}
@media(max-width:600px){.diamond{height:260px}.diamond__field{left:25%;top:18%;width:50%}}
@keyframes diamondRun{25%{transform:translate(52px,-18px)}50%{transform:translate(0,-55px)}75%{transform:translate(-52px,-18px)}to{transform:translate(0,0);opacity:0}}
