/* Shared effects and theme/editor integration. Layout, color and typography live in Spectra controls. */
body.esn-native-document .site-content>.ast-container{max-width:none;padding:0;display:block}
body.esn-native-document .ast-article-single{padding:0!important}
body.esn-native-document .entry-content>.esn-home{margin-top:0;margin-bottom:0}
.esn-home .esn-glass .uagb-buttons-repeater{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 #ffffff55,0 5px 15px #2c2d2d0a;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.esn-home .esn-glass .uagb-buttons-repeater:after{content:'↗';font-size:18px;margin-left:18px}
.esn-home .esn-glass .uagb-buttons-repeater:hover{transform:translateY(-3px)}
.esn-home .esn-hero-media img{filter:saturate(.65)}
.esn-home a:focus-visible,.esn-home button:focus-visible,.esn-home [role=button]:focus-visible{outline:3px solid #1877f2;outline-offset:5px}
.esn-hero a:focus-visible,.esn-cta a:focus-visible{outline-color:#9dc7ff}
/* Width of rich-text paragraphs is a reading measure, not a page column. */
.esn-home .esn-intro{max-width:760px}.esn-home .esn-lead{max-width:640px}.esn-home .esn-founder-copy .esn-intro{max-width:none}
.esn-home .esn-more a{text-decoration:none}.esn-home .esn-more a:hover{text-decoration:underline}
.esn-home .esn-faq .uagb-faq-questions-button{cursor:pointer}
.esn-home .esn-faq .uagb-faq-item{box-shadow:none}
.esn-home .esn-faq .uagb-faq-item:last-child{border-bottom:1px solid #cbd5dd}
.esn-home .esn-faq .uagb-faq-content p{margin:0;max-width:74ch}
.esn-home .esn-sectors{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.esn-home .esn-sectors li{border-top:1px solid var(--eso-line);padding:20px 0;font-size:18px;line-height:1.5}
.esn-home .esn-booking-steps{counter-reset:esn-step;list-style:none;margin:16px 0 24px;padding:0}
.esn-booking-steps li{counter-increment:esn-step;position:relative;padding:18px 0 18px 46px;border-top:1px solid var(--eso-line);font-size:16px;line-height:1.55;color:var(--eso-muted)}
.esn-booking-steps li:before{content:counter(esn-step);position:absolute;left:0;top:16px;width:30px;height:30px;border-radius:999px;background:var(--eso-ink);color:#fff;font-size:14px;line-height:30px;text-align:center}
.esn-booking-widget iframe{display:block;width:100%;min-height:720px;border:0}
/* Preserve the existing moving word treatment; the words remain editable rich text. */
.esn-rotator .eso-w{color:#9dc7ff;justify-self:start}
@media(max-width:781px){.esn-home .esn-sectors{grid-template-columns:1fr}.esn-booking-widget iframe{min-height:960px}}
@media(max-width:420px){.esn-home .esn-buttons .uagb-buttons__outer-wrap{width:100%}.esn-home .esn-buttons .uagb-buttons-repeater{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.esn-home *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.esn-home .esn-glass .uagb-buttons-repeater:hover{transform:none}}

/* Aliases inherit the editable Astra global palette, shared by both editor and frontend. */
.esn-home{--eso-blue:var(--ast-global-color-0);--eso-blue-dark:var(--ast-global-color-1);--eso-ink:var(--ast-global-color-2);--eso-muted:var(--ast-global-color-3);--eso-soft:var(--ast-global-color-5);--eso-line:var(--ast-global-color-7)}

/* Spectra Legacy has no grid-item column-span control. Keep odd final service rows full width in both canvases. */
.esn-cards:not(.esn-steps)>:last-child:nth-child(odd),.esn-cards:not(.esn-steps)>.block-editor-inner-blocks>.block-editor-block-list__layout>:last-child:nth-child(odd){grid-column:1/-1}
.esn-section:not(.esn-cta)>.uagb-container-inner-blocks-wrap>.wp-block-uagb-advanced-heading:has(h2){max-width:850px}
.esn-card p.uagb-heading-text{max-width:65ch}

/* Retain photo focal points and the existing decorative browser frame. */
.esn-founder-photo img{object-position:center 25%}
.esn-browser-media figure{position:relative}
.esn-browser-media figure:before{content:'';position:absolute;left:0;right:0;top:0;height:34px;border-radius:20px 20px 0 0;z-index:1;background:radial-gradient(circle,#ff6159 4px,transparent 4.5px) 18px 50%/12px 12px no-repeat,radial-gradient(circle,#ffbd2e 4px,transparent 4.5px) 36px 50%/12px 12px no-repeat,radial-gradient(circle,#28c941 4px,transparent 4.5px) 54px 50%/12px 12px no-repeat,linear-gradient(#2c2d2dcc,#2c2d2dcc);border-bottom:1px solid #ffffff26;backdrop-filter:blur(10px)}
.esn-home .esn-reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
.esn-home .esn-reveal.esn-pending{opacity:0;transform:translateY(20px)}
@media(min-width:1000px){.esn-hero-copy{animation:esn-arrive .8s ease both}.esn-hero-media,.esn-service-hero-media{animation:esn-arrive 1s .12s ease both}}
@keyframes esn-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:781px){.esn-browser-media figure:before{display:none}}
@media(prefers-reduced-motion:reduce){.esn-home .esn-reveal.esn-pending{opacity:1;transform:none}}
@media print{.esn-home .esn-reveal.esn-pending{opacity:1;transform:none}}
.editor-styles-wrapper .esn-home *{animation:none!important;transition:none!important}
.esn-home img[src*="seo-analysis-stock.jpg"]{object-position:35% center}
.esn-home img[src*="seo-local-stock.jpg"]{object-position:center 65%}
.esn-home img[src*="redes-sociales-stock.jpg"]{object-position:center 65%}
.esn-home img[src*="diseno-web-stock.jpg"]{object-position:center 55%}
.esn-home img[src*="tienda-online-stock.jpg"]{object-position:center 45%}
.esn-home img[src*="google-ads-plan-stock.jpg"]{object-position:center 40%}
.esn-home img[src*="automatizacion-flujo-stock.jpg"]{object-position:35% center}
.esn-home img[src*="landing-equipo-stock.jpg"]{object-position:center 40%}
.esn-home img[src*="wordpress-codigo-stock.jpg"]{object-position:center 45%}
.esn-home img[src*="precios-propuesta-stock.jpg"]{object-position:center 40%}
.esn-home img[src*="bogota-skyline-stock.jpg"]{object-position:65% center}
.esn-home img[src*="marca-personal-stock.jpg"]{object-position:70% center}
.esn-home img[src*="medellin-poblado-stock.jpg"]{object-position:40% center}
.esn-home img[src*="landing-movil-stock.jpg"]{object-position:center 30%}
.esn-home img[src*="chatbot-celular-stock.jpg"]{object-position:65% center}

.esn-home{color:var(--ast-global-color-2)}

.esn-answer-frame{max-width:820px}.esn-booking-info{position:sticky;top:110px}
@media(max-width:976px){.esn-booking-info{position:static}}
