/* Revisión EF: paneles curvos, acentos de identidad y movimiento por escenas. */
:root{--panel-radius:48px;--media-radius:30px;--accent-soft:rgba(251,187,2,.12);--motion-ease:cubic-bezier(.22,1,.36,1)}
body{background:#eee;overflow-x:clip}.nav{width:calc(100% - 32px);max-width:1300px;margin:12px auto 0;top:12px;height:72px;border:1px solid rgba(255,255,255,.9);border-radius:100px;padding:0 28px;box-shadow:0 10px 35px -25px rgba(25,25,25,.22)}.nav .brand img{width:142px}.nav-cta>span,.actions .button>span{display:grid;place-items:center;background:var(--yellow);color:var(--ink);width:26px;height:26px;flex:0 0 26px;border-radius:50%;font-size:16px}.nav-cta{padding:9px 15px 9px 22px;min-height:46px}.hero{margin:12px 16px 0;border-radius:var(--panel-radius);min-height:calc(100svh - 108px);padding-top:72px;padding-bottom:80px;border:1px solid rgba(255,255,255,.8)}.hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 96% 0,rgba(251,187,2,.1),transparent 48%)}.hero-caption{bottom:21px}.hero .eyebrow::before{content:none}.section{margin:16px;border-radius:var(--panel-radius);background:#fafafa}.section.dark{background:var(--ink)}.section.clients{margin-top:16px;padding-top:44px;padding-bottom:32px}.section.services{background:#f7f7f7}.section.portfolio,.section.portfolio-selection{background:#fff}.section.contact{background:radial-gradient(ellipse at 50% 112%,rgba(251,187,2,.19),transparent 65%),#f7f7f7}.section.testimonials{background:#fff}.section-head>.eyebrow::before{content:'';display:inline-block;width:18px;height:3px;background:var(--yellow);border-radius:8px;vertical-align:middle;margin-right:12px}.service-num{color:var(--ink);background:var(--yellow);width:31px;height:31px;display:grid;place-items:center;border-radius:10px;padding:0;line-height:1}.process-grid .eyebrow{color:var(--yellow)}.portfolio .chapter{border-top:0;position:relative}.portfolio .chapter::before,.portfolio .chapter>.eyebrow::before{content:none}.media{border-radius:var(--media-radius);border:1px solid rgba(25,25,25,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.media-label{border:1px solid rgba(255,255,255,.55)}.video-media{background:var(--paper)}.portfolio-work .media{border-radius:var(--media-radius)}.identity-grid{gap:28px}.identity-work{display:block;background:#f5f5f5;border:1px solid rgba(25,25,25,.09);border-radius:36px;padding:13px;transition:border-color .2s,box-shadow .2s}.identity-work .identity-media{border-radius:25px}.identity-info{padding:9px 14px 16px;margin-top:17px}.identity-info>span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--yellow);font-size:20px;flex:0 0 43px}.identity-work:hover .identity-info{text-decoration:none}.identity-work:hover,.identity-work:focus-visible{border-color:var(--yellow);box-shadow:0 14px 35px -22px rgba(25,25,25,.22)}.identity-action{display:inline-flex;border:1px solid rgba(25,25,25,.18);border-radius:100px;padding:5px 12px;min-height:32px;align-items:center}.portfolio-work.identidad{background:#f5f5f5;border:1px solid rgba(25,25,25,.09);border-radius:34px;padding:13px}.portfolio-work.identidad .media{border-radius:23px}.portfolio-work.identidad .project-info{padding:23px 12px 16px}.portfolio-work.identidad:hover{border-color:var(--yellow)}.filters button[aria-pressed=true]{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.footer{background:transparent;border-top:0}.footer .brand img{width:134px}
.motion-band{position:relative;width:100%}.band-viewport{overflow:hidden;position:relative;isolation:isolate}.band-track{width:100%}.band-group{display:grid;gap:24px}.client-group{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 25px}.client-logo{border:0;background:transparent;padding:10px 15px;height:80px;width:100%;border-radius:18px;display:flex;justify-content:center;align-items:center;transition:background .18s}.client-logo img{max-width:145px;max-height:53px;object-fit:contain;filter:brightness(0);opacity:.45;transition:opacity .2s}.client-logo:hover,.client-logo:focus-visible,.client-logo.is-selected{background:transparent;box-shadow:none}.client-logo:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.client-logo:hover img,.client-logo:focus-visible img,.client-logo.is-selected img{opacity:1}.band-controls{display:flex;gap:17px;align-items:center;justify-content:center;min-height:44px;margin-top:22px}.band-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid rgba(25,25,25,.13);border-radius:100px;background:transparent;padding:10px 18px;font-size:10px;color:var(--muted)}.band-toggle:hover{color:var(--ink);border-color:var(--ink)}.band-toggle[aria-pressed=true]{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.band-running .band-track{display:flex;width:max-content;will-change:transform}.band-running .band-group{display:flex;flex:none;width:max-content;gap:24px;padding-right:24px;align-items:stretch}.band-running .client-logo{width:174px;flex:0 0 174px;height:82px}.clients-viewport{margin-top:25px;padding:7px 0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.design-motion-stack{display:flex;flex-direction:column;gap:28px}.design-group{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.designs-viewport{padding:5px 0}.band-running .design-work{width:clamp(240px,23vw,310px);flex:0 0 auto;transform-origin:50% 80%}.design-work .design-media{border-radius:27px}.design-work figcaption{padding:18px 7px 3px}.design-work figcaption strong{font-size:14px;font-weight:500}.design-work figcaption span{font-size:11px}.design-work figcaption{gap:5px}.designs-viewport img{pointer-events:none}.design-motion-stack .band-controls{margin-top:12px}.testimonial-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.testimonials-viewport{padding:46px 4px 8px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.testimonial{position:relative;flex:none;background:#f4f4f4;border:1px solid rgba(25,25,25,.045);border-radius:34px;padding:80px 29px 30px;min-height:445px}.testimonial>.avatar{position:absolute;top:-39px;left:calc(50% - 39px);width:78px;height:78px;border:6px solid #fff;box-shadow:0 6px 15px -12px rgba(25,25,25,.25);background:var(--paper)}.testimonial>.avatar img{width:100%;height:100%;object-fit:cover}.testimonial>.avatar span{font-size:18px}.testimonial blockquote{font-size:18px;line-height:1.7;letter-spacing:-.01em}.quote-mark{font-family:var(--display);position:absolute;left:29px;top:38px;line-height:1;font-weight:700;font-size:65px;color:var(--yellow)}.testimonial .rating{font-size:9px;letter-spacing:.07em;margin-bottom:21px;color:var(--muted)}.testimonial-author{display:block;border:0;padding-top:0;margin-top:28px}.testimonial-author .author-name{font-size:13px;font-weight:600;margin-bottom:3px}.testimonial-author p:last-child{font-size:11px;line-height:1.7}.empty-avatar{display:none}.band-running .testimonial{width:330px;flex:0 0 330px}.testimonials .section-head{margin-bottom:52px}.testimonials .band-controls{margin-top:22px}.testimonial:focus-within{border-color:var(--yellow)}.motion-disabled .band-controls{display:none}.motion-disabled .testimonials-viewport{mask-image:none;-webkit-mask-image:none;overflow:visible}.motion-disabled .testimonial-group{row-gap:76px}.motion-disabled .clients-viewport{mask-image:none;-webkit-mask-image:none}
@media(max-width:1000px){:root{--panel-radius:38px;--media-radius:27px}.nav .brand img{width:135px}.client-group{grid-template-columns:repeat(4,minmax(0,1fr))}.testimonial-group{grid-template-columns:repeat(2,minmax(0,1fr))}.design-group{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-info{padding:7px 9px 13px}.section{margin:12px}.hero{margin:12px}}
@media(max-width:700px){:root{--panel-radius:30px;--media-radius:25px}.nav{width:calc(100% - 24px);height:62px;top:10px;margin-top:10px;padding:0 15px}.nav .brand img{width:118px}.nav-cta{font-size:10px;padding:9px 12px 9px 16px;gap:12px;min-height:44px}.nav-cta>span{width:23px;height:23px;flex-basis:23px;font-size:14px}.hero{margin:10px 10px 0;min-height:calc(100svh - 92px);padding:55px 21px 64px;border-radius:32px}.hero h1{font-size:clamp(39px,10.6vw,69px)}.hero .eyebrow{font-size:8px;letter-spacing:.06em;margin-bottom:26px;max-width:285px}.hero .eyebrow::before{width:13px;margin-right:7px;height:3px}.hero .actions{gap:13px 15px}.hero .actions .button{padding:11px 15px 11px 18px;gap:13px;font-size:11px}.hero .actions .text-link{font-size:10px}.hero-description{margin-top:24px;font-size:12px;line-height:1.85}.hero-proof{font-size:10px;margin-top:18px}.hero-caption{bottom:19px;font-size:8px}.hero .actions{margin-top:24px}.hero .actions .button>span{width:24px;height:24px;flex-basis:24px}.portfolio-hero{min-height:485px}.portfolio-hero h1{font-size:clamp(43px,11.5vw,70px)}.section{margin:12px 10px;padding-left:21px;padding-right:21px;border-radius:30px}.section.clients{padding-top:35px;padding-bottom:24px}.section-head h2{font-size:clamp(34px,9.2vw,52px)}.section-head>.eyebrow::before,.chapter>.eyebrow::before{width:14px;margin-right:9px}.client-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 7px}.client-logo{height:63px;padding:9px}.client-logo img{max-width:86px;max-height:40px}.band-running .client-logo{width:133px;flex-basis:133px;height:71px}.band-running .client-logo img{max-width:107px;max-height:47px}.band-running .client-group{gap:13px;padding-right:13px}.client-logo{border-radius:15px}.clients-viewport{margin-top:19px}.band-controls{margin-top:16px;gap:13px}.band-toggle{font-size:9px;padding:10px 15px;min-height:44px}.service-row{grid-template-columns:26px 1fr;gap:12px}.service-num{width:26px;height:26px;border-radius:8px;font-size:9px}.service-row h3{font-size:27px}.result-number{font-size:clamp(34px,9vw,58px)}.media,.portfolio-work .media{border-radius:25px}.design-motion-stack{gap:22px}.band-running .design-work{width:255px}.band-running .design-group{gap:18px;padding-right:18px}.design-group{gap:28px 13px}.design-work .design-media{border-radius:23px}.design-work figcaption{padding:14px 5px 2px}.design-work figcaption strong{font-size:12px}.design-work figcaption span{font-size:10px}.design-motion-stack .band-controls{margin-top:9px}.identity-work{border-radius:29px;padding:10px}.identity-work .identity-media{border-radius:21px}.identity-info{padding:5px 9px 12px;gap:10px;margin-top:18px}.identity-info h4{font-size:24px}.identity-info>span{width:38px;height:38px;flex-basis:38px;font-size:18px}.identity-info .eyebrow{font-size:8px}.identity-action{min-height:32px;padding:5px 10px;font-size:10px}.portfolio-work.identidad{border-radius:29px;padding:10px}.portfolio-work.identidad .media{border-radius:20px}.portfolio-work.identidad .project-info{padding:21px 9px 13px}.testimonial-group{grid-template-columns:1fr;row-gap:76px}.band-running .testimonial{width:calc(100vw - 81px);min-width:279px;max-width:330px;flex-basis:auto}.testimonial{border-radius:29px;min-height:440px;padding:72px 25px 26px}.testimonial blockquote{font-size:17px;line-height:1.8}.quote-mark{left:25px;top:38px;font-size:55px}.testimonial>.avatar{width:72px;height:72px;top:-36px;left:calc(50% - 36px);border-width:5px}.testimonial .rating{font-size:8px;margin-bottom:17px}.testimonial-author .author-name{font-size:12px}.testimonial-author p:last-child{font-size:10px}.testimonials .section-head{margin-bottom:38px}.testimonials-viewport{padding-top:43px;padding-left:0;padding-right:0}.band-running .testimonial-group{gap:20px;padding-right:20px}.contact h2{font-size:clamp(36px,9.6vw,60px)}.footer{padding-left:25px;padding-right:25px}.footer .brand img{width:125px}.quote-page{margin:12px 10px;border-radius:30px;min-height:calc(100svh - 98px)}.qbox{border-radius:26px}}
@media(max-width:380px){.hero h1{font-size:38px}.hero-description{font-size:11px}.hero .actions .button{font-size:10px;padding-left:15px;padding-right:12px;gap:11px}.hero .actions .text-link{font-size:9px}.nav .brand img{width:113px}.nav-cta{font-size:9px}.result-number{font-size:33px}.hero .eyebrow{font-size:7.5px}}
@media(prefers-reduced-motion:reduce){.band-track{transform:none!important}.band-viewport{overflow:visible;mask-image:none;-webkit-mask-image:none}.band-clone{display:none!important}[data-enter]{opacity:1!important;transform:none!important;clip-path:none!important}.band-controls{display:none}}
.no-js .band-controls{display:none}.no-js .band-viewport{overflow:visible;mask-image:none;-webkit-mask-image:none}.no-js .testimonial-group{row-gap:76px}
.band-running .band-viewport{touch-action:pan-y}.band-running .band-group{user-select:none}.band-running .client-logo{cursor:pointer}
.portfolio-work .photo-media,.portfolio-work .video-media,.project .video-media{margin-inline:auto}
.band-running img{pointer-events:none;user-select:none}

/* Ajustes aprobados · portada, proceso, precios y acciones de contacto. */
.client-logo[data-logo="5"]{padding-top:4px;padding-bottom:4px}.client-logo[data-logo="5"] img{width:auto;height:72px;max-height:72px;max-width:100%}
@media(max-width:700px){.client-logo[data-logo="5"] img{height:54px;max-height:54px}.band-running .client-logo[data-logo="5"] img{height:60px;max-height:60px}}
.plan-price,.result-amt{font-weight:650;font-variant-numeric:tabular-nums}.ritem-p{font-weight:700;font-variant-numeric:tabular-nums}
.process-grid{--process-gap:40px;gap:var(--process-gap)}.process-grid article{position:relative;border-top:0}.process-link{position:absolute;left:4px;top:0;width:calc(100% + var(--process-gap));height:1px;background:#454545;pointer-events:none}.process-fill{display:block;width:100%;height:100%;background:var(--yellow);opacity:.7;transform-origin:0 50%}.process-node{position:absolute;top:-3.5px;left:0;z-index:1;display:block;width:8px;height:8px;border-radius:50%;background:var(--yellow);pointer-events:none}
@keyframes ef-cta-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.js .cta-float{animation:ef-cta-float 4.8s ease-in-out infinite;animation-play-state:paused}.js .cta-float.is-floating{animation-play-state:running}.js .cta-float:hover,.js .cta-float:focus-visible{animation-play-state:paused}
@media(max-width:1000px){.process-grid{--process-gap:32px;grid-template-columns:1fr}.process-grid article{padding-left:28px;padding-top:0}.process-link{left:3.5px;top:0;width:1px;height:calc(100% + var(--process-gap))}.process-fill{transform-origin:50% 0}.process-node{top:0}.process-grid .eyebrow{margin-bottom:17px}}

/* Vector icons never use the operating system emoji font. */
.ui-icon{display:inline-block;width:1.1em;height:1.1em;flex-shrink:0;vertical-align:-.15em;overflow:visible;pointer-events:none}.nav-cta .ui-icon,.button .ui-icon,.identity-info .ui-icon{width:19px;height:19px}.round-button .ui-icon{width:22px;height:22px}.menu-toggle{display:none}.qback .ui-icon{margin-right:5px}.qnext .ui-icon{margin-left:5px}
@media(max-width:700px){
.nav{height:auto;min-height:62px;flex-wrap:wrap;border-radius:31px;align-content:center;padding:8px 15px;column-gap:12px;row-gap:0;transition:border-radius .25s ease,box-shadow .25s ease}
.nav .brand{flex-shrink:0}.nav .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-left:auto;min-height:44px;min-width:94px;padding:10px 15px;border:0;border-radius:25px;background:var(--ink);color:white;font-size:12px;font-weight:600}
.menu-toggle-lines{display:grid;gap:5px;width:16px}.menu-toggle-lines i{display:block;width:16px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s ease}.menu-toggle[aria-expanded=true] .menu-toggle-lines i:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-lines i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.nav nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:12px 0 5px}.nav .nav-link{display:flex;min-height:48px;padding:12px 17px;border-radius:22px;font-size:15px}.nav .nav-link:hover{background:rgba(25,25,25,.05);text-decoration:none}.nav .nav-cta{min-height:48px;justify-content:space-between;font-size:13px;padding:10px 17px;margin-top:3px}.nav.menu-enhanced nav{display:none}.nav.menu-enhanced.menu-open nav{display:flex;animation:mobile-menu-reveal .24s ease both}.nav.menu-open{box-shadow:0 16px 40px -20px rgba(25,25,25,.28);background:rgba(250,250,250,.97)}
.no-js .menu-toggle{display:none}.no-js .nav nav{display:flex}
}
@keyframes mobile-menu-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.nav.menu-enhanced.menu-open nav{animation:none}.menu-toggle-lines i,.nav{transition:none}}

/* Plan details transcribed from the supplied EF Agency plans document. */
.plan-card .plan-services{margin-top:22px}.plan-card .plan-service+.plan-service{margin-top:20px}.plan-card .plan-service-title{font-family:var(--body);font-size:11px;font-weight:700;line-height:1.6;letter-spacing:.02em}.plan-card .plan-service .plan-feats{border-top:0;margin:9px 0 0;padding:0 0 0 16px}.plan-card .plan-service .plan-feats li{padding-bottom:8px}.plan-card .plan-desc+.plan-desc{margin-top:6px}

/* Compact, native service disclosures keep plan selection independent. */
.plan-grid{align-items:start}.plan-card{display:flex;flex-direction:column;min-height:480px;cursor:default}.plan-card .plan-services{margin-top:22px;margin-bottom:auto}.plan-card .plan-service+.plan-service{margin-top:0}.plan-card .plan-service-title{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:10px 0;font-size:12px;font-weight:600;letter-spacing:0;list-style:none;cursor:pointer;user-select:none}.plan-card .plan-service-title::-webkit-details-marker{display:none}.plan-card .plan-service-title::marker{content:''}.plan-chevron{display:block;flex:0 0 18px;transition:transform .2s ease;color:#666}.plan-service[open]>.plan-service-title .plan-chevron{transform:rotate(180deg);color:var(--ink)}.plan-card .plan-service .plan-feats{margin:2px 0 12px;padding-left:16px}.plan-service[open]>.plan-feats{animation:plan-details-in .2s ease-out}.plan-select{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:24px;padding:11px 16px;border:1px solid var(--line);border-radius:100px;background:transparent;color:var(--ink);font-size:12px;font-weight:600;transition:background .18s,border-color .18s}.plan-select:hover{border-color:var(--ink);background:rgba(25,25,25,.04)}.plan-select[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.plan-card.sel .plan-select:hover{background:var(--ink)}
@keyframes plan-details-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.plan-card{min-height:0}.plan-card .plan-service-title{font-size:12px;min-height:48px}.plan-card .plan-services{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.plan-chevron,.plan-select{transition:none}.plan-service[open]>.plan-feats{animation:none}}
