@font-face{font-family:"PP Neue Montreal Medium";src:url("https://framerusercontent.com/assets/t3w23klqj7HmImsjtGQ4GusFlM.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
body.editorial-access{background:#fff;color:#212121;position:relative;min-height:100svh;padding:0 30px 145px;display:flex;flex-direction:column}
.editorial-access,.editorial-access *,.editorial-access *::before,.editorial-access *::after{font-family:"PP Neue Montreal Medium",Arial,sans-serif;font-weight:500;letter-spacing:-.02em}
.editorial-access{font-size:16px}
.access-header{display:flex;align-items:center;justify-content:space-between;padding:30px 0;font-size:16px}
.access-site{display:inline-flex;align-items:center;text-decoration:none;color:inherit;opacity:.5}
.site-arrow{display:inline-block;opacity:0;transform:translate(-4px,4px);transition:transform .28s ease,opacity .28s ease}
a:hover .site-arrow,a:focus-visible .site-arrow{opacity:1;transform:translate(0,0)}
.access-center{flex:1;display:flex;align-items:center;justify-content:center;min-height:410px;padding:90px 0}
.access-form{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:0 26px;align-items:center;max-width:100%;font-size:32px;line-height:1.2}
.access-sentence{text-align:center;min-width:0}
.access-line{display:flex;justify-content:center;align-items:baseline;gap:.22em;flex-wrap:wrap}
.access-line label{opacity:.5;cursor:text}
.inline-field{position:relative;display:inline-grid;align-items:baseline;max-width:100%;min-width:5ch}
.email-field{width:24ch}.password-field{width:11ch}
.inline-field input,.demo-value{grid-area:1/1;font-size:32px;line-height:1.2;min-width:0;width:100%;text-align:center}
.inline-field input{padding:0;border:0;border-radius:0;background:transparent;color:#212121;outline-offset:5px}
.inline-field input::placeholder{color:#212121;opacity:.5}
.demo-value{pointer-events:none;white-space:normal;overflow-wrap:anywhere}
.access-form.demo-active .email-field{width:max-content}
.access-form.demo-active .inline-field input{position:absolute;inset:0;color:transparent;caret-color:transparent}
.access-form.demo-active .inline-field input::placeholder{color:transparent}
.demo-value:empty{display:none}
.typing-cursor:after{content:'';display:inline-block;width:1px;height:.85em;background:#212121;margin-left:2px;animation:access-caret .7s step-end infinite}
.emoji-enter{background:transparent;padding:0;font-size:42px;line-height:1.2;min-width:54px;min-height:54px}
.emoji-enter:disabled{opacity:.5}
.access-form #feedback{grid-column:1/-1;font-size:16px;max-width:650px;margin:18px 0 0;color:#212121;background:none;border:0;padding:0;text-align:center}
.access-form #feedback:empty{display:none}
.access-contact{position:absolute;left:30px;bottom:26px;opacity:.5;font-size:16px;line-height:1.2}
.access-contact div{display:grid;grid-template-columns:88px auto}.access-contact a{text-decoration:none}
.access-client{position:absolute;right:30px;bottom:26px;opacity:.5;font-size:16px}
.access-micrographic{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:max-content 170px max-content;gap:12px;align-items:start;font-size:14px;line-height:1.05;white-space:nowrap}
.micro-left{text-align:right;padding-top:4px}.micro-right{text-align:left;padding-top:4px}
.micro-brand{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.micro-brand img{display:block;width:170px;height:auto}.micro-brand>span{font-size:14px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes access-caret{50%{opacity:0}}
@media(max-width:1100px){body.editorial-access{padding-bottom:200px}.access-micrographic{bottom:108px}}
@media(max-width:600px){body.editorial-access{padding-left:20px;padding-right:20px;padding-bottom:260px}.access-center{padding:55px 0;min-height:380px}.access-form{gap:0 8px;width:100%;grid-template-columns:minmax(0,1fr) 44px}.access-line{gap:0 .22em}.email-field{width:100%;max-width:100%}.emoji-enter{font-size:34px;min-width:44px}.access-contact{left:20px;bottom:56px}.access-client{right:20px;bottom:20px}.access-contact div{grid-template-columns:65px auto}.access-micrographic{bottom:155px;gap:6px;grid-template-columns:max-content 145px max-content}.micro-brand img{width:145px}}
@media(prefers-reduced-motion:reduce){.typing-cursor:after{animation:none}.site-arrow{transition:none}}

/* Fixed button footprint: hover never moves the sentence or changes its type. */
.access-form{width:min(1280px,100%);grid-template-columns:minmax(0,1fr) 300px;column-gap:clamp(40px,7vw,140px)}
.access-sentence{text-align:center}
.emoji-enter{position:relative;width:300px;height:136px;min-height:136px;padding:0;background:transparent;color:#212121;text-align:left;isolation:isolate}
.emoji-enter::before{content:"";position:absolute;inset:28px 0;background:rgb(33 33 33 / 4%);opacity:0;transition:opacity .25s ease;z-index:-1}
#stress-emoji{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:120px;line-height:1;transition:opacity .2s ease,transform .25s ease}
.hope-emoji{position:absolute;left:28px;top:50%;transform:translateY(-50%);font-size:46px;line-height:1;opacity:0;transition:opacity .2s ease}
.enter-copy{position:absolute;left:120px;top:50%;transform:translateY(-50%);font-size:16px;opacity:0;transition:opacity .2s ease}
.enter-forward{position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:26px;opacity:.3;transition:opacity .25s ease}
.emoji-enter:is(:hover,:focus-visible):not(:disabled)::before,.emoji-enter:is(:hover,:focus-visible):not(:disabled) .hope-emoji,.emoji-enter:is(:hover,:focus-visible):not(:disabled) .enter-copy,.emoji-enter:is(:hover,:focus-visible):not(:disabled) .enter-forward{opacity:1}
.emoji-enter:is(:hover,:focus-visible):not(:disabled) #stress-emoji{opacity:0;transform:translateY(-50%) scale(.65)}
@media(max-width:1050px){.access-form{grid-template-columns:minmax(0,1fr) 240px;column-gap:32px}.emoji-enter{width:240px}.enter-copy{left:92px}.hope-emoji{left:20px}.enter-forward{right:16px}}
@media(max-width:700px){.access-form{grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:24px}.access-sentence{width:100%}.emoji-enter{width:240px;height:110px;min-height:110px}#stress-emoji{font-size:96px}.access-form #feedback{grid-column:1}}
@media(hover:none){.emoji-enter::before,.emoji-enter .enter-copy{opacity:1}.emoji-enter #stress-emoji{font-size:46px;left:20px}.emoji-enter{height:80px;min-height:80px}.emoji-enter::before{inset:0}.hope-emoji{font-size:46px}}
@media(prefers-reduced-motion:reduce){.emoji-enter::before,.emoji-enter span{transition:none}}

@keyframes emoji-hop{0%,100%{translate:0 0}40%{translate:0 -10px}70%{translate:0 2px}}
.emoji-hop{animation:emoji-hop .36s ease-out}
.emoji-enter:is(:hover,:focus-visible):not(:disabled) .hope-emoji{animation:emoji-hop .36s ease-out}
@media(prefers-reduced-motion:reduce){.emoji-hop,.emoji-enter:is(:hover,:focus-visible) .hope-emoji{animation:none}}

/* Stable text anchors: hidden full strings participate in layout, animated text does not. */
.access-line{flex-wrap:nowrap;justify-content:center;align-items:baseline}
.access-line label{position:relative;flex:none;white-space:nowrap}
.access-line label::before{content:attr(data-sizing-text);visibility:hidden;display:block;height:0;pointer-events:none}
.inline-field,.access-form.demo-active .email-field,.password-field{width:max-content;flex:none}
.field-sizer{grid-area:1/1;visibility:hidden;pointer-events:none;white-space:nowrap;font-size:32px;line-height:1.2}
.inline-field input,.demo-value{text-align:left}
.demo-value{position:absolute;left:0;top:0;white-space:nowrap;overflow-wrap:normal}
.inline-field input{position:absolute;inset:0}
.access-micrographic{bottom:28px}
@media(max-width:1100px){.access-micrographic{bottom:108px}}
@media(max-width:700px){.access-line{flex-wrap:wrap}.access-line label{white-space:normal}.inline-field,.access-form.demo-active .email-field{max-width:100%;min-width:0;flex-shrink:1}.field-sizer{white-space:normal;overflow-wrap:anywhere}.demo-value{white-space:normal;overflow-wrap:anywhere}.access-micrographic{bottom:155px}}

.demo-value.typing-cursor:empty{display:block}
.access-form.intro-wait .emoji-enter{opacity:0}

/* Montreal's native round punctuation alternate, verified in the font GSUB table. */
.password-field input,.password-field .demo-value,.password-field .field-sizer{font-feature-settings:"ss02" 1}

/* Reserve the full placeholder width as well as the animated password width. */
.password-field::after{content:"tu contraseña";grid-area:1/1;visibility:hidden;pointer-events:none;white-space:nowrap;font-size:32px;line-height:1.2;padding-right:.18em}
.password-field{min-width:12ch}

/* Blank intro has a fail-open deadline if scripts or fonts cannot load. */
body.intro-pending>header,body.intro-pending>main,body.intro-pending>aside,body.intro-pending>.access-micrographic,body.intro-pending>.access-client{opacity:0;animation:intro-failsafe 0s 5s forwards}
body.intro-pending::before{content:"";position:fixed;left:50%;top:50%;width:1px;height:32px;background:#212121;transform:translate(-50%,-50%);pointer-events:none;animation:access-caret .8s step-end infinite,intro-cursor-end 0s 5s forwards}
@keyframes intro-failsafe{to{opacity:1}}
@keyframes intro-cursor-end{to{visibility:hidden}}
@media(prefers-reduced-motion:reduce){body.intro-pending>header,body.intro-pending>main,body.intro-pending>aside,body.intro-pending>.access-micrographic,body.intro-pending>.access-client{opacity:1;animation:none}body.intro-pending::before{display:none}}

/* Keyboard focus: a dotted underline without moving the field baseline. */
.editorial-access .inline-field:focus-within::before{content:"";position:absolute;left:0;right:0;bottom:-5px;border-bottom:1px dotted rgb(33 33 33 / 50%);pointer-events:none}
.editorial-access .inline-field input:focus,.editorial-access .inline-field input:focus-visible{outline:none;box-shadow:none}

.enter-copy{left:92px;right:52px;text-align:center;line-height:1.15;white-space:normal}
.access-center{position:relative}
.access-form.coffee-break{visibility:hidden;pointer-events:none}
.coffee-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;margin:0;padding:30px;color:#212121;font-size:32px;line-height:1.2;outline:none}

/* Mobile help pushes the complete access page, without changing desktop. */
.access-page{display:contents}.mobile-help,.help-drawer{display:none}
body.intro-pending .access-page>header,body.intro-pending .access-page>main,body.intro-pending .access-page>aside,body.intro-pending .access-page>.access-micrographic,body.intro-pending .access-page>.access-client{opacity:0;animation:intro-failsafe 0s 5s forwards}
@media(max-width:700px){
 body.editorial-access{display:block;padding:0!important;overflow-x:clip}
 .access-page{position:relative;display:flex;flex-direction:column;min-height:100svh;padding:0 22px 100px;translate:0 0;transition:translate .5s cubic-bezier(.22,1,.36,1)}
 .access-header{padding:24px 0}.access-header>.access-site{display:none}
 .mobile-help{display:grid;place-items:center;background:none;color:#212121;padding:0;width:44px;height:44px}.mobile-help svg{width:36px;height:36px;fill:currentColor}
 .access-center{padding:70px 0 40px;min-height:540px;flex:1}
 .access-form{display:flex;flex-direction:column;gap:28px;width:100%}
 .access-sentence{text-align:left}.access-line{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0}
 .access-line label{text-align:left}.inline-field,.access-form.demo-active .email-field{max-width:100%;align-self:flex-start}
 .access-page>.access-contact,.access-page>.access-client{display:none}
 .access-micrographic{bottom:28px;gap:6px;grid-template-columns:max-content 145px max-content}
 .micro-brand img{width:145px}
 .emoji-enter{width:160px;height:136px;min-height:136px;align-self:center}
 .emoji-enter::before,.emoji-enter .enter-copy,.emoji-enter .enter-forward{display:none}
 .emoji-enter #stress-emoji{left:50%;font-size:120px;transform:translate(-50%,-50%)}
 .emoji-enter .hope-emoji{left:50%;font-size:120px;transform:translate(-50%,-50%)}
 .emoji-enter:is(:hover,:focus-visible):not(:disabled) #stress-emoji{transform:translate(-50%,-50%) scale(.85)}
 .help-drawer:not([hidden]){display:flex;flex-direction:column}
 .help-drawer{position:fixed;inset:0;z-index:300;background:#f01930;color:#212121;padding:24px 22px;overflow:auto;overscroll-behavior:contain;translate:100% 0;transition:translate .5s cubic-bezier(.22,1,.36,1)}
 body.help-open .access-page{translate:-100% 0}body.help-open .help-drawer{translate:0 0}body.help-open{overflow:hidden}
 .help-close{align-self:flex-end;width:44px;height:44px;padding:0;background:none;color:inherit}.help-close svg{width:44px;height:44px}
 .help-content{margin:auto 0;width:100%;padding:70px 0}
 .help-content h2{font-size:32px;margin:0 0 16px;line-height:1.1}
 .help-content dl{display:grid;grid-template-columns:1fr 1fr;font-size:16px;line-height:1.2;margin:0}.help-content dd{margin:0;min-width:0}.help-content a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
 .help-client{font-size:16px;margin:24px 0 24px 50%;line-height:1.2}.help-site{display:block;text-align:right;font-size:16px}
 .help-studio{display:flex;align-items:flex-end;gap:20px;width:100%}.help-studio span{font-size:14px}.help-studio img{width:calc(100% - 50px);height:auto}
}
@media(prefers-reduced-motion:reduce){.access-page,.help-drawer{transition:none}body.intro-pending .access-page>*{opacity:1;animation:none}}

/* Touch users get the complete action as soon as they enter real credentials. */
@media(max-width:700px){
 .access-form.user-editing .emoji-enter{width:min(300px,100%);height:80px;min-height:80px}
 .access-form.user-editing .emoji-enter::before{display:block;inset:0;opacity:1}
 .access-form.user-editing .enter-copy{display:block;opacity:1;left:82px;right:46px;font-size:16px}
 .access-form.user-editing .enter-forward{display:block;opacity:1;right:18px}
 .access-form.user-editing #stress-emoji{opacity:0}
 .access-form.user-editing .hope-emoji{opacity:1;left:22px;font-size:42px;transform:translateY(-50%)}
 .access-form.user-editing .emoji-enter:disabled #stress-emoji{opacity:1;left:22px;font-size:42px;transform:translateY(-50%)}
 .access-form.user-editing .emoji-enter:disabled .hope-emoji{opacity:0}
}
