/* Entrada aprobada: presión continua, pausa y acercamiento vectorial. */
html.origin-entry-locked,html.origin-entry-locked body{overflow:hidden!important;overscroll-behavior:none;scroll-behavior:auto!important}
html.origin-entry-locked #origen{height:100dvh;min-height:0}
#origen{--green:#10281e;--cream:#f4efdc;color:var(--cream);background:var(--green);position:relative;height:100svh;min-height:420px;font-family:Arial,Helvetica,sans-serif}
#origen .stage{position:relative;height:100%;width:100%;overflow:hidden;isolation:isolate;background:var(--green);touch-action:none;user-select:none;-webkit-user-select:none}
#origen .stage.origin-complete{touch-action:pan-y;user-select:auto}
#origen .harvest,#origen .harvest video,#origen .map-layer,#origen .map-wrap,#origen canvas{position:absolute;inset:0;width:100%;height:100%}
#origen .harvest{background:var(--green) url('assets/del-cafetal-al-grano-escritorio.webp') center/cover no-repeat}
#origen .harvest video{object-fit:cover;object-position:center;pointer-events:none}
#origen .harvest::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071b1470,transparent 78%),linear-gradient(0deg,#04171099,transparent 40%);pointer-events:none}
#origen .map-layer{z-index:2;background:radial-gradient(ellipse at 65% 42%,#203d2d 0%,#10281e 67%);will-change:opacity}
#origen .map-layer::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 15vw #06180b55;pointer-events:none}
#origen .map-wrap svg{display:none}
#origen .map-caption{position:absolute;left:9vw;top:43%;max-width:60vw;pointer-events:none}
#origen .place-name{font:400 clamp(62px,8vw,130px)/.97 Georgia,'Times New Roman',serif;letter-spacing:-.055em;margin:0;color:var(--cream)}
#origen .origin-hold{display:block;position:relative;margin:26px 0 0;padding:0 0 12px;border:0;border-bottom:1px solid #d4e7bf33;border-radius:0;background:transparent;color:#d2d8c5;font:400 12px Arial,Helvetica,sans-serif;letter-spacing:.045em;white-space:nowrap;cursor:pointer;pointer-events:auto;touch-action:none}
#origen .origin-hold::after{content:'';position:absolute;height:1px;left:0;bottom:-1px;width:var(--progress,0%);background:#e6d29a}
#origen .origin-hold:focus-visible{outline:2px solid #e4d1a0;outline-offset:7px}
#origen .return-title{z-index:1;position:absolute;left:7%;top:46%;transform:translateY(calc(-50% + var(--title-offset,0px)));opacity:0;pointer-events:none;text-shadow:0 2px 30px #0008}
#origen .eyebrow{font-size:.65rem;letter-spacing:.22em;font-weight:600}
#origen .return-title h2{font:400 clamp(3rem,7vw,7.5rem)/.98 Georgia,serif;letter-spacing:-.045em;margin:1.4rem 0 0}
#origen .return-title h2 em{font-weight:400}
#origen .origin-complete .map-layer{visibility:hidden;pointer-events:none}
#origen .origin-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#origen .origin-skip{position:absolute;left:9vw;top:20px;z-index:5;transform:translateY(-200%);padding:10px;background:#f4efdc;color:#10281e}
#origen .origin-skip:focus{transform:none}
#origen .origin-error{position:absolute;left:9vw;bottom:10%;font-size:12px;z-index:4;color:#f4efdc}
#origen .origin-error a{text-decoration:underline}
.js body.origin-map-visible>.header{visibility:hidden;pointer-events:none}
.origin-map-credit{font-size:.75em}.origin-map-credit a{text-decoration:underline;text-underline-offset:.15em}
@media(max-width:700px){#origen .map-caption{left:8vw;top:61%;max-width:90vw}#origen .place-name{font-size:58px}#origen .origin-hold{margin-top:20px;font-size:11px;padding-bottom:10px}#origen .return-title{top:auto;bottom:17%;transform:translateY(var(--title-offset,0px))}#origen .return-title h2{font-size:clamp(2.7rem,11vw,4.5rem)}}
@media(max-aspect-ratio:3/4){#origen .harvest{background-image:url('assets/del-cafetal-al-grano-movil.webp')}}
html:not(.js) #origen .map-layer,html:not(.js) #origen .origin-skip{display:none}html:not(.js) #origen .return-title{opacity:1}
