.efh-portfolio{max-width:1120px;margin:0 auto;padding:0 24px 48px;text-align:center;color:#eee}
.efh-intro{max-width:640px;margin:0 auto 32px;font-size:18px;line-height:1.7}
.efh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.efh-card{display:block;min-width:0;color:inherit!important;text-decoration:none!important;background:transparent!important}
.efh-card img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;transition:transform .2s ease}
.efh-card h3{font-family:Marcellus,Georgia,serif!important;font-size:25px!important;font-weight:400!important;line-height:1.35;margin:20px 0 10px;color:#ffdc51!important}
.efh-card p{font-size:16px;line-height:1.6;margin:0 auto;max-width:29ch}
.efh-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.efh-card:hover img{transform:translateY(-3px)}
.efh-card:focus-visible,.efh-cta a:focus-visible{outline:2px solid #ffdc51;outline-offset:6px}
.efh-cta{margin:32px 0 0}.efh-cta a{display:inline-block;padding:12px 26px;border:1px solid #ffdc51;color:#ffdc51!important;background:transparent!important;text-decoration:none;font-size:17px;line-height:1.5;min-height:48px}
.efh-cta a:hover{background:#ffdc5133!important}.efh-cta span{margin-left:12px}
@media(max-width:700px){.efh-grid{grid-template-columns:1fr;gap:32px}.efh-card{max-width:440px;margin:auto;width:100%}.efh-portfolio{padding-inline:20px}.efh-intro{font-size:17px}.efh-card h3{font-size:23px!important}}
@media(prefers-reduced-motion:reduce){.efh-card img{transition:none}.efh-card:hover img{transform:none}}

/* Keep the original white copy legible over the moving video. */
.elementor-1763 .elementor-element-097424d h2,.elementor-1763 .elementor-element-097424d p{color:#fff!important;font-family:Marcellus,Georgia,serif!important;font-size:18px!important;line-height:1.65!important;font-weight:400!important}
.elementor-1763 .elementor-element-8059b5c>.elementor-background-overlay{background:#000!important;opacity:.45!important}
.efh-skill{display:flex;gap:14px;align-items:flex-start;text-align:left;color:#353535;padding-bottom:14px}
.efh-skill-mark{flex:0 0 22px;color:#ffdc51;font-size:26px;line-height:1.3}
.efh-skill h3{font-family:Marcellus,Georgia,serif!important;font-size:20px!important;font-weight:400!important;line-height:1.4;margin:0 0 8px!important;color:#353535!important}
.efh-skill p{font-family:Marcellus,Georgia,serif!important;font-size:16px;line-height:1.65;color:#555;margin:0}
.elementor-1763 .elementor-element-803a23e .elementor-element-f704112{width:100%!important}
.efh-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:32px 80px;padding:24px;text-align:center}
.efh-stats strong{display:block;color:#ffdc51;font-family:Marcellus,Georgia,serif;font-size:clamp(44px,6vw,64px);font-weight:400;line-height:1.2}
.efh-stats span,.efh-stats small{display:block;color:#353535;font-size:18px;line-height:1.5;margin-top:8px}.efh-stats small{font-size:14px}
.efh-process{max-width:1040px;margin:0 auto;padding:0 24px 40px;text-align:center;color:#fff;font-family:Marcellus,Georgia,serif}
.efh-process>p{max-width:640px;margin:0 auto 32px;font-size:18px;line-height:1.7}
.efh-process ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:0;padding:0}
.efh-process li>span{display:block;color:#ffdc51;font-size:15px;letter-spacing:.12em;margin-bottom:10px}
.efh-process h3{color:#fff!important;font-family:inherit!important;font-size:25px!important;font-weight:400!important;line-height:1.4;margin:0 0 12px!important}
.efh-process li p{font-size:17px;line-height:1.65;margin:0}
.elementor-1763 .elementor-element-679609e .elementor-shape-bottom{display:none}
.elementor-1763 .elementor-element-1a7af13{visibility:visible!important;animation:none!important}
.efh-quotes{font-family:Marcellus,Georgia,serif;color:#fff;text-align:center;padding:32px 20px}
.efh-quote{margin:0;min-height:250px;display:flex;flex-direction:column;justify-content:center}
.efh-quote[hidden],.efh-quotes-controls[hidden]{display:none!important}
.efh-quote blockquote{border:0;padding:0;margin:0 auto 24px;max-width:820px;font-family:inherit;font-size:clamp(20px,2.2vw,27px);font-weight:400;font-style:normal;line-height:1.65;color:#fff}
.efh-quote figcaption{font-size:17px;line-height:1.5;color:#ffdc51}
.efh-quotes-controls{display:flex;justify-content:center;gap:12px;margin-top:20px}
.efh-quotes-controls button{font:inherit;font-size:18px;min-width:44px;min-height:44px;border:1px solid #ffdc51;background:transparent!important;color:#ffdc51!important;padding:8px;cursor:pointer;box-shadow:none!important}
.efh-quotes-controls button:hover{background:#0005!important}.efh-quotes-controls button:focus-visible{outline:2px solid #ffdc51;outline-offset:4px}
@media(max-width:700px){.efh-process ol{grid-template-columns:1fr;gap:28px}.efh-process{padding-inline:20px}.efh-quote{min-height:350px}.efh-quotes{padding-inline:18px}.efh-skill h3{font-size:20px!important}}

/* Frame the ambient video beyond its player edges, without pointer interaction. */
.elementor-1763 .elementor-background-video-container{overflow:hidden!important;pointer-events:none!important}
.elementor-1763 .elementor-background-video-embed{transform:translate(-50%,-50%) scale(1.25)!important;pointer-events:none!important}
.elementor-1763 .elementor-element-1a7af13 .elementor-element-83b9449 .elementor-spacer-inner,.elementor-1763 .elementor-element-1a7af13 .elementor-element-71be431 .elementor-spacer-inner{height:32px!important}

/* Replace the newsletter's old top spacer with equal breathing room. */
.elementor-1763 .elementor-element-679609e{padding-top:64px!important;padding-bottom:64px!important}
.elementor-1763 .elementor-element-679609e .elementor-element-92e7d87{display:none!important}
.efh-process{padding-bottom:0}
@media(max-width:700px){.elementor-1763 .elementor-element-679609e{padding-top:48px!important;padding-bottom:48px!important}}

/* Original divider gold, shared by every accent. The skill ornament is its centre. */
:root{--ef-gold:#ffdc51}
.efh-skill-mark{flex:0 0 22px;width:22px;height:28px;background:url(images/divider.png) no-repeat center/230px auto;font-size:0;line-height:0}
.elementor-1763 .elementor-element-8059b5c h2,.elementor-1763 .elementor-element-8059b5c h3,.elementor-1763 .elementor-element-8059b5c p,.elementor-1763 .elementor-element-8059b5c .elementor-heading-title,.elementor-1763 .elementor-element-8059b5c .elementor-text-editor{color:#fff!important}
.efh-stats strong{-webkit-text-stroke:.6px #353535}

/* Follow the central silhouette to remove the divider line at both joins. */
.efh-skill-mark{clip-path:polygon(42.55% 16.07%, 63.40% 16.07%, 78.30% 34.79%, 93.19% 53.51%, 90.21% 55.85%, 90.21% 67.55%, 75.32% 81.59%, 30.64% 81.59%, 9.79% 67.55%, 9.79% 55.85%, 6.81% 53.51%, 21.70% 34.79%)}

/* Clean vector supplied by Elena, converted directly from her EPS paths. */
.efh-skill-mark{background-image:url(images/ornamento.svg?v=1.11.1);background-size:22px auto;clip-path:none}

/* Restore the two original metrics, without an outline on the numerals. */
.efh-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;max-width:720px;margin:0 auto}
.efh-stats strong{-webkit-text-stroke:0}
.efh-stats span{margin:0 0 8px}
@media(max-width:600px){.efh-stats{gap:20px;padding-inline:12px}.efh-stats span{font-size:16px;min-height:48px;display:flex;align-items:center;justify-content:center}.efh-stats strong{font-size:44px}}

/* One monochrome set, with the same icons inside the optional list. */
.efh-tools{color:#222;text-align:center;padding:0 8px;font-family:Marcellus,Georgia,serif}
.efh-tools h3{font-family:inherit!important;font-size:23px!important;font-weight:400!important;color:#353535!important;margin:0 0 24px!important}
.efh-tools h4{font-family:inherit!important;font-size:15px!important;font-weight:400!important;color:#555!important;margin:24px 0 18px!important;line-height:1.5}
.efh-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 10px;list-style:none;padding:0;margin:0}
.efh-tools-grid li{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.efh-tools-grid img{display:block;width:30px;height:30px;object-fit:contain;filter:grayscale(1) brightness(0)}
.efh-tools-grid li>span:last-child{font-size:12px;line-height:1.4;overflow-wrap:anywhere;color:#353535}
.efh-tool-monogram{display:flex;align-items:center;justify-content:center;border:1.5px solid #111;font-family:Arial,sans-serif;font-weight:700;font-size:17px;line-height:1;width:30px;height:30px;color:#111}
.efh-tools details{border-top:1px solid #d8d8d8;margin-top:26px;padding-top:12px}
.efh-tools summary{cursor:pointer;min-height:44px;font-size:14px;line-height:1.5;padding:12px 0;color:#353535}
.efh-tools summary:focus-visible{outline:2px solid #353535;outline-offset:3px}
.efh-tools details .efh-tools-grid{padding-top:18px;padding-bottom:12px}
@media(max-width:767px){.efh-tools{max-width:520px;margin:30px auto 0;padding:0 10px}.efh-tools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:380px){.efh-tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.efh-tools-grid li{position:relative;min-height:34px}
.efh-tools-grid .efh-tool-name{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.efh-tools details:not([open])>.efh-tools-grid{display:none}
@media(max-width:767px){.elementor-1763 .elementor-element-8ca72cd.elementor-hidden-mobile{display:flex!important;width:100%!important}.elementor-1763 .elementor-element-47abce0{display:none!important}}

/* Equal skill rows and clear breathing room before the tools column. */
.elementor-1763 .elementor-element-59ea115>.elementor-container{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(200px,.85fr);gap:36px;width:calc(100% - 80px);max-width:1160px;margin-inline:auto}
.elementor-1763 .elementor-element-59ea115 .elementor-element-db44129,.elementor-1763 .elementor-element-59ea115 .elementor-element-d72ee41,.elementor-1763 .elementor-element-59ea115 .elementor-element-47abce0,.elementor-1763 .elementor-element-86b202b{display:none!important}
.elementor-1763 .elementor-element-59ea115 .elementor-element-31d1931,.elementor-1763 .elementor-element-59ea115 .elementor-element-c8bc404,.elementor-1763 .elementor-element-59ea115 .elementor-element-8ca72cd{width:100%!important}
.elementor-1763 .elementor-element-31d1931>.elementor-widget-wrap,.elementor-1763 .elementor-element-c8bc404>.elementor-widget-wrap{display:grid!important;grid-template-rows:repeat(4,minmax(112px,1fr));gap:20px;align-content:start}
.elementor-1763 .elementor-element-31d1931>.elementor-widget-wrap>.elementor-widget,.elementor-1763 .elementor-element-c8bc404>.elementor-widget-wrap>.elementor-widget{margin:0!important;min-height:112px}
.efh-skill{height:100%;padding-bottom:0}
.efh-skill h3{font-size:19px!important;min-height:53.2px;line-height:1.4!important}
.efh-skill p{line-height:1.55}
.efh-tools{max-width:260px;margin-inline:auto}
@media(min-width:768px) and (max-width:999px){.elementor-1763 .elementor-element-59ea115>.elementor-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.elementor-1763 .elementor-element-8ca72cd{grid-column:1/-1}.efh-tools{max-width:520px;width:100%}.efh-tools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.elementor-1763 .elementor-element-59ea115>.elementor-container{grid-template-columns:1fr;gap:20px;width:calc(100% - 40px)}.efh-tools{max-width:520px;width:100%}}
/* Keep each title and description together; reserve spacing between complete skills. */
.efh-skill h3{min-height:0;margin-bottom:6px!important}
@media(min-width:1000px){.elementor-1763 .elementor-element-31d1931>.elementor-widget-wrap,.elementor-1763 .elementor-element-c8bc404>.elementor-widget-wrap{grid-template-rows:repeat(4,minmax(96px,1fr));gap:18px}.elementor-1763 .elementor-element-31d1931>.elementor-widget-wrap>.elementor-widget,.elementor-1763 .elementor-element-c8bc404>.elementor-widget-wrap>.elementor-widget{min-height:96px}}
/* Compact icon groups rather than spreading them across the whole sidebar. */
.efh-tools-grid{grid-template-columns:repeat(3,36px);justify-content:center;gap:12px 16px}
.efh-tools h3{margin-bottom:18px!important}
.efh-tools h4{margin:16px 0 12px!important}
.efh-tools details{margin-top:18px}
.efh-tools details .efh-tools-grid{padding-top:12px}
@media(max-width:999px){.efh-tools-grid{grid-template-columns:repeat(4,36px)}}
@media(max-width:380px){.efh-tools-grid{grid-template-columns:repeat(3,36px)}}
/* A shorter map introduction, retaining breathing room for the parallax. */
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-c27dacf .elementor-spacer-inner{height:90px!important}
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-93ba06d .elementor-spacer-inner{height:35px!important}
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-5abbdd8 .elementor-spacer-inner{height:65px!important}
@media(max-width:767px){
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-c27dacf .elementor-spacer-inner{height:65px!important}
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-93ba06d .elementor-spacer-inner{height:25px!important}
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-5abbdd8 .elementor-spacer-inner{height:45px!important}
}
/* Balance the map introduction around its complete title and copy group. */
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-c27dacf .elementor-spacer-inner{height:120px!important}
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-5abbdd8 .elementor-spacer-inner{height:35px!important}
@media(max-width:767px){
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-c27dacf .elementor-spacer-inner{height:85px!important}
.elementor-1763 .elementor-element.elementor-element-5d5a543 .elementor-element-5abbdd8 .elementor-spacer-inner{height:25px!important}
}
/* Keep the biography in place while its decorative video starts. */
.elementor-1763 .elementor-element.elementor-element-8059b5c{animation:none!important;transform:none!important;visibility:visible!important;background-color:#111;background-image:url('/portfolio-prueba/wp-content/uploads/2019/01/Back1920.png');background-size:cover}
.elementor-1763 .elementor-element-8059b5c .elementor-background-video-embed{opacity:0;transition:opacity .6s ease!important}
.elementor-1763 .elementor-element-8059b5c.efh-video-playing .elementor-background-video-embed{opacity:1}

/* Show the biography background immediately, without a delayed reveal. */
.elementor-1763 .elementor-element-8059b5c .elementor-background-video-embed{opacity:1!important;transition:none!important}
