:root{--imperial:#9D0000;--cream:#F4DAB6;--terracotta:#C58B58;--coffee:#493025;--ivory:#FFF7EA}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;place-items:center;padding:clamp(20px,5vw,80px);background:radial-gradient(ellipse at 50% 0%,var(--ivory),var(--cream));color:var(--ivory);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--cream);outline-offset:5px}
.launch-card{isolation:isolate;position:relative;overflow:hidden;width:min(1320px,100%);min-height:min(740px,85svh);border:7px solid var(--ivory);border-radius:24px;background:var(--coffee);box-shadow:0 35px 65px -25px #49302570;display:flex;flex-direction:column}.launch-card:before{content:'';position:absolute;inset:0;z-index:-2;background:url('../assets/jova-fondo.png') right center/cover no-repeat}.launch-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#20130f99,#28161166 35%,#180e0b88 66%,#180e0bef)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:clamp(24px,4.2vw,60px) clamp(24px,6vw,90px)}.brand{display:flex;align-items:center;gap:12px;font-size:clamp(25px,2.8vw,36px);font-weight:800;letter-spacing:-1.5px}.brand svg{width:25px;height:44px;filter:brightness(0) invert(1)}.brand>span{color:var(--terracotta);margin-left:-10px}.essence-button{border:1px solid #fff7ea20;border-radius:5px;background:var(--imperial);color:var(--ivory);padding:17px 23px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.essence-button:hover{background:#ba1610;transform:translateY(-2px)}
.hero{text-align:center;padding:55px 20px 75px;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.overline{font-size:9px;letter-spacing:.25em;color:var(--cream);margin:0 0 22px}h1{font:400 clamp(58px,8.5vw,118px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.055em;margin:0;text-shadow:0 4px 40px #0002}.launch-note{margin:22px 0 0;color:var(--cream);font-size:10px;font-weight:700;letter-spacing:.22em}.description{margin:23px 0 0;font-size:12px;line-height:1.9;color:#fff7eac0}
.bottom-bar{display:flex;align-items:end;justify-content:space-between;gap:45px;padding:0 clamp(24px,6vw,90px) clamp(30px,5vw,65px)}#countdown-title{font-size:12px;font-weight:600;margin:0 0 21px;color:var(--cream)}.countdown{display:flex;gap:30px}.countdown>div{min-width:44px}.countdown b{display:block;font-size:36px;line-height:1;font-variant-numeric:tabular-nums}.countdown small{display:block;font-size:10px;margin-top:10px;color:#fff7eaaf}.brand-message{max-width:360px;min-width:210px}.brand-message p{font-size:13px;margin:0 0 18px;line-height:1.7}.brand-message em{font:italic 19px Georgia,serif;color:var(--cream);white-space:nowrap}.brand-message small{font-size:8px;letter-spacing:.1em;color:#fff7eaa3;display:flex;justify-content:space-between;gap:25px;border-top:1px solid #fff7ea25;padding-top:14px}.brand-message small span{color:var(--cream)}
dialog{border:1px solid var(--cream);border-radius:15px;background:var(--ivory);color:var(--coffee);padding:48px;width:min(460px,90vw);box-shadow:0 25px 100px #0005}dialog::backdrop{background:#241610b0;backdrop-filter:blur(5px)}#close-essence{position:absolute;top:12px;right:15px;border:0;background:none;color:var(--coffee);font-size:27px}.dialog-kicker{font-size:9px;letter-spacing:.22em;color:var(--imperial);font-weight:700}h2{font:400 37px/1.15 Georgia,serif;letter-spacing:-1.5px;margin:22px 0}dialog>p:not(.dialog-kicker){font-size:13px;line-height:1.9}
@media(max-width:760px){body{padding:20px}.launch-card{min-height:calc(100svh - 40px);border-width:5px;border-radius:18px}.topbar{padding:24px}.essence-button{padding:12px 14px;font-size:10px}.hero{padding:65px 18px 55px}h1{font-size:clamp(48px,10vw,78px)}.overline{font-size:7px;letter-spacing:.16em}.launch-note{font-size:8px;letter-spacing:.15em}.bottom-bar{padding:0 26px 30px;align-items:start;flex-direction:column;gap:32px}.countdown{gap:25px}.countdown b{font-size:31px}.brand-message{max-width:none;width:100%}.brand-message p{font-size:12px;margin-bottom:11px}.brand-message em{font-size:17px}.launch-card:before{background-position:right center}}@media(prefers-reduced-motion:reduce){.essence-button{transition:none}}

/* Movimiento lento del fondo ilustrado, independiente del texto. */
.launch-card::before{transform-origin:82% 52%;animation:pastoral-drift 26s ease-in-out infinite alternate;will-change:transform}
@keyframes pastoral-drift{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.065) translateY(-.7%)}}
@media(prefers-reduced-motion:reduce){.launch-card::before{animation:none;transform:none;will-change:auto}}

/* Portada a pantalla completa. */
body{padding:0;background:var(--coffee)}
.launch-card{width:100%;min-height:100svh;border:0;border-radius:0;box-shadow:none}
@media(max-width:760px){body{padding:0}.launch-card{min-height:100svh;border:0;border-radius:0}}

.brand-message{max-width:440px}
.social-row{display:flex;align-items:center;gap:17px;margin:0 0 18px;color:var(--ivory)}
.social-row strong{font-size:13px;font-weight:600;margin-right:4px}
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}
.social-icon svg{width:17px;height:17px;fill:currentColor}
.social-icon[aria-label^="Instagram"] svg{fill:none;stroke:currentColor;stroke-width:1.8}
.social-icon .icon-dot{fill:currentColor;stroke:none}
.brand-message .copyright{font-size:10px;line-height:1.7;letter-spacing:.025em;color:#fff7eab3;margin:0}
@media(max-width:760px){.social-row{margin-top:4px;margin-bottom:15px}.brand-message{max-width:none}}

.brand .jova-wordmark{width:145px;height:75px;filter:none;display:block;overflow:hidden}
@media(max-width:760px){.brand .jova-wordmark{width:115px;height:60px}}

.brand .jova-cross{width:25px;height:44px;filter:brightness(0) invert(1);flex:none}
.brand .jova-wordmark{width:100px;height:52px;filter:none;flex:none}
@media(max-width:760px){.brand .jova-wordmark{width:85px;height:44px}}

.brand .jova-cross{width:44px;height:74px}
.brand .jova-wordmark{width:85px;height:44px}
@media(max-width:760px){.brand .jova-cross{width:36px;height:61px}.brand .jova-wordmark{width:72px;height:37px}}

.construction{width:340px;max-width:100%}
.construction-title{font-size:14px;font-weight:600;color:var(--cream);margin:0 0 20px}
.construction-track{height:5px;border-radius:12px;background:#fff7ea35;overflow:hidden}
.construction-fill{width:35%;height:100%;border-radius:12px;background:var(--cream);position:relative;overflow:hidden}
.construction-fill::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#fff7ea90,transparent);animation:construction-shimmer 3s ease-in-out infinite}
.construction-note{font-size:11px;line-height:1.6;color:#fff7eaa6;margin:13px 0 0}
@keyframes construction-shimmer{0%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
@media(max-width:760px){.construction{width:100%}}
@media(prefers-reduced-motion:reduce){.construction-fill::after{animation:none}}

/* Rebaño de la animación original, adaptado a la portada. */
.construction-title{margin-bottom:8px}
.sheep-stage{height:100px;position:relative}
.construction .scene{position:absolute;bottom:0;left:0;width:200%;height:175px;transform:scale(.5);transform-origin:left bottom;overflow:visible}
.construction .sheep-window{position:absolute;left:0;bottom:0;height:175px;width:0;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 18px,#000 calc(100% - 65px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 18px,#000 calc(100% - 65px),transparent)}
.construction .flock{position:absolute;left:0;bottom:0;width:1536px;height:166px;animation:sheep-caravan 48s linear infinite;will-change:transform;filter:brightness(0) invert(1)}
.construction .flock>svg{width:100%;height:100%;display:block;overflow:visible}
.construction .lead-pastor{position:absolute;bottom:0;left:0;width:88px;height:166px;transform:translateX(-30px);filter:brightness(0) invert(1);pointer-events:none;overflow:visible}
.construction .walk-sheep{transform-origin:30px 66px;animation:sheep-walk .78s ease-in-out infinite}
.construction .walk-pastor{transform-origin:290px 650px;animation:shepherd-walk 1.1s ease-in-out infinite}
.construction .gait-leg{transform-origin:0 0;animation:sheep-stride var(--gait,.78s) ease-in-out var(--phase,0s) infinite}
.construction .gait-leg.far{animation-delay:calc(var(--phase,0s) - var(--half,.39s))}
.construction .calf{transform-origin:0 10px;animation:sheep-knee var(--gait,.78s) ease-in-out var(--phase,0s) infinite}
.construction .far .calf{animation-delay:calc(var(--phase,0s) - var(--half,.39s))}
.construction .pastor-leg{transform-origin:0 0;animation:shepherd-stride 1.1s ease-in-out infinite}.construction .pastor-leg.far{animation-delay:-.55s}
.construction .sheep-sprite{cursor:pointer;touch-action:manipulation}.construction .sheep-sprite:focus-visible{outline:2px dashed var(--cream)}
.construction .sheep-hop.jumping{animation:sheep-jump .78s ease-in-out}.construction .sheep-hop.nodding{animation:sheep-nod .55s ease-in-out}
@keyframes sheep-caravan{from{transform:translateX(-768px)}to{transform:translateX(0)}}
@keyframes sheep-stride{0%,100%{transform:rotate(-24deg)}50%{transform:rotate(24deg)}}
@keyframes sheep-knee{0%,50%,100%{transform:rotate(0)}75%{transform:rotate(-32deg)}}
@keyframes shepherd-stride{0%,100%{transform:rotate(-24deg)}50%{transform:rotate(24deg) translateY(-2px)}}
@keyframes sheep-walk{0%,50%,100%{transform:translateY(0)}25%,75%{transform:translateY(-1.8px)}}
@keyframes shepherd-walk{0%,50%,100%{transform:translateY(0)}25%,75%{transform:translateY(-4px)}}
@keyframes sheep-jump{0%,100%{transform:translateY(0)}15%{transform:translateY(2px)}45%{transform:translateY(-38px) rotate(-6deg)}70%{transform:translateY(-23px) rotate(3deg)}}
@keyframes sheep-nod{0%,100%{transform:translateY(0)}45%{transform:translateY(-5px) rotate(-4deg)}}
@media(prefers-reduced-motion:reduce){.construction .flock,.construction .walk-sheep,.construction .walk-pastor,.construction .gait-leg,.construction .calf,.construction .pastor-leg,.construction .sheep-hop{animation:none!important}}

/* Evita el recuadro de foco del SVG al interactuar con las ovejas. */
.construction .sheep-sprite,.construction .sheep-sprite:focus,.construction .sheep-sprite:focus-visible{outline:none!important;box-shadow:none}
.construction .sheep-sprite:focus-visible{opacity:.8}

.essence-button{background:transparent;border:0;border-bottom:1px solid #fff7ea65;border-radius:0;box-shadow:none;padding:8px 0;color:var(--ivory);font-size:12px;font-weight:400;letter-spacing:.03em;transition:color .2s,border-color .2s}
.essence-button:hover{background:transparent;transform:none;color:var(--cream);border-color:var(--cream)}
@media(max-width:760px){.essence-button{padding:8px 0;font-size:11px}}

button.brand{border:0;background:transparent;padding:0;color:inherit;cursor:pointer}
button.brand:hover{opacity:.85}

/* Contexto para lectores de pantalla y buscadores sin cambiar el diseño. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
